struct protoent * win32_getprotobynumber(int num) { struct protoent *r; SOCKET_TEST(r = getprotobynumber(num), NULL); return r; }
struct protoent * win32_getprotobyname(const char *name) { struct protoent *r; SOCKET_TEST(r = getprotobyname(name), NULL); return r; }
struct hostent * win32_gethostbyname(const char *name) { struct hostent *r; SOCKET_TEST(r = gethostbyname(name), NULL); return r; }
struct hostent * win32_gethostbyaddr(const char *addr, int len, int type) { struct hostent *r; SOCKET_TEST(r = gethostbyaddr(addr, len, type), NULL); return r; }
SOCKET win32_accept(SOCKET s, struct sockaddr *addr, int *addrlen) { SOCKET r; SOCKET_TEST((r = accept(TO_SOCKET(s), addr, addrlen)), INVALID_SOCKET); return OPEN_SOCKET(r); }
struct servent * win32_getservbyport(int port, const char *proto) { dTHX; struct servent *r; SOCKET_TEST(r = getservbyport(port, proto), NULL); if (r) { r = win32_savecopyservent(&w32_servent, r, proto); } return r; }
struct servent * win32_getservbyname(const char *name, const char *proto) { dTHX; struct servent *r; SOCKET_TEST(r = getservbyname(name, proto), NULL); if (r) { r = win32_savecopyservent(&w32_servent, r, proto); } return r; }
SOCKET win32_socket(int af, int type, int protocol) { SOCKET s; #ifndef USE_SOCKETS_AS_HANDLES SOCKET_TEST(s = socket(af, type, protocol), INVALID_SOCKET); #else StartSockets(); if((s = socket(af, type, protocol)) == INVALID_SOCKET) errno = WSAGetLastError(); else s = OPEN_SOCKET(s); #endif /* USE_SOCKETS_AS_HANDLES */ return s; }