diff --git a/rtl/win32/wininc/ascdef.inc b/rtl/win32/wininc/ascdef.inc index 8c354b5ede..6289647243 100644 --- a/rtl/win32/wininc/ascdef.inc +++ b/rtl/win32/wininc/ascdef.inc @@ -446,6 +446,7 @@ function ExtractIcon(_para1:HINST; _para2:Pchar; _para3:cardinal):HICON;external function FindExecutable(_para1:pchar; _para2:pchar;_para3:pchar):HINST; external 'shell32' name 'FindExecutableA'; function ShellAbout(_para1:HWND; _para2:pchar; _para3:pchar;_para4:HICON):longint; external 'shell32' name 'ShellAboutA'; function ShellExecute(_para1:HWND; _para2:pchar; _para3:pchar;_para4:pchar; _para5:pchar;_para6:longint):HINST; external 'shell32' name 'ShellExecuteA'; +function Shell_NotifyIcon(dwMessage: DWORD; lpData: PNotifyIconDataA): BOOL; external 'shell32' name 'Shell_NotifyIconA'; function DdeCreateStringHandle(_para1:DWORD; _para2:pchar;_para3:longint):HSZ; external 'user32' name 'DdeCreateStringHandleA'; function DdeInitialize(_para1:LPDWORD; _para2:PFNCALLBACK; _para3:DWORD; _para4:DWORD):UINT;external 'user32' name 'DdeInitializeA'; function DdeQueryString(_para1:DWORD; _para2:HSZ; _para3:pchar;_para4:DWORD; _para5:longint):DWORD; external 'user32' name 'DdeQueryStringA'; @@ -487,7 +488,10 @@ end; { $Log$ - Revision 1.3 2000-10-11 16:05:55 peter + Revision 1.4 2002-01-19 11:58:20 peter + * more functions from webbugs + + Revision 1.3 2000/10/11 16:05:55 peter * stdcall for callbacks (merged) Revision 1.2 2000/07/13 11:33:58 michael diff --git a/rtl/win32/wininc/ascfun.inc b/rtl/win32/wininc/ascfun.inc index cb030b22d5..af630db46e 100644 --- a/rtl/win32/wininc/ascfun.inc +++ b/rtl/win32/wininc/ascfun.inc @@ -447,6 +447,7 @@ function ExtractIconA(_para1:HINST; _para2:Pchar; _para3:cardinal):HICON;externa function FindExecutableA(_para1:pchar; _para2:pchar;_para3:pchar):HINST; external 'shell32' name 'FindExecutableA'; function ShellAboutA(_para1:HWND; _para2:pchar; _para3:pchar;_para4:HICON):longint; external 'shell32' name 'ShellAboutA'; function ShellExecuteA(_para1:HWND; _para2:pchar; _para3:pchar;_para4:pchar; _para5:pchar;_para6:longint):HINST; external 'shell32' name 'ShellExecuteA'; +function Shell_NotifyIconA(dwMessage: DWORD; lpData: PNotifyIconDataA): BOOL; external 'shell32' name 'Shell_NotifyIconA'; function DdeCreateStringHandleA(_para1:DWORD; _para2:pchar;_para3:longint):HSZ; external 'user32' name 'DdeCreateStringHandleA'; function DdeInitializeA(_para1:LPDWORD; _para2:PFNCALLBACK; _para3:DWORD; _para4:DWORD):UINT;external 'user32' name 'DdeInitializeA'; function DdeQueryStringA(_para1:DWORD; _para2:HSZ; _para3:pchar;_para4:DWORD; _para5:longint):DWORD; external 'user32' name 'DdeQueryStringA'; @@ -488,7 +489,10 @@ end; { $Log$ - Revision 1.3 2000-10-11 16:05:56 peter + Revision 1.4 2002-01-19 11:58:20 peter + * more functions from webbugs + + Revision 1.3 2000/10/11 16:05:56 peter * stdcall for callbacks (merged) Revision 1.2 2000/07/13 11:33:58 michael diff --git a/rtl/win32/wininc/func.inc b/rtl/win32/wininc/func.inc index ef26fdd4b8..3f8d1f0eb0 100644 --- a/rtl/win32/wininc/func.inc +++ b/rtl/win32/wininc/func.inc @@ -156,7 +156,7 @@ function PulseEvent(hEvent:HANDLE):WINBOOL; external 'kernel32' name 'PulseEvent function ReleaseSemaphore(hSemaphore:HANDLE; lReleaseCount:LONG; lpPreviousCount:LPLONG):WINBOOL; external 'kernel32' name 'ReleaseSemaphore'; function ReleaseMutex(hMutex:HANDLE):WINBOOL; external 'kernel32' name 'ReleaseMutex'; function WaitForSingleObject(hHandle:HANDLE; dwMilliseconds:DWORD):DWORD; external 'kernel32' name 'WaitForSingleObject'; -function WaitForMultipleObjects(nCount:DWORD; var lpHandles:HANDLE; bWaitAll:WINBOOL; dwMilliseconds:DWORD):DWORD; external 'kernel32' name 'WaitForMultipleObjects'; +function WaitForMultipleObjects(nCount:DWORD; lpHandles : PWOHandleArray; bWaitAll:WINBOOL; dwMilliseconds:DWORD):DWORD; external 'kernel32' name 'WaitForMultipleObjects'; procedure Sleep(dwMilliseconds:DWORD); external 'kernel32' name 'Sleep'; function LoadResource(hModule:HINST; hResInfo:HRSRC):HGLOBAL; external 'kernel32' name 'LoadResource'; function SizeofResource(hModule:HINST; hResInfo:HRSRC):DWORD; external 'kernel32' name 'SizeofResource'; @@ -2226,7 +2226,10 @@ end; { $Log$ - Revision 1.5 2001-06-13 18:32:55 peter + Revision 1.6 2002-01-19 11:58:20 peter + * more functions from webbugs + + Revision 1.5 2001/06/13 18:32:55 peter * fixed crash within donevideo (merged) Revision 1.4 2001/02/09 23:08:31 peter diff --git a/rtl/win32/wininc/struct.inc b/rtl/win32/wininc/struct.inc index ed0b54d8bb..31e780ee94 100644 --- a/rtl/win32/wininc/struct.inc +++ b/rtl/win32/wininc/struct.inc @@ -746,7 +746,7 @@ DCB = record DCBlength : DWORD; BaudRate : DWORD; - flag0 : DWORD; + flags : DWORD; wReserved : WORD; XonLim : WORD; XoffLim : WORD; @@ -6449,6 +6449,39 @@ TIMAGEDOSHEADER = IMAGE_DOS_HEADER; PIMAGEDOSHEADER = ^IMAGE_DOS_HEADER; + _NOTIFYICONDATAA = record + cbSize: DWORD; + Wnd: HWND; + uID: UINT; + uFlags: UINT; + uCallbackMessage: UINT; + hIcon: HICON; + szTip: array [0..63] of Char; + end; + _NOTIFYICONDATA = _NOTIFYICONDATAA; + + _NOTIFYICONDATAW = record + cbSize: DWORD; + Wnd: HWND; + uID: UINT; + uFlags: UINT; + uCallbackMessage: UINT; + hIcon: HICON; + szTip: array [0..63] of Word; + end; + TNotifyIconDataA = _NOTIFYICONDATAA; + TNotifyIconDataW = _NOTIFYICONDATAW; + TNotifyIconData = TNotifyIconDataA; + NOTIFYICONDATAA = _NOTIFYICONDATAA; + NOTIFYICONDATAW = _NOTIFYICONDATAW; + NOTIFYICONDATA = NOTIFYICONDATAA; + PNotifyIconDataA = ^TNotifyIconDataA; + PNotifyIconDataW = ^TNotifyIconDataW; + PNotifyIconData = PNotifyIconDataA; + + TWOHandleArray = array[0..MAXIMUM_WAIT_OBJECTS-1] of HANDLE; + PWOHandleArray = ^TWOHandleArray; + {$ifndef HASVARIANT} { This causes trouble with a compiler which has real variant support FK } { Variant support } @@ -6508,142 +6541,142 @@ type function fBinary(var a : DCB) : DWORD; begin - fBinary:=(a.flag0 and bm_DCB_fBinary) shr bp_DCB_fBinary; + fBinary:=(a.flags and bm_DCB_fBinary) shr bp_DCB_fBinary; end; procedure set_fBinary(var a : DCB; __fBinary : DWORD); begin - a.flag0:=a.flag0 or ((__fBinary shl bp_DCB_fBinary) and bm_DCB_fBinary); + a.flags:=a.flags or ((__fBinary shl bp_DCB_fBinary) and bm_DCB_fBinary); end; function fParity(var a : DCB) : DWORD; begin - fParity:=(a.flag0 and bm_DCB_fParity) shr bp_DCB_fParity; + fParity:=(a.flags and bm_DCB_fParity) shr bp_DCB_fParity; end; procedure set_fParity(var a : DCB; __fParity : DWORD); begin - a.flag0:=a.flag0 or ((__fParity shl bp_DCB_fParity) and bm_DCB_fParity); + a.flags:=a.flags or ((__fParity shl bp_DCB_fParity) and bm_DCB_fParity); end; function fOutxCtsFlow(var a : DCB) : DWORD; begin - fOutxCtsFlow:=(a.flag0 and bm_DCB_fOutxCtsFlow) shr bp_DCB_fOutxCtsFlow; + fOutxCtsFlow:=(a.flags and bm_DCB_fOutxCtsFlow) shr bp_DCB_fOutxCtsFlow; end; procedure set_fOutxCtsFlow(var a : DCB; __fOutxCtsFlow : DWORD); begin - a.flag0:=a.flag0 or ((__fOutxCtsFlow shl bp_DCB_fOutxCtsFlow) and bm_DCB_fOutxCtsFlow); + a.flags:=a.flags or ((__fOutxCtsFlow shl bp_DCB_fOutxCtsFlow) and bm_DCB_fOutxCtsFlow); end; function fOutxDsrFlow(var a : DCB) : DWORD; begin - fOutxDsrFlow:=(a.flag0 and bm_DCB_fOutxDsrFlow) shr bp_DCB_fOutxDsrFlow; + fOutxDsrFlow:=(a.flags and bm_DCB_fOutxDsrFlow) shr bp_DCB_fOutxDsrFlow; end; procedure set_fOutxDsrFlow(var a : DCB; __fOutxDsrFlow : DWORD); begin - a.flag0:=a.flag0 or ((__fOutxDsrFlow shl bp_DCB_fOutxDsrFlow) and bm_DCB_fOutxDsrFlow); + a.flags:=a.flags or ((__fOutxDsrFlow shl bp_DCB_fOutxDsrFlow) and bm_DCB_fOutxDsrFlow); end; function fDtrControl(var a : DCB) : DWORD; begin - fDtrControl:=(a.flag0 and bm_DCB_fDtrControl) shr bp_DCB_fDtrControl; + fDtrControl:=(a.flags and bm_DCB_fDtrControl) shr bp_DCB_fDtrControl; end; procedure set_fDtrControl(var a : DCB; __fDtrControl : DWORD); begin - a.flag0:=a.flag0 or ((__fDtrControl shl bp_DCB_fDtrControl) and bm_DCB_fDtrControl); + a.flags:=a.flags or ((__fDtrControl shl bp_DCB_fDtrControl) and bm_DCB_fDtrControl); end; function fDsrSensitivity(var a : DCB) : DWORD; begin - fDsrSensitivity:=(a.flag0 and bm_DCB_fDsrSensitivity) shr bp_DCB_fDsrSensitivity; + fDsrSensitivity:=(a.flags and bm_DCB_fDsrSensitivity) shr bp_DCB_fDsrSensitivity; end; procedure set_fDsrSensitivity(var a : DCB; __fDsrSensitivity : DWORD); begin - a.flag0:=a.flag0 or ((__fDsrSensitivity shl bp_DCB_fDsrSensitivity) and bm_DCB_fDsrSensitivity); + a.flags:=a.flags or ((__fDsrSensitivity shl bp_DCB_fDsrSensitivity) and bm_DCB_fDsrSensitivity); end; function fTXContinueOnXoff(var a : DCB) : DWORD; begin - fTXContinueOnXoff:=(a.flag0 and bm_DCB_fTXContinueOnXoff) shr bp_DCB_fTXContinueOnXoff; + fTXContinueOnXoff:=(a.flags and bm_DCB_fTXContinueOnXoff) shr bp_DCB_fTXContinueOnXoff; end; procedure set_fTXContinueOnXoff(var a : DCB; __fTXContinueOnXoff : DWORD); begin - a.flag0:=a.flag0 or ((__fTXContinueOnXoff shl bp_DCB_fTXContinueOnXoff) and bm_DCB_fTXContinueOnXoff); + a.flags:=a.flags or ((__fTXContinueOnXoff shl bp_DCB_fTXContinueOnXoff) and bm_DCB_fTXContinueOnXoff); end; function fOutX(var a : DCB) : DWORD; begin - fOutX:=(a.flag0 and bm_DCB_fOutX) shr bp_DCB_fOutX; + fOutX:=(a.flags and bm_DCB_fOutX) shr bp_DCB_fOutX; end; procedure set_fOutX(var a : DCB; __fOutX : DWORD); begin - a.flag0:=a.flag0 or ((__fOutX shl bp_DCB_fOutX) and bm_DCB_fOutX); + a.flags:=a.flags or ((__fOutX shl bp_DCB_fOutX) and bm_DCB_fOutX); end; function fInX(var a : DCB) : DWORD; begin - fInX:=(a.flag0 and bm_DCB_fInX) shr bp_DCB_fInX; + fInX:=(a.flags and bm_DCB_fInX) shr bp_DCB_fInX; end; procedure set_fInX(var a : DCB; __fInX : DWORD); begin - a.flag0:=a.flag0 or ((__fInX shl bp_DCB_fInX) and bm_DCB_fInX); + a.flags:=a.flags or ((__fInX shl bp_DCB_fInX) and bm_DCB_fInX); end; function fErrorChar(var a : DCB) : DWORD; begin - fErrorChar:=(a.flag0 and bm_DCB_fErrorChar) shr bp_DCB_fErrorChar; + fErrorChar:=(a.flags and bm_DCB_fErrorChar) shr bp_DCB_fErrorChar; end; procedure set_fErrorChar(var a : DCB; __fErrorChar : DWORD); begin - a.flag0:=a.flag0 or ((__fErrorChar shl bp_DCB_fErrorChar) and bm_DCB_fErrorChar); + a.flags:=a.flags or ((__fErrorChar shl bp_DCB_fErrorChar) and bm_DCB_fErrorChar); end; function fNull(var a : DCB) : DWORD; begin - fNull:=(a.flag0 and bm_DCB_fNull) shr bp_DCB_fNull; + fNull:=(a.flags and bm_DCB_fNull) shr bp_DCB_fNull; end; procedure set_fNull(var a : DCB; __fNull : DWORD); begin - a.flag0:=a.flag0 or ((__fNull shl bp_DCB_fNull) and bm_DCB_fNull); + a.flags:=a.flags or ((__fNull shl bp_DCB_fNull) and bm_DCB_fNull); end; function fRtsControl(var a : DCB) : DWORD; begin - fRtsControl:=(a.flag0 and bm_DCB_fRtsControl) shr bp_DCB_fRtsControl; + fRtsControl:=(a.flags and bm_DCB_fRtsControl) shr bp_DCB_fRtsControl; end; procedure set_fRtsControl(var a : DCB; __fRtsControl : DWORD); begin - a.flag0:=a.flag0 or ((__fRtsControl shl bp_DCB_fRtsControl) and bm_DCB_fRtsControl); + a.flags:=a.flags or ((__fRtsControl shl bp_DCB_fRtsControl) and bm_DCB_fRtsControl); end; function fAbortOnError(var a : DCB) : DWORD; begin - fAbortOnError:=(a.flag0 and bm_DCB_fAbortOnError) shr bp_DCB_fAbortOnError; + fAbortOnError:=(a.flags and bm_DCB_fAbortOnError) shr bp_DCB_fAbortOnError; end; procedure set_fAbortOnError(var a : DCB; __fAbortOnError : DWORD); begin - a.flag0:=a.flag0 or ((__fAbortOnError shl bp_DCB_fAbortOnError) and bm_DCB_fAbortOnError); + a.flags:=a.flags or ((__fAbortOnError shl bp_DCB_fAbortOnError) and bm_DCB_fAbortOnError); end; function fDummy2(var a : DCB) : DWORD; begin - fDummy2:=(a.flag0 and bm_DCB_fDummy2) shr bp_DCB_fDummy2; + fDummy2:=(a.flags and bm_DCB_fDummy2) shr bp_DCB_fDummy2; end; procedure set_fDummy2(var a : DCB; __fDummy2 : DWORD); begin - a.flag0:=a.flag0 or ((__fDummy2 shl bp_DCB_fDummy2) and bm_DCB_fDummy2); + a.flags:=a.flags or ((__fDummy2 shl bp_DCB_fDummy2) and bm_DCB_fDummy2); end; function fCtsHold(var a : COMSTAT) : DWORD; @@ -6970,7 +7003,10 @@ type { $Log$ - Revision 1.10 2001-08-19 09:27:52 florian + Revision 1.11 2002-01-19 11:58:21 peter + * more functions from webbugs + + Revision 1.10 2001/08/19 09:27:52 florian + a lot of constants added Revision 1.9 2001/08/04 10:25:46 peter diff --git a/rtl/win32/wininc/unidef.inc b/rtl/win32/wininc/unidef.inc index e7d60e1c8b..113c358848 100644 --- a/rtl/win32/wininc/unidef.inc +++ b/rtl/win32/wininc/unidef.inc @@ -453,7 +453,8 @@ function ExtractIcon(_para1:HINST; _para2:LPCWSTR; _para3:cardinal):HICON; exter function FindExecutable(_para1:LPCWSTR; _para2:LPCWSTR; _para3:LPCWSTR):HINST; external 'shell32' name 'FindExecutableW'; function ShellAbout(_para1:HWND; _para2:LPCWSTR; _para3:LPCWSTR; _para4:HICON):longint; external 'shell32' name 'ShellAboutW'; function ShellExecute(_para1:HWND; _para2:LPCWSTR; _para3:LPCWSTR; _para4:LPCWSTR; _para5:LPCWSTR;_para6:longint):HINST; external 'shell32' name 'ShellExecuteW'; -function DdeCreateStringHandle(_para1:DWORD; _para2:LPCWSTR; _para3:longint):HSZ; external 'user32' name 'DdeCreateStringHandleW'; +function Shell_NotifyIcon(dwMessage: DWORD; lpData: PNotifyIconDataA): BOOL; external 'shell32' name 'Shell_NotifyIconW'; +unction DdeCreateStringHandle(_para1:DWORD; _para2:LPCWSTR; _para3:longint):HSZ; external 'user32' name 'DdeCreateStringHandleW'; function DdeInitialize(_para1:LPDWORD; _para2:PFNCALLBACK; _para3:DWORD; _para4:DWORD):UINT; external 'user32' name 'DdeInitializeW'; function DdeQueryString(_para1:DWORD; _para2:HSZ; _para3:LPCWSTR; _para4:DWORD; _para5:longint):DWORD; external 'user32' name 'DdeQueryStringW'; function LogonUser(_para1:LPWSTR; _para2:LPWSTR; _para3:LPWSTR; _para4:DWORD; _para5:DWORD;_para6:PHANDLE):WINBOOL; external 'advapi32' name 'LogonUserW'; @@ -493,7 +494,10 @@ end; { $Log$ - Revision 1.3 2000-10-11 16:05:56 peter + Revision 1.4 2002-01-19 11:58:22 peter + * more functions from webbugs + + Revision 1.3 2000/10/11 16:05:56 peter * stdcall for callbacks (merged) Revision 1.2 2000/07/13 11:34:03 michael diff --git a/rtl/win32/wininc/unifun.inc b/rtl/win32/wininc/unifun.inc index c24c1a0867..ada9a67392 100644 --- a/rtl/win32/wininc/unifun.inc +++ b/rtl/win32/wininc/unifun.inc @@ -453,6 +453,7 @@ function ExtractIconW(_para1:HINST; _para2:LPCWSTR; _para3:cardinal):HICON; exte function FindExecutableW(_para1:LPCWSTR; _para2:LPCWSTR; _para3:LPCWSTR):HINST; external 'shell32' name 'FindExecutableW'; function ShellAboutW(_para1:HWND; _para2:LPCWSTR; _para3:LPCWSTR; _para4:HICON):longint; external 'shell32' name 'ShellAboutW'; function ShellExecuteW(_para1:HWND; _para2:LPCWSTR; _para3:LPCWSTR; _para4:LPCWSTR; _para5:LPCWSTR;_para6:longint):HINST; external 'shell32' name 'ShellExecuteW'; +function Shell_NotifyIconW(dwMessage: DWORD; lpData: PNotifyIconDataA): BOOL; external 'shell32' name 'Shell_NotifyIconW'; function DdeCreateStringHandleW(_para1:DWORD; _para2:LPCWSTR; _para3:longint):HSZ; external 'user32' name 'DdeCreateStringHandleW'; function DdeInitializeW(_para1:LPDWORD; _para2:PFNCALLBACK; _para3:DWORD; _para4:DWORD):UINT; external 'user32' name 'DdeInitializeW'; function DdeQueryStringW(_para1:DWORD; _para2:HSZ; _para3:LPCWSTR; _para4:DWORD; _para5:longint):DWORD; external 'user32' name 'DdeQueryStringW'; @@ -493,7 +494,10 @@ end; { $Log$ - Revision 1.3 2000-10-11 16:05:56 peter + Revision 1.4 2002-01-19 11:58:22 peter + * more functions from webbugs + + Revision 1.3 2000/10/11 16:05:56 peter * stdcall for callbacks (merged) Revision 1.2 2000/07/13 11:34:03 michael diff --git a/rtl/win32/winsock.pp b/rtl/win32/winsock.pp index dfd5f2ac82..7379f59df4 100644 --- a/rtl/win32/winsock.pp +++ b/rtl/win32/winsock.pp @@ -674,103 +674,17 @@ unit winsock; PTransmitFileBuffers = ^TTransmitFileBuffers; { Socket function prototypes } - function accept(s:TSocket; addr: PSockAddr; addrlen : ptOS_INT) : TSocket;stdcall; - function accept(s:TSocket; addr: PSockAddr; var addrlen : tOS_INT) : TSocket;stdcall; - function bind(s:TSocket; addr: PSockaddr;namelen:tOS_INT):tOS_INT;stdcall; - function closesocket(s:TSocket):tOS_INT;stdcall; - function connect(s:TSocket; Const name:TSockAddr; namelen:tOS_INT):tOS_INT;stdcall; - function ioctlsocket(s:TSocket; cmd:longint; argp:pu_long):tOS_INT;stdcall; { really a c-long } - function getpeername(s:TSocket; var name:TSockAddr;var namelen:tOS_INT):tOS_INT;stdcall; - function getsockname(s:TSocket; var name:TSockAddr;var namelen:tOS_INT):tOS_INT;stdcall; - function getsockopt(s:TSocket; level:tOS_INT; optname:tOS_INT; optval:pchar;var optlen:tOS_INT):tOS_INT;stdcall; - function getsockopt(s:TSocket; level:tOS_INT; optname:tOS_INT; var optval; var optlen:tOS_INT):tOS_INT;stdcall; - function htonl(hostlong:u_long):u_long;stdcall; - function htons(hostshort:u_short):u_short; - function inet_addr(cp:pchar):cardinal;stdcall; - function inet_ntoa(i : TInAddr):pchar;stdcall; - function listen(s:TSocket; backlog:tOS_INT):tOS_INT;stdcall; - function ntohl(netlong:u_long):u_long;stdcall; - function ntohs(netshort:u_short):u_short;stdcall; - function recv(s:TSocket;var buf; len:tOS_INT; flags:tOS_INT):tOS_INT;stdcall; - function recvfrom(s:TSocket;var buf; len:tOS_INT; flags:tOS_INT;Const from:TSockAddr; fromlen:ptOS_INT):tOS_INT;stdcall; - function select(nfds:tOS_INT; readfds,writefds,exceptfds : PFDSet;timeout: PTimeVal):tOS_INT;stdcall; - function send(s:TSocket;Const buf; len:tOS_INT; flags:tOS_INT):tOS_INT;stdcall; - function sendto(s:TSocket; buf:pchar; len:tOS_INT; flags:tOS_INT;Const toaddr:TSockAddr; tolen:tOS_INT):tOS_INT;stdcall; - function setsockopt(s:TSocket; level:tOS_INT; optname:tOS_INT; optval:pchar; optlen:tOS_INT):tOS_INT;stdcall; - function setsockopt(s:TSocket; level:tOS_INT; optname:tOS_INT; Const optval; optlen:tOS_INT):tOS_INT;stdcall; - function shutdown(s:TSocket; how:tOS_INT):tOS_INT;stdcall; - function socket(af:tOS_INT; t:tOS_INT; protocol:tOS_INT):TSocket;stdcall; - - { Database function prototypes } - function gethostbyaddr(addr:pchar; len:tOS_INT; t:tOS_INT): PHostEnt;stdcall; - function gethostbyname(name:pchar):PHostEnt;stdcall; - function gethostname(name:pchar; namelen:tOS_INT):tOS_INT;stdcall; - function getservbyport(port:tOS_INT; proto:pchar):PServEnt;stdcall; - function getservbyname(name:pchar; proto:pchar):PServEnt;stdcall; - function getprotobynumber(proto:tOS_INT):PProtoEnt;stdcall; - function getprotobyname(name:pchar):PProtoEnt;stdcall; - - { Microsoft Windows Extension function prototypes } - function WSAStartup(wVersionRequired:word;var WSAData:TWSADATA):tOS_INT;stdcall; - function WSACleanup:tOS_INT;stdcall; - procedure WSASetLastError(iError:tOS_INT);stdcall; - function WSAGetLastError:tOS_INT;stdcall; - function WSAIsBlocking:BOOL;stdcall; - function WSAUnhookBlockingHook:tOS_INT;stdcall; - function WSASetBlockingHook(lpBlockFunc:TFarProc):TFarProc;stdcall; - function WSACancelBlockingCall:tOS_INT;stdcall; - function WSAAsyncGetServByName(hWnd:HWND; wMsg:u_int; name:pchar; proto:pchar; buf:pchar; - buflen:tOS_INT):THandle;stdcall; - function WSAAsyncGetServByPort(hWnd:HWND; wMsg:u_int; port:tOS_INT; proto:pchar; buf:pchar; - buflen:tOS_INT):THandle;stdcall; - function WSAAsyncGetProtoByName(hWnd:HWND; wMsg:u_int; name:pchar; buf:pchar; buflen:tOS_INT):THandle;stdcall; - function WSAAsyncGetProtoByNumber(hWnd:HWND; wMsg:u_int; number:tOS_INT; buf:pchar; buflen:tOS_INT):THandle;stdcall; - function WSAAsyncGetHostByName(hWnd:HWND; wMsg:u_int; name:pchar; buf:pchar; buflen:tOS_INT):THandle;stdcall; - function WSAAsyncGetHostByAddr(hWnd:HWND; wMsg:u_int; addr:pchar; len:tOS_INT; t:tOS_INT; - buf:pchar; buflen:tOS_INT):THandle;stdcall; - function WSACancelAsyncRequest(hAsyncTaskHandle:THandle):tOS_INT;stdcall; - function WSAAsyncSelect(s:TSocket; hWnd:HWND; wMsg:u_int; lEvent:longint):tOS_INT;stdcall; { really a c-long } - function WSARecvEx(s:TSocket;var buf; len:tOS_INT; flags:ptOS_INT):tOS_INT;stdcall; - - { the following stuff was missed in my sockets.h (FK) } - function __WSAFDIsSet(s:TSocket; var FDSet:TFDSet):Bool;stdcall; - function __WSAFDIsSet_(s:TSocket; var FDSet:TFDSet):tOS_INT;stdcall; - function TransmitFile(hSocket:TSocket; hFile:THandle; nNumberOfBytesToWrite:dword; - nNumberOfBytesPerSend:DWORD; lpOverlapped:POverlapped; - lpTransmitBuffers:PTransmitFileBuffers; dwReserved:dword):Bool;stdcall; - - function AcceptEx(sListenSocket,sAcceptSocket:TSocket; - lpOutputBuffer:Pointer; dwReceiveDataLength,dwLocalAddressLength, - dwRemoteAddressLength:dword; var lpdwBytesReceived:dword; - lpOverlapped:POverlapped):Bool;stdcall; - - procedure GetAcceptExSockaddrs(lpOutputBuffer:Pointer; - dwReceiveDataLength,dwLocalAddressLength,dwRemoteAddressLength:dword; - var LocalSockaddr:TSockAddr; var LocalSockaddrLength:tOS_INT; - var RemoteSockaddr:TSockAddr; var RemoteSockaddrLength:tOS_INT);stdcall; - - function WSAMakeSyncReply(Buflen,Error:Word):dword; - function WSAMakeSelectReply(Event,Error:Word):dword; - function WSAGetAsyncBuflen(Param:dword):Word; - function WSAGetAsyncError(Param:dword):Word; - function WSAGetSelectEvent(Param:dword):Word; - function WSAGetSelectError(Param:dword):Word; - procedure FD_CLR(Socket:TSocket; var FDSet:TFDSet); - function FD_ISSET(Socket:TSocket; var FDSet:TFDSet):Boolean; - procedure FD_SET(Socket:TSocket; var FDSet:TFDSet); - procedure FD_ZERO(var FDSet:TFDSet); - - implementation - const winsockdll = 'wsock32.dll'; - { Socket function prototypes } function accept(s:TSocket; addr: PSockAddr; addrlen : ptOS_INT) : TSocket;stdcall;external winsockdll name 'accept'; function accept(s:TSocket; addr: PSockAddr; var addrlen : tOS_INT) : TSocket;stdcall;external winsockdll name 'accept'; function bind(s:TSocket; addr: PSockaddr;namelen:tOS_INT):tOS_INT;stdcall;external winsockdll name 'bind'; + function bind(s:TSocket; const addr: TSockaddr;namelen:tOS_INT):tOS_INT;stdcall;external winsockdll name 'bind'; function closesocket(s:TSocket):tOS_INT;stdcall;external winsockdll name 'closesocket'; + function connect(s:TSocket; addr:PSockAddr; namelen:tOS_INT):tOS_INT;stdcall;external winsockdll name 'connect'; function connect(s:TSocket; Const name:TSockAddr; namelen:tOS_INT):tOS_INT;stdcall;external winsockdll name 'connect'; + function ioctlsocket(s:TSocket; cmd:longint; var arg:u_long):tOS_INT;stdcall;external winsockdll name 'ioctlsocket'; { really a c-long } function ioctlsocket(s:TSocket; cmd:longint; argp:pu_long):tOS_INT;stdcall;external winsockdll name 'ioctlsocket'; { really a c-long } function getpeername(s:TSocket; var name:TSockAddr;var namelen:tOS_INT):tOS_INT;stdcall; external winsockdll name 'getpeername'; @@ -787,8 +701,11 @@ unit winsock; function listen(s:TSocket; backlog:tOS_INT):tOS_INT;stdcall;external winsockdll name 'listen'; function ntohl(netlong:u_long):u_long;stdcall;external winsockdll name 'ntohl'; function ntohs(netshort:u_short):u_short;stdcall;external winsockdll name 'ntohs'; + function recv(s:TSocket;buf:pchar; len:tOS_INT; flags:tOS_INT):tOS_INT;stdcall;external winsockdll name 'recv'; function recv(s:TSocket;var buf; len:tOS_INT; flags:tOS_INT):tOS_INT;stdcall;external winsockdll name 'recv'; - function recvfrom(s:TSocket;var buf; len:tOS_INT; flags:tOS_INT;Const from:TSockAddr; fromlen:ptOS_INT):tOS_INT;stdcall; + function recvfrom(s:TSocket;buf:pchar; len:tOS_INT; flags:tOS_INT;from:PSockAddr; fromlen:ptOS_INT):tOS_INT;stdcall; + external winsockdll name 'recvfrom'; + function recvfrom(s:TSocket;var buf; len:tOS_INT; flags:tOS_INT;Const from:TSockAddr; var fromlen:tOS_INT):tOS_INT;stdcall; external winsockdll name 'recvfrom'; function select(nfds:tOS_INT; readfds,writefds,exceptfds : PFDSet;timeout: PTimeVal):tOS_INT;stdcall; external winsockdll name 'select'; @@ -864,6 +781,19 @@ unit winsock; var RemoteSockaddr:TSockAddr; var RemoteSockaddrLength:tOS_INT);stdcall; external winsockdll name 'GetAcceptExSockaddrs'; + function WSAMakeSyncReply(Buflen,Error:Word):dword; + function WSAMakeSelectReply(Event,Error:Word):dword; + function WSAGetAsyncBuflen(Param:dword):Word; + function WSAGetAsyncError(Param:dword):Word; + function WSAGetSelectEvent(Param:dword):Word; + function WSAGetSelectError(Param:dword):Word; + procedure FD_CLR(Socket:TSocket; var FDSet:TFDSet); + function FD_ISSET(Socket:TSocket; var FDSet:TFDSet):Boolean; + procedure FD_SET(Socket:TSocket; var FDSet:TFDSet); + procedure FD_ZERO(var FDSet:TFDSet); + + implementation + { Implementation of the helper routines } @@ -951,7 +881,10 @@ unit winsock; end. { $Log$ - Revision 1.6 2001-10-15 15:09:51 jonas + Revision 1.7 2002-01-19 11:58:20 peter + * more functions from webbugs + + Revision 1.6 2001/10/15 15:09:51 jonas * error constants must be longints, not cardinals Revision 1.5 2001/06/06 21:58:24 peter