Browse Source

* more functions from webbugs

peter 23 years ago
parent
commit
f5c971b656

+ 5 - 1
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

+ 5 - 1
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

+ 5 - 2
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

+ 66 - 30
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

+ 6 - 2
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

+ 5 - 1
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

+ 24 - 91
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