#ifndef WIN32_LEAN_AND_MEAN #define WIN32_LEAN_AND_MEAN #endif #undef __CRT__NO_INLINE #define __CRT__NO_INLINE #include #include struct addrinfo * WINAPI WspiapiNewAddrInfo (int iSocketType, int iProtocol, WORD wPort, DWORD dwAddress) { struct addrinfo *n; struct sockaddr_in *pa; if ((n = (struct addrinfo *) WspiapiMalloc (sizeof (struct addrinfo))) == NULL) return NULL; if ((pa = (struct sockaddr_in *) WspiapiMalloc (sizeof(struct sockaddr_in))) == NULL) { WspiapiFree(n); return NULL; } pa->sin_family = AF_INET; pa->sin_port = wPort; pa->sin_addr.s_addr = dwAddress; n->ai_family = PF_INET; n->ai_socktype = iSocketType; n->ai_protocol = iProtocol; n->ai_addrlen = sizeof (struct sockaddr_in); n->ai_addr = (struct sockaddr *) pa; return n; }