libpurple/protocols/gg/lib/network.h

branch
release-2.x.y
changeset 35627
fd11790cc4d6
parent 35617
c9069e0e3c36
child 35656
d1b25cb7efa7
equal deleted inserted replaced
35625:783e5cce1a46 35627:fd11790cc4d6
73 int gg_win32_recv(int sockfd, void *buf, size_t len, int flags); 73 int gg_win32_recv(int sockfd, void *buf, size_t len, int flags);
74 int gg_win32_send(int sockfd, const void *buf, size_t len, int flags); 74 int gg_win32_send(int sockfd, const void *buf, size_t len, int flags);
75 int gg_win32_setsockopt(int sockfd, int level, int optname, const void *optval, socklen_t optlen); 75 int gg_win32_setsockopt(int sockfd, int level, int optname, const void *optval, socklen_t optlen);
76 int gg_win32_socket(int domain, int type, int protocol); 76 int gg_win32_socket(int domain, int type, int protocol);
77 int gg_win32_socketpair(int sv[2]); 77 int gg_win32_socketpair(int sv[2]);
78
79 static inline void gg_win32_init_network(void)
80 {
81 WSADATA wsaData;
82
83 if (WSAStartup(MAKEWORD(2, 2), &wsaData) != 0) {
84 perror("WSAStartup");
85 exit(1);
86 }
87 }
88
78 #else 89 #else
79 # include <sys/ioctl.h> 90 # include <sys/ioctl.h>
80 # include <sys/types.h> 91 # include <sys/types.h>
81 # include <sys/socket.h> 92 # include <sys/socket.h>
82 # include <netinet/in.h> 93 # include <netinet/in.h>
90 101
91 #ifndef INADDR_NONE 102 #ifndef INADDR_NONE
92 # define INADDR_NONE ((in_addr_t) 0xffffffff) 103 # define INADDR_NONE ((in_addr_t) 0xffffffff)
93 #endif 104 #endif
94 105
106 static inline int gg_fd_set_nonblocking(int fd)
107 {
108 int success;
109 #ifdef FIONBIO
110 int one = 1;
111 success = (ioctl(fd, FIONBIO, &one) == 0);
112 #else
113 success = (fcntl(fd, F_SETFL, O_NONBLOCK) == 0);
114 #endif
115
116 return success;
117 }
118
95 #endif /* LIBGADU_NETWORK_H */ 119 #endif /* LIBGADU_NETWORK_H */

mercurial