8 use vars qw(@ISA @EXPORT @EXPORT_OK);
14 my $module_declarations = {
15 "accept" => ["long", ["long", "ptr", "ptr"]],
16 "bind" => ["long", ["long", "ptr", "long"]],
17 "closesocket" => ["long", ["long"]],
18 "connect" => ["long", ["long", "ptr", "long"]],
19 "getpeername" => ["long", ["long", "ptr", "ptr"]],
20 "getsockname" => ["long", ["long", "ptr", "ptr"]],
21 "getsockopt" => ["long", ["long", "long", "long", "ptr", "ptr"]],
22 "htonl" => ["long", ["long"]],
23 "htons" => ["long", ["long"]],
24 "ioctlsocket" => ["long", ["long", "long", "ptr"]],
25 "inet_addr" => ["long", ["ptr"]],
26 "inet_ntoa" => ["ptr", ["unknown"]],
27 "listen" => ["long", ["long", "long"]],
28 "ntohl" => ["long", ["long"]],
29 "ntohs" => ["long", ["long"]],
30 "recv" => ["long", ["long", "ptr", "long", "long"]],
31 "recvfrom" => ["long", ["long", "ptr", "long", "long", "ptr", "ptr"]],
32 "select" => ["long", ["long", "ptr", "ptr", "ptr", "ptr"]],
33 "send" => ["long", ["long", "ptr", "long", "long"]],
34 "sendto" => ["long", ["long", "ptr", "long", "long", "ptr", "long"]],
35 "setsockopt" => ["long", ["long", "long", "long", "ptr", "long"]],
36 "shutdown" => ["long", ["long", "long"]],
37 "socket" => ["long", ["long", "long", "long"]],
38 "WSApSetPostRoutine" => ["long", ["ptr"]],
39 "WSAAccept" => ["long", ["long", "ptr", "ptr", "ptr", "long"]],
40 "WSACloseEvent" => ["long", ["long"]],
41 "WSACreateEvent" => ["long", []],
42 "WSAEnumNetworkEvents" => ["long", ["long", "long", "ptr"]],
43 "WSAEventSelect" => ["long", ["long", "long", "long"]],
44 "gethostbyaddr" => ["ptr", ["ptr", "long", "long"]],
45 "gethostbyname" => ["ptr", ["ptr"]],
46 "getprotobyname" => ["ptr", ["ptr"]],
47 "getprotobynumber" => ["ptr", ["long"]],
48 "getservbyname" => ["ptr", ["ptr", "ptr"]],
49 "getservbyport" => ["ptr", ["long", "ptr"]],
50 "gethostname" => ["long", ["ptr", "long"]],
51 "WSARecvFrom" => ["long", ["long", "ptr", "long", "ptr", "ptr", "ptr", "ptr", "ptr", "ptr"]],
52 "WSASend" => ["long", ["long", "ptr", "long", "ptr", "long", "ptr", "ptr"]],
53 "WSASocketA" => ["long", ["long", "long", "long", "ptr", "long", "long"]],
54 "WSCDeinstallProvider" => ["long", ["ptr", "ptr"]],
55 "WSCInstallProvider" => ["long", ["ptr", "wstr", "ptr", "long", "ptr"]],
56 "WSAAsyncSelect" => ["long", ["long", "long", "long", "long"]],
57 "WSAAsyncGetHostByAddr" => ["long", ["long", "long", "str", "long", "long", "str", "long"]],
58 "WSAAsyncGetHostByName" => ["long", ["long", "long", "str", "str", "long"]],
59 "WSAAsyncGetProtoByNumber" => ["long", ["long", "long", "long", "str", "long"]],
60 "WSAAsyncGetProtoByName" => ["long", ["long", "long", "str", "str", "long"]],
61 "WSAAsyncGetServByPort" => ["long", ["long", "long", "long", "str", "str", "long"]],
62 "WSAAsyncGetServByName" => ["long", ["long", "long", "str", "str", "str", "long"]],
63 "WSACancelAsyncRequest" => ["long", ["long"]],
64 "WSASetBlockingHook" => ["ptr", ["ptr"]],
65 "WSAGetLastError" => ["long", []],
66 "WSASetLastError" => ["void", ["long"]],
67 "WSACancelBlockingCall" => ["long", []],
68 "WSAIsBlocking" => ["long", []],
69 "WSAStartup" => ["long", ["long", "ptr"]],
70 "WSACleanup" => ["long", []],
71 "__WSAFDIsSet" => ["long", ["long", "ptr"]]
74 &wine::declare("ws2_32",%$module_declarations);
75 push @EXPORT, map { "&" . $_; } sort(keys(%$module_declarations));