File:  [Qemu by Fabrice Bellard] / qemu / qemu_socket.h
Revision 1.1.1.11 (vendor branch): download - view: text, annotated - select for diffs
Tue Apr 24 19:35:21 2018 UTC (3 years, 5 months ago) by root
Branches: qemu, MAIN
CVS tags: qemu1101, HEAD
qemu 1.1.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: 
   12: int inet_aton(const char *cp, struct in_addr *ia);
   13: 
   14: #else
   15: 
   16: #include <sys/types.h>
   17: #include <sys/socket.h>
   18: #include <netinet/in.h>
   19: #include <netinet/tcp.h>
   20: #include <arpa/inet.h>
   21: #include <netdb.h>
   22: #include <sys/un.h>
   23: 
   24: #define socket_error() errno
   25: #define closesocket(s) close(s)
   26: 
   27: #endif /* !_WIN32 */
   28: 
   29: #include "qemu-option.h"
   30: #include "error.h"
   31: #include "qerror.h"
   32: 
   33: /* misc helpers */
   34: int qemu_socket(int domain, int type, int protocol);
   35: int qemu_accept(int s, struct sockaddr *addr, socklen_t *addrlen);
   36: int socket_set_cork(int fd, int v);
   37: void socket_set_block(int fd);
   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, Error **errp);
   43: int inet_listen(const char *str, char *ostr, int olen,
   44:                 int socktype, int port_offset, Error **errp);
   45: int inet_connect_opts(QemuOpts *opts, Error **errp);
   46: int inet_connect(const char *str, bool block, Error **errp);
   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