File:  [Qemu by Fabrice Bellard] / qemu / qemu_socket.h
Revision 1.1.1.9 (vendor branch): download - view: text, annotated - select for diffs
Tue Apr 24 18:56:51 2018 UTC (3 years, 1 month ago) by root
Branches: qemu, MAIN
CVS tags: qemu1000, qemu0151, HEAD
qemu 0.15.1

    1: /* headers to use the BSD sockets */
    2: #ifndef QEMU_SOCKET_H
    3: #define QEMU_SOCKET_H
    4: 
    5: #ifdef _WIN32
    6: #include <windows.h>
    7: #include <winsock2.h>
    8: #include <ws2tcpip.h>
    9: 
   10: #define socket_error() WSAGetLastError()
   11: #undef EINTR
   12: #define EWOULDBLOCK WSAEWOULDBLOCK
   13: #define EINTR       WSAEINTR
   14: #define EINPROGRESS WSAEINPROGRESS
   15: 
   16: int inet_aton(const char *cp, struct in_addr *ia);
   17: 
   18: #else
   19: 
   20: #include <sys/types.h>
   21: #include <sys/socket.h>
   22: #include <netinet/in.h>
   23: #include <netinet/tcp.h>
   24: #include <arpa/inet.h>
   25: #include <netdb.h>
   26: #include <sys/un.h>
   27: 
   28: #define socket_error() errno
   29: #define closesocket(s) close(s)
   30: 
   31: #endif /* !_WIN32 */
   32: 
   33: #include "qemu-option.h"
   34: 
   35: /* misc helpers */
   36: int qemu_socket(int domain, int type, int protocol);
   37: int qemu_accept(int s, struct sockaddr *addr, socklen_t *addrlen);
   38: void socket_set_nonblock(int fd);
   39: int send_all(int fd, const void *buf, int len1);
   40: 
   41: /* New, ipv6-ready socket helper functions, see qemu-sockets.c */
   42: int inet_listen_opts(QemuOpts *opts, int port_offset);
   43: int inet_listen(const char *str, char *ostr, int olen,
   44:                 int socktype, int port_offset);
   45: int inet_connect_opts(QemuOpts *opts);
   46: int inet_connect(const char *str, int socktype);
   47: int inet_dgram_opts(QemuOpts *opts);
   48: const char *inet_strfamily(int family);
   49: 
   50: int unix_listen_opts(QemuOpts *opts);
   51: int unix_listen(const char *path, char *ostr, int olen);
   52: int unix_connect_opts(QemuOpts *opts);
   53: int unix_connect(const char *path);
   54: 
   55: /* Old, ipv4 only bits.  Don't use for new code. */
   56: int parse_host_port(struct sockaddr_in *saddr, const char *str);
   57: int socket_init(void);
   58: 
   59: #endif /* QEMU_SOCKET_H */

unix.superglobalmegacorp.com