X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=qemu_socket.h;h=180e4dbd9b5bebe927fb624f8463d384bd3adc24;hb=5a82362ad0bf06bba3377d63ca0ecd05fb74f322;hp=18488ddc61c545e64181c860a37b64533c811e0e;hpb=0e82f34d077dc254249edea9262174b1d3b44a01;p=qemu.git diff --git a/qemu_socket.h b/qemu_socket.h index 18488ddc6..180e4dbd9 100644 --- a/qemu_socket.h +++ b/qemu_socket.h @@ -3,7 +3,6 @@ #define QEMU_SOCKET_H #ifdef _WIN32 -#define WIN32_LEAN_AND_MEAN #include #include #include @@ -18,6 +17,7 @@ int inet_aton(const char *cp, struct in_addr *ia); #else +#include #include #include #include @@ -28,15 +28,32 @@ int inet_aton(const char *cp, struct in_addr *ia); #define socket_error() errno #define closesocket(s) close(s) -int parse_unix_path(struct sockaddr_un *uaddr, const char *str); - #endif /* !_WIN32 */ +#include "qemu-option.h" + +/* misc helpers */ +int qemu_socket(int domain, int type, int protocol); +int qemu_accept(int s, struct sockaddr *addr, socklen_t *addrlen); void socket_set_nonblock(int fd); +int send_all(int fd, const void *buf, int len1); + +/* New, ipv6-ready socket helper functions, see qemu-sockets.c */ +int inet_listen_opts(QemuOpts *opts, int port_offset); +int inet_listen(const char *str, char *ostr, int olen, + int socktype, int port_offset); +int inet_connect_opts(QemuOpts *opts); +int inet_connect(const char *str, int socktype); +int inet_dgram_opts(QemuOpts *opts); +const char *inet_strfamily(int family); + +int unix_listen_opts(QemuOpts *opts); +int unix_listen(const char *path, char *ostr, int olen); +int unix_connect_opts(QemuOpts *opts); +int unix_connect(const char *path); + +/* Old, ipv4 only bits. Don't use for new code. */ int parse_host_port(struct sockaddr_in *saddr, const char *str); -int parse_host_src_port(struct sockaddr_in *haddr, - struct sockaddr_in *saddr, - const char *str); -int send_all(int fd, const uint8_t *buf, int len1); +int socket_init(void); #endif /* QEMU_SOCKET_H */