On Wed, Mar 5, 2008 at 6:28 PM, Christopher Harvey arbuckle911@gmail.com wrote:
I'm giving the mswsock.c file some development time. I need to know if the winsock API has been inited. This has already been implemented, but I need to get access to the num_startup variable from the mswsock.c file. I hacked a bit and got it, but hesitate to continue because I don't know if I changed it in the proper way to get access. If this change is fine please accept it. if not please advise on the proper way to see if winsock has been inited or not, from the mswsock.c file.
Thanks.
diff --git a/dlls/mswsock/mswsock.c b/dlls/mswsock/mswsock.c index d283405..7f339c0 100644 --- a/dlls/mswsock/mswsock.c +++ b/dlls/mswsock/mswsock.c @@ -62,9 +62,10 @@ BOOL WINAPI AcceptEx( operation */ { FIXME("(listen=%ld, accept=%ld, %p, %d, %d, %d, %p, %p), not implemented\n",
sListenSocket,sAcceptSocket,lpOutputBuffer,dwReceiveDataLength,
dwLocalAddressLength,dwRemoteAddressLength,lpdwBytesReceived,lpOverlapped
- );
sListenSocket,sAcceptSocket,lpOutputBuffer,dwReceiveDataLength,
dwLocalAddressLength,dwRemoteAddressLength,lpdwBytesReceived,lpOverlapped
);
- //get_num_startup(); Use this to see if Winsock has been inited yet or not return FALSE;
}
diff --git a/dlls/ws2_32/socket.c b/dlls/ws2_32/socket.c index 502f309..03030a2 100644 --- a/dlls/ws2_32/socket.c +++ b/dlls/ws2_32/socket.c @@ -5021,3 +5021,8 @@ INT WINAPI WSCWriteProviderOrder( LPDWORD entry, DWORD number ) FIXME("(%p 0x%08x) Stub!\n", entry, number); return 0; }
+INT get_num_startup() +{
- return num_startup;
+} diff --git a/include/winsock2.h b/include/winsock2.h index a302331..dcca0e7 100644 --- a/include/winsock2.h +++ b/include/winsock2.h @@ -728,6 +728,7 @@ typedef INT (WINAPI *LPFN_WSASTRINGTOADDRESSW)(LPSTR,INT,LPWSAPROTOCOL_INFOA,LPS typedef DWORD (WINAPI *LPFN_WSAWAITFORMULTIPLEEVENTS)(DWORD,const WSAEVENT*,BOOL,DWORD,BOOL); #endif /* WS_API_TYPEDEFS */
+typedef INT get_num_startup();
/* Condition function return values */ #define CF_ACCEPT 0x0000
Are you seriously asking if adding a hack to a public header in order to read a global variable from another dll is acceptable? That pretty much sums up the answer.