1
/* Copyright (c) 2008 Twisted Matrix Laboratories.
2
* See LICENSE for details.
11
#ifndef WSAID_CONNECTEX
12
#define WSAID_CONNECTEX {0x25a207b9,0xddf3,0x4660,{0x8e,0xe9,0x76,0xe5,0x8c,0x74,0x06,0x3e}}
14
#ifndef WSAID_GETACCEPTEXSOCKADDRS
15
#define WSAID_GETACCEPTEXSOCKADDRS {0xb5367df2,0xcbac,0x11cf,{0x95,0xca,0x00,0x80,0x5f,0x48,0xa1,0x92}}
17
#ifndef WSAID_ACCEPTEX
18
#define WSAID_ACCEPTEX {0xb5367df1,0xcbac,0x11cf,{0x95,0xca,0x00,0x80,0x5f,0x48,0xa1,0x92}}
20
/*#ifndef WSAID_TRANSMITFILE
21
#define WSAID_TRANSMITFILE {0xb5367df0,0xcbac,0x11cf,{0x95,0xca,0x00,0x80,0x5f,0x48,0xa1,0x92}}
25
void *lpAcceptEx, *lpGetAcceptExSockaddrs, *lpConnectEx, *lpTransmitFile;
27
int initPointer(SOCKET s, void **fun, GUID guid) {
32
res = WSAIoctl(s, SIO_GET_EXTENSION_FUNCTION_POINTER,
39
int initWinsockPointers() {
40
SOCKET s = socket(AF_INET, SOCK_STREAM, 0);
42
GUID guid1 = WSAID_ACCEPTEX;
43
GUID guid2 = WSAID_GETACCEPTEXSOCKADDRS;
44
GUID guid3 = WSAID_CONNECTEX;
45
/*GUID guid4 = WSAID_TRANSMITFILE;*/
49
if (!initPointer(s, &lpAcceptEx, guid1))
53
if (!initPointer(s, &lpGetAcceptExSockaddrs, guid2)) {
56
if (!initPointer(s, &lpConnectEx, guid3)) {
59
/*initPointer(s, &lpTransmitFile, guid4);*/