diff options
Diffstat (limited to 'src/win32_compatibility.cpp')
| -rw-r--r-- | src/win32_compatibility.cpp | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/src/win32_compatibility.cpp b/src/win32_compatibility.cpp index 0ef3abc..083925b 100644 --- a/src/win32_compatibility.cpp +++ b/src/win32_compatibility.cpp | |||
| @@ -2,6 +2,59 @@ | |||
| 2 | 2 | ||
| 3 | #ifdef WIN32 | 3 | #ifdef WIN32 |
| 4 | 4 | ||
| 5 | typedef int (__cdecl *FNDEF_DYN_WSAStartup)(WORD,LPWSADATA); | ||
| 6 | int DynamicWinsock2::WSAStartup( | ||
| 7 | WORD wVersionRequested,LPWSADATA lpWSAData) | ||
| 8 | { | ||
| 9 | int out=0; | ||
| 10 | HINSTANCE Ws2_32 = LoadLibrary(TEXT("WS2_32.DLL")); | ||
| 11 | printf("ws2_32 dll: %08x\n", (int) Ws2_32); | ||
| 12 | if( Ws2_32 != NULL ) | ||
| 13 | { | ||
| 14 | FNDEF_DYN_WSAStartup fn = (FNDEF_DYN_WSAStartup) | ||
| 15 | GetProcAddress( Ws2_32, "WSAStartup" ); | ||
| 16 | printf("WSAStartup function pointer: %08x\n", (int)fn); | ||
| 17 | if( fn != NULL ) | ||
| 18 | out = (fn)(wVersionRequested,lpWSAData); | ||
| 19 | } | ||
| 20 | return out; | ||
| 21 | } | ||
| 22 | |||
| 23 | typedef int (__cdecl *FNDEF_DYN_WSACleanup)(); | ||
| 24 | int DynamicWinsock2::WSACleanup() | ||
| 25 | { | ||
| 26 | int out=0; | ||
| 27 | HINSTANCE Ws2_32 = LoadLibrary(TEXT("WS2_32.DLL")); | ||
| 28 | printf("ws2_32 dll: %08x\n", (int) Ws2_32); | ||
| 29 | if( Ws2_32 != NULL ) | ||
| 30 | { | ||
| 31 | FNDEF_DYN_WSACleanup fn = (FNDEF_DYN_WSACleanup) | ||
| 32 | GetProcAddress( Ws2_32, "WSACleanup" ); | ||
| 33 | printf("WSACleanup function pointer: %08x\n", (int)fn); | ||
| 34 | if( fn != NULL ) | ||
| 35 | out = (fn)(); | ||
| 36 | } | ||
| 37 | return out; | ||
| 38 | } | ||
| 39 | |||
| 40 | //typedef char * (__cdecl *FNDEF_DYN_gai_strerrorA)( int ecode ); | ||
| 41 | typedef int (__cdecl *FNDEF_DYN_WSAGetLastError)(void); | ||
| 42 | int DynamicWinsock2::WSAGetLastError() | ||
| 43 | { | ||
| 44 | int out=0; | ||
| 45 | HINSTANCE Ws2_32 = LoadLibrary(TEXT("WS2_32.DLL")); | ||
| 46 | printf("ws2_32 dll: %08x\n", (int) Ws2_32); | ||
| 47 | if( Ws2_32 != NULL ) | ||
| 48 | { | ||
| 49 | FNDEF_DYN_WSAGetLastError fn = (FNDEF_DYN_WSAGetLastError) | ||
| 50 | GetProcAddress( Ws2_32, "WSAGetLastError" ); | ||
| 51 | printf("WSAGetLastError function pointer: %08x\n", (int)fn); | ||
| 52 | if( fn != NULL ) | ||
| 53 | out = (fn)(); | ||
| 54 | } | ||
| 55 | return out; | ||
| 56 | } | ||
| 57 | |||
| 5 | typedef char * (__cdecl *FNDEF_DYN_inet_ntoa)( struct in_addr ); | 58 | typedef char * (__cdecl *FNDEF_DYN_inet_ntoa)( struct in_addr ); |
| 6 | void DynamicWinsock2::inet_ntoa( Bu::FString &out, struct in_addr addr_in ) | 59 | void DynamicWinsock2::inet_ntoa( Bu::FString &out, struct in_addr addr_in ) |
| 7 | { | 60 | { |
