77 lines
3.5 KiB
Perl
77 lines
3.5 KiB
Perl
package ws2_32;
|
|
|
|
use strict;
|
|
|
|
require Exporter;
|
|
|
|
use wine;
|
|
use vars qw(@ISA @EXPORT @EXPORT_OK);
|
|
|
|
@ISA = qw(Exporter);
|
|
@EXPORT = qw();
|
|
@EXPORT_OK = qw();
|
|
|
|
my $module_declarations = {
|
|
"accept" => ["long", ["long", "ptr", "ptr"]],
|
|
"bind" => ["long", ["long", "ptr", "long"]],
|
|
"closesocket" => ["long", ["long"]],
|
|
"connect" => ["long", ["long", "ptr", "long"]],
|
|
"getpeername" => ["long", ["long", "ptr", "ptr"]],
|
|
"getsockname" => ["long", ["long", "ptr", "ptr"]],
|
|
"getsockopt" => ["long", ["long", "long", "long", "ptr", "ptr"]],
|
|
"htonl" => ["long", ["long"]],
|
|
"htons" => ["long", ["long"]],
|
|
"ioctlsocket" => ["long", ["long", "long", "ptr"]],
|
|
"inet_addr" => ["long", ["ptr"]],
|
|
"inet_ntoa" => ["ptr", ["unknown"]],
|
|
"listen" => ["long", ["long", "long"]],
|
|
"ntohl" => ["long", ["long"]],
|
|
"ntohs" => ["long", ["long"]],
|
|
"recv" => ["long", ["long", "ptr", "long", "long"]],
|
|
"recvfrom" => ["long", ["long", "ptr", "long", "long", "ptr", "ptr"]],
|
|
"select" => ["long", ["long", "ptr", "ptr", "ptr", "ptr"]],
|
|
"send" => ["long", ["long", "ptr", "long", "long"]],
|
|
"sendto" => ["long", ["long", "ptr", "long", "long", "ptr", "long"]],
|
|
"setsockopt" => ["long", ["long", "long", "long", "ptr", "long"]],
|
|
"shutdown" => ["long", ["long", "long"]],
|
|
"socket" => ["long", ["long", "long", "long"]],
|
|
"WSApSetPostRoutine" => ["long", ["ptr"]],
|
|
"WSAAccept" => ["long", ["long", "ptr", "ptr", "ptr", "long"]],
|
|
"WSACloseEvent" => ["long", ["long"]],
|
|
"WSACreateEvent" => ["long", []],
|
|
"WSAEnumNetworkEvents" => ["long", ["long", "long", "ptr"]],
|
|
"WSAEventSelect" => ["long", ["long", "long", "long"]],
|
|
"gethostbyaddr" => ["ptr", ["ptr", "long", "long"]],
|
|
"gethostbyname" => ["ptr", ["ptr"]],
|
|
"getprotobyname" => ["ptr", ["ptr"]],
|
|
"getprotobynumber" => ["ptr", ["long"]],
|
|
"getservbyname" => ["ptr", ["ptr", "ptr"]],
|
|
"getservbyport" => ["ptr", ["long", "ptr"]],
|
|
"gethostname" => ["long", ["ptr", "long"]],
|
|
"WSARecvFrom" => ["long", ["long", "ptr", "long", "ptr", "ptr", "ptr", "ptr", "ptr", "ptr"]],
|
|
"WSASend" => ["long", ["long", "ptr", "long", "ptr", "long", "ptr", "ptr"]],
|
|
"WSASocketA" => ["long", ["long", "long", "long", "ptr", "long", "long"]],
|
|
"WSCDeinstallProvider" => ["long", ["ptr", "ptr"]],
|
|
"WSCInstallProvider" => ["long", ["ptr", "wstr", "ptr", "long", "ptr"]],
|
|
"WSAAsyncSelect" => ["long", ["long", "long", "long", "long"]],
|
|
"WSAAsyncGetHostByAddr" => ["long", ["long", "long", "str", "long", "long", "str", "long"]],
|
|
"WSAAsyncGetHostByName" => ["long", ["long", "long", "str", "str", "long"]],
|
|
"WSAAsyncGetProtoByNumber" => ["long", ["long", "long", "long", "str", "long"]],
|
|
"WSAAsyncGetProtoByName" => ["long", ["long", "long", "str", "str", "long"]],
|
|
"WSAAsyncGetServByPort" => ["long", ["long", "long", "long", "str", "str", "long"]],
|
|
"WSAAsyncGetServByName" => ["long", ["long", "long", "str", "str", "str", "long"]],
|
|
"WSACancelAsyncRequest" => ["long", ["long"]],
|
|
"WSASetBlockingHook" => ["ptr", ["ptr"]],
|
|
"WSAGetLastError" => ["long", []],
|
|
"WSASetLastError" => ["void", ["long"]],
|
|
"WSACancelBlockingCall" => ["long", []],
|
|
"WSAIsBlocking" => ["long", []],
|
|
"WSAStartup" => ["long", ["long", "ptr"]],
|
|
"WSACleanup" => ["long", []],
|
|
"__WSAFDIsSet" => ["long", ["long", "ptr"]]
|
|
};
|
|
|
|
&wine::declare("ws2_32",%$module_declarations);
|
|
push @EXPORT, map { "&" . $_; } sort(keys(%$module_declarations));
|
|
1;
|