Bladeren bron

* fixed i386-wince support. WinCE API functions are cdecl.

git-svn-id: trunk@5741 -
yury 18 jaren geleden
bovenliggende
commit
ff37ef8786
11 gewijzigde bestanden met toevoegingen van 284 en 294 verwijderingen
  1. 4 5
      rtl/win/sysheap.inc
  2. 12 23
      rtl/win/sysos.inc
  3. 18 18
      rtl/win/systhrd.inc
  4. 1 1
      rtl/win/tthread.inc
  5. 59 61
      rtl/wince/system.pp
  6. 2 2
      rtl/wince/windows.pp
  7. 43 43
      rtl/wince/wininc/base.inc
  8. 10 10
      rtl/wince/wininc/struct.inc
  9. 3 3
      rtl/wince/winres.inc
  10. 2 0
      rtl/wince/winsock.pp
  11. 130 128
      rtl/wince/winsock2.pp

+ 4 - 5
rtl/win/sysheap.inc

@@ -20,14 +20,14 @@
 
    { memory functions }
    function GetProcessHeap : THandle;
-     stdcall;external KernelDLL name 'GetProcessHeap';
+     {$ifdef wince}cdecl{$else}stdcall{$endif};external KernelDLL name 'GetProcessHeap';
    function HeapAlloc(hHeap : DWord; dwFlags : DWord; dwBytes : SIZE_T) : pointer;
-     stdcall;external KernelDLL name 'HeapAlloc';
+     {$ifdef wince}cdecl{$else}stdcall{$endif};external KernelDLL name 'HeapAlloc';
    function HeapFree(hHeap : THandle; dwFlags : dword; lpMem: pointer) : boolean;
-     stdcall;external KernelDLL name 'HeapFree';
+     {$ifdef wince}cdecl{$else}stdcall{$endif};external KernelDLL name 'HeapFree';
 {$IFDEF SYSTEMDEBUG}
    function WinAPIHeapSize(hHeap : THandle; dwFlags : DWord; ptr : Pointer) : DWord;
-     stdcall;external 'kernel32' name 'HeapSize';
+     {$ifdef wince}cdecl{$else}stdcall{$endif};external 'kernel32' name 'HeapSize';
 {$ENDIF}
 
 
@@ -48,4 +48,3 @@ procedure SysOSFree(p: pointer; size: ptrint);
 begin
   HeapFree(GetProcessHeap, 0, p);
 end;
-

+ 12 - 23
rtl/win/sysos.inc

@@ -171,11 +171,11 @@ threadvar
 
    { misc. functions }
    function GetLastError : DWORD;
-     stdcall;external KernelDLL name 'GetLastError';
+     {$ifdef wince}cdecl{$else}stdcall{$endif};external KernelDLL name 'GetLastError';
 
    { time and date functions }
    function GetTickCount : longint;
-     stdcall;external KernelDLL name 'GetTickCount';
+     {$ifdef wince}cdecl{$else}stdcall{$endif};external KernelDLL name 'GetTickCount';
 
 {$ifndef WINCE}
    { process functions }
@@ -201,27 +201,26 @@ threadvar
 
    { module functions }
    function GetModuleFileName(l1:longint;p:pointer;l2:longint):longint;
-     stdcall;external KernelDLL name 'GetModuleFileName' + ApiSuffix;
+     {$ifdef wince}cdecl{$else}stdcall{$endif};external KernelDLL name 'GetModuleFileName' + ApiSuffix;
    function GetModuleHandle(p : pointer) : longint;
-     stdcall;external KernelDLL name 'GetModuleHandle' + ApiSuffix;
-   function GetCommandFile:pchar;forward;
+     {$ifdef wince}cdecl{$else}stdcall{$endif};external KernelDLL name 'GetModuleHandle' + ApiSuffix;
 
    { file functions }
    function WriteFile(fh:thandle;buf:pointer;len:longint;var loaded:longint;
      overlap:pointer):longint;
-     stdcall;external KernelDLL name 'WriteFile';
+     {$ifdef wince}cdecl{$else}stdcall{$endif};external KernelDLL name 'WriteFile';
    function ReadFile(fh:thandle;buf:pointer;len:longint;var loaded:longint;
      overlap:pointer):longint;
-     stdcall;external KernelDLL name 'ReadFile';
+     {$ifdef wince}cdecl{$else}stdcall{$endif};external KernelDLL name 'ReadFile';
    function CloseHandle(h : thandle) : longint;
-     stdcall;external KernelDLL name 'CloseHandle';
+     {$ifdef wince}cdecl{$else}stdcall{$endif};external KernelDLL name 'CloseHandle';
    function SetFilePointer(l1,l2 : thandle;l3 : pointer;l4 : longint) : longint;
-     stdcall;external KernelDLL name 'SetFilePointer';
+     {$ifdef wince}cdecl{$else}stdcall{$endif};external KernelDLL name 'SetFilePointer';
    function GetFileSize(h:thandle;p:pointer) : longint;
-     stdcall;external KernelDLL name 'GetFileSize';
+     {$ifdef wince}cdecl{$else}stdcall{$endif};external KernelDLL name 'GetFileSize';
    function SetEndOfFile(h : thandle) : longbool;
-     stdcall;external KernelDLL name 'SetEndOfFile';
-   function FreeLibrary(hLibModule:THandle):ByteBool; stdcall; external KernelDLL name 'FreeLibrary';
+     {$ifdef wince}cdecl{$else}stdcall{$endif};external KernelDLL name 'SetEndOfFile';
+   function FreeLibrary(hLibModule:THandle):ByteBool; {$ifdef wince}cdecl{$else}stdcall{$endif};external KernelDLL name 'FreeLibrary';
 
 {$ifndef WINCE}
    function LoadLibrary(lpLibFileName:pchar):THandle; stdcall; external KernelDLL name 'LoadLibraryA';
@@ -248,16 +247,6 @@ threadvar
      stdcall;external KernelDLL name 'SetCurrentDirectoryA';
    function GetCurrentDirectory(bufsize : longint;name : pchar) : longbool;
      stdcall;external KernelDLL name 'GetCurrentDirectoryA';
-{$else WINCE}
-   function LoadLibraryW(lpLibFileName:PWideChar):THandle; stdcall; external KernelDLL name 'LoadLibraryW';
-   function LoadLibrary(lpLibFileName:PChar):THandle;
-   var buf: array[0..MaxPathLen] of WideChar;
-   begin
-    AnsiToWideBuf(lpLibFileName, -1, buf, SizeOf(buf));
-    LoadLibrary:=LoadLibraryW(PWideChar(lpLibFileName));
-   end;
-   function GetProcAddress(hModule:THandle; lpProcName:pchar):pointer; stdcall; external KernelDLL name 'GetProcAddressA';
-{$endif WINCE}
 
    var
      SetFilePointerEx : function(hFile : THandle;
@@ -276,7 +265,7 @@ threadvar
           FreeLibrary(hinstLib);
         end;
     end;
-
+{$endif WINCE}
 
    Procedure Errno2InOutRes;
    var

+ 18 - 18
rtl/win/systhrd.inc

@@ -31,25 +31,25 @@ function TlsFree(dwTlsIndex : DWord) : LongBool;
   stdcall;external KernelDLL name 'TlsFree';
 {$endif WINCE}
 function TlsGetValue(dwTlsIndex : DWord) : pointer;
-  stdcall;external KernelDLL name 'TlsGetValue';
+  {$ifdef wince}cdecl{$else}stdcall{$endif};external KernelDLL name 'TlsGetValue';
 function TlsSetValue(dwTlsIndex : DWord;lpTlsValue : pointer) : LongBool;
-  stdcall;external KernelDLL name 'TlsSetValue';
+  {$ifdef wince}cdecl{$else}stdcall{$endif};external KernelDLL name 'TlsSetValue';
 function CreateThread(lpThreadAttributes : pointer;
   dwStackSize : SIZE_T; lpStartAddress : pointer;lpParameter : pointer;
   dwCreationFlags : DWord;var lpThreadId : DWord) : THandle;
-  stdcall;external KernelDLL name 'CreateThread';
+  {$ifdef wince}cdecl{$else}stdcall{$endif};external KernelDLL name 'CreateThread';
 procedure ExitThread(dwExitCode : DWord);
-  stdcall;external KernelDLL name 'ExitThread';
+  {$ifdef wince}cdecl{$else}stdcall{$endif};external KernelDLL name 'ExitThread';
 function LocalAlloc(uFlags:DWord; dwBytes:DWORD):Pointer;
-  stdcall;external KernelDLL name 'LocalAlloc';
-function LocalFree(hMem : Pointer):Pointer; stdcall;external KernelDLL name 'LocalFree';
-procedure Sleep(dwMilliseconds: DWord); stdcall;external KernelDLL name 'Sleep';
-function  WinSuspendThread (threadHandle : THandle) : dword; stdcall;external KernelDLL name 'SuspendThread';
-function  WinResumeThread  (threadHandle : THandle) : dword; stdcall;external KernelDLL name 'ResumeThread';
-function  TerminateThread  (threadHandle : THandle; var exitCode : dword) : boolean; stdcall;external KernelDLL name 'TerminateThread';
-function  WaitForSingleObject (hHandle : THandle;Milliseconds: dword): dword; stdcall;external KernelDLL name 'WaitForSingleObject';
-function  WinThreadSetPriority (threadHandle : THandle; Prio: longint): boolean; stdcall;external KernelDLL name 'SetThreadPriority';
-function  WinThreadGetPriority (threadHandle : THandle): LongInt; stdcall;external KernelDLL name 'GetThreadPriority';
+  {$ifdef wince}cdecl{$else}stdcall{$endif};external KernelDLL name 'LocalAlloc';
+function LocalFree(hMem : Pointer):Pointer; {$ifdef wince}cdecl{$else}stdcall{$endif};external KernelDLL name 'LocalFree';
+procedure Sleep(dwMilliseconds: DWord); {$ifdef wince}cdecl{$else}stdcall{$endif};external KernelDLL name 'Sleep';
+function  WinSuspendThread (threadHandle : THandle) : dword; {$ifdef wince}cdecl{$else}stdcall{$endif};external KernelDLL name 'SuspendThread';
+function  WinResumeThread  (threadHandle : THandle) : dword; {$ifdef wince}cdecl{$else}stdcall{$endif};external KernelDLL name 'ResumeThread';
+function  TerminateThread  (threadHandle : THandle; var exitCode : dword) : boolean; {$ifdef wince}cdecl{$else}stdcall{$endif};external KernelDLL name 'TerminateThread';
+function  WaitForSingleObject (hHandle : THandle;Milliseconds: dword): dword; {$ifdef wince}cdecl{$else}stdcall{$endif};external KernelDLL name 'WaitForSingleObject';
+function  WinThreadSetPriority (threadHandle : THandle; Prio: longint): boolean; {$ifdef wince}cdecl{$else}stdcall{$endif};external KernelDLL name 'SetThreadPriority';
+function  WinThreadGetPriority (threadHandle : THandle): LongInt; {$ifdef wince}cdecl{$else}stdcall{$endif};external KernelDLL name 'GetThreadPriority';
 {$ifndef WINCE}
 function  CreateEvent(lpEventAttributes:pointer;bManualReset:longbool;bInitialState:longbool;lpName:pchar): THandle; stdcall; external KernelDLL name 'CreateEventA';
 function  ResetEvent(hEvent:THandle):LONGBOOL; stdcall; external KernelDLL name 'ResetEvent';
@@ -141,7 +141,7 @@ CONST
       end;
 
 
-    function ThreadMain(param : pointer) : Longint; stdcall;
+    function ThreadMain(param : pointer) : Longint; {$ifdef wince}cdecl{$else}stdcall{$endif};
       var
         ti : tthreadinfo;
       begin
@@ -260,16 +260,16 @@ CONST
 *****************************************************************************}
 
 procedure WinInitCriticalSection(var cs : TRTLCriticalSection);
-  stdcall;external KernelDLL name 'InitializeCriticalSection';
+  {$ifdef wince}cdecl{$else}stdcall{$endif};external KernelDLL name 'InitializeCriticalSection';
 
 procedure WinDoneCriticalSection(var cs : TRTLCriticalSection);
-  stdcall;external KernelDLL name 'DeleteCriticalSection';
+  {$ifdef wince}cdecl{$else}stdcall{$endif};external KernelDLL name 'DeleteCriticalSection';
 
 procedure WinEnterCriticalSection(var cs : TRTLCriticalSection);
-  stdcall;external KernelDLL name 'EnterCriticalSection';
+  {$ifdef wince}cdecl{$else}stdcall{$endif};external KernelDLL name 'EnterCriticalSection';
 
 procedure WinLeaveCriticalSection(var cs : TRTLCriticalSection);
-  stdcall;external KernelDLL name 'LeaveCriticalSection';
+  {$ifdef wince}cdecl{$else}stdcall{$endif};external KernelDLL name 'LeaveCriticalSection';
 
 procedure SySInitCriticalSection(var cs);
 begin

+ 1 - 1
rtl/win/tthread.inc

@@ -19,7 +19,7 @@ var
   { event that happens when gui thread is done executing the method
 }
 
-function ThreadWndProc(Window: HWnd; AMessage:UInt; WParam : WParam; LParam: LParam): Longint; stdcall;
+function ThreadWndProc(Window: HWnd; AMessage:UInt; WParam : WParam; LParam: LParam): Longint; {$ifdef wince}cdecl{$else}stdcall{$endif};
 
 begin
   case AMessage of

+ 59 - 61
rtl/wince/system.pp

@@ -79,23 +79,23 @@ function PCharToPWideChar(str: PChar; strlen: longint = -1; outlen: PLongInt = n
 function StringToPWideChar(const s: AnsiString; outlen: PLongInt = nil): PWideChar;
 
 { Wrappers for some WinAPI calls }
-function  CreateEvent(lpEventAttributes:pointer;bManualReset:longbool;bInitialState:longbool;lpName:pchar): THandle; stdcall;
-function ResetEvent(h: THandle): LONGBOOL; stdcall;
-function SetEvent(h: THandle): LONGBOOL; stdcall;
-function GetCurrentProcessId:DWORD; stdcall;
-function Win32GetCurrentThreadId:DWORD; stdcall;
-function TlsAlloc : DWord; stdcall;
-function TlsFree(dwTlsIndex : DWord) : LongBool; stdcall;
-
-function GetFileAttributes(p : pchar) : dword; stdcall;
-function DeleteFile(p : pchar) : longint; stdcall;
-function MoveFile(old,_new : pchar) : longint; stdcall;
+function  CreateEvent(lpEventAttributes:pointer;bManualReset:longbool;bInitialState:longbool;lpName:pchar): THandle; 
+function ResetEvent(h: THandle): LONGBOOL; 
+function SetEvent(h: THandle): LONGBOOL; 
+function GetCurrentProcessId:DWORD; 
+function Win32GetCurrentThreadId:DWORD; 
+function TlsAlloc : DWord; 
+function TlsFree(dwTlsIndex : DWord) : LongBool; 
+
+function GetFileAttributes(p : pchar) : dword; 
+function DeleteFile(p : pchar) : longint; 
+function MoveFile(old,_new : pchar) : longint; 
 function CreateFile(lpFileName:pchar; dwDesiredAccess:DWORD; dwShareMode:DWORD;
                    lpSecurityAttributes:pointer; dwCreationDisposition:DWORD;
-                   dwFlagsAndAttributes:DWORD; hTemplateFile:DWORD):longint; stdcall;
+                   dwFlagsAndAttributes:DWORD; hTemplateFile:DWORD):longint; 
 
-function CreateDirectory(name : pointer;sec : pointer) : longbool; stdcall;
-function RemoveDirectory(name:pointer):longbool; stdcall;
+function CreateDirectory(name : pointer;sec : pointer) : longbool; 
+function RemoveDirectory(name:pointer):longbool; 
 
 
 {$ifdef CPUARM}
@@ -195,7 +195,7 @@ var
 {$i winres.inc}
 
 function MessageBox(w1:longint;l1,l2:PWideChar;w2:longint):longint;
-   stdcall;external 'coredll' name 'MessageBoxW';
+   cdecl; external 'coredll' name 'MessageBoxW';
 
 {*****************************************************************************}
 
@@ -236,7 +236,7 @@ begin
 end;
 
 {$define FPC_SYSTEM_HAS_TRUNC}
-function __dtoi64(d: double) : int64; external 'coredll';
+function __dtoi64(d: double) : int64; cdecl; external 'coredll';
 
 function fpc_trunc_real(d : ValReal) : int64; assembler; nostackframe; compilerproc;
 asm
@@ -244,7 +244,7 @@ asm
 end;
 
 {$define FPC_SYSTEM_HAS_ABS}
-function fabs(d: double): double; external 'coredll';
+function fabs(d: double): double; cdecl; external 'coredll';
 
 function fpc_abs_real(d : ValReal) : ValReal; assembler; nostackframe; compilerproc;
 asm
@@ -252,7 +252,7 @@ asm
 end;
 
 {$define FPC_SYSTEM_HAS_SQRT}
-function coresqrt(d: double): double; external 'coredll' name 'sqrt';
+function coresqrt(d: double): double; cdecl; external 'coredll' name 'sqrt';
 
 function fpc_sqrt_real(d : ValReal) : ValReal; assembler; nostackframe; compilerproc;
 asm
@@ -299,9 +299,9 @@ const
      CP_OEMCP = 1;
 
 function MultiByteToWideChar(CodePage:UINT; dwFlags:DWORD; lpMultiByteStr:PChar; cchMultiByte:longint; lpWideCharStr:PWideChar;cchWideChar:longint):longint;
-    stdcall; external 'coredll' name 'MultiByteToWideChar';
+     cdecl; external 'coredll' name 'MultiByteToWideChar';
 function WideCharToMultiByte(CodePage:UINT; dwFlags:DWORD; lpWideCharStr:PWideChar; cchWideChar:longint; lpMultiByteStr:PChar;cchMultiByte:longint; lpDefaultChar:PChar; lpUsedDefaultChar:pointer):longint;
-    stdcall; external 'coredll' name 'WideCharToMultiByte';
+     cdecl; external 'coredll' name 'WideCharToMultiByte';
 
 function AnsiToWideBuf(AnsiBuf: PChar; AnsiBufLen: longint; WideBuf: PWideChar; WideBufLen: longint): longint;
 begin
@@ -399,21 +399,21 @@ end;
 *****************************************************************************}
 
 function GetFileAttributesW(p : pwidechar) : dword;
-    stdcall;external KernelDLL name 'GetFileAttributesW';
+    cdecl; external KernelDLL name 'GetFileAttributesW';
 function DeleteFileW(p : pwidechar) : longint;
-    stdcall;external KernelDLL name 'DeleteFileW';
+    cdecl; external KernelDLL name 'DeleteFileW';
 function MoveFileW(old,_new : pwidechar) : longint;
-    stdcall;external KernelDLL name 'MoveFileW';
+    cdecl; external KernelDLL name 'MoveFileW';
 function CreateFileW(lpFileName:pwidechar; dwDesiredAccess:DWORD; dwShareMode:DWORD;
                    lpSecurityAttributes:pointer; dwCreationDisposition:DWORD;
                    dwFlagsAndAttributes:DWORD; hTemplateFile:DWORD):longint;
- stdcall;external KernelDLL name 'CreateFileW';
+    cdecl; external KernelDLL name 'CreateFileW';
 function CreateDirectoryW(name : pwidechar;sec : pointer) : longbool;
- stdcall;external KernelDLL name 'CreateDirectoryW';
+    cdecl; external KernelDLL name 'CreateDirectoryW';
 function RemoveDirectoryW(name:pwidechar):longbool;
- stdcall;external KernelDLL name 'RemoveDirectoryW';
+    cdecl; external KernelDLL name 'RemoveDirectoryW';
 
-function GetFileAttributes(p : pchar) : dword; stdcall;
+function GetFileAttributes(p : pchar) : dword; 
 var
   buf: array[0..MaxPathLen] of WideChar;
 begin
@@ -421,7 +421,7 @@ begin
   GetFileAttributes := GetFileAttributesW(buf);
 end;
 
-function DeleteFile(p : pchar) : longint; stdcall;
+function DeleteFile(p : pchar) : longint; 
 var
   buf: array[0..MaxPathLen] of WideChar;
 begin
@@ -429,7 +429,7 @@ begin
   DeleteFile := DeleteFileW(buf);
 end;
 
-function MoveFile(old,_new : pchar) : longint; stdcall;
+function MoveFile(old,_new : pchar) : longint; 
 var
   buf_old, buf_new: array[0..MaxPathLen] of WideChar;
 begin
@@ -440,7 +440,7 @@ end;
 
 function CreateFile(lpFileName:pchar; dwDesiredAccess:DWORD; dwShareMode:DWORD;
                    lpSecurityAttributes:pointer; dwCreationDisposition:DWORD;
-                   dwFlagsAndAttributes:DWORD; hTemplateFile:DWORD):longint; stdcall;
+                   dwFlagsAndAttributes:DWORD; hTemplateFile:DWORD):longint; 
 var
   buf: array[0..MaxPathLen] of WideChar;
 begin
@@ -449,7 +449,7 @@ begin
                             dwCreationDisposition, dwFlagsAndAttributes, hTemplateFile);
 end;
 
-function CreateDirectory(name : pointer;sec : pointer) : longbool; stdcall;
+function CreateDirectory(name : pointer;sec : pointer) : longbool; 
 var
   buf: array[0..MaxPathLen] of WideChar;
 begin
@@ -457,7 +457,7 @@ begin
   CreateDirectory := CreateDirectoryW(buf, sec);
 end;
 
-function RemoveDirectory(name:pointer):longbool; stdcall;
+function RemoveDirectory(name:pointer):longbool; 
 var
   buf: array[0..MaxPathLen] of WideChar;
 begin
@@ -485,9 +485,9 @@ const
   EVENT_SET   =     3;
 
 function CreateEventW(lpEventAttributes:pointer;bManualReset:longbool;bInitialState:longbool;lpName:PWideChar): THandle;
-   stdcall; external KernelDLL name 'CreateEventW';
+    cdecl; external KernelDLL name 'CreateEventW';
 
-function CreateEvent(lpEventAttributes:pointer;bManualReset:longbool;bInitialState:longbool;lpName:pchar): THandle; stdcall;
+function CreateEvent(lpEventAttributes:pointer;bManualReset:longbool;bInitialState:longbool;lpName:pchar): THandle; 
 var
   buf: array[0..MaxPathLen] of WideChar;
 begin
@@ -496,21 +496,21 @@ begin
 end;
 
 function EventModify(h: THandle; func: DWORD): LONGBOOL;
-    stdcall; external KernelDLL name 'EventModify';
+     cdecl; external KernelDLL name 'EventModify';
 function TlsCall(p1, p2: DWORD): DWORD;
-    stdcall; external KernelDLL name 'TlsCall';
+     cdecl; external KernelDLL name 'TlsCall';
 
-function ResetEvent(h: THandle): LONGBOOL; stdcall;
+function ResetEvent(h: THandle): LONGBOOL; 
 begin
 	ResetEvent := EventModify(h,EVENT_RESET);
 end;
 
-function SetEvent(h: THandle): LONGBOOL; stdcall;
+function SetEvent(h: THandle): LONGBOOL; 
 begin
 	SetEvent := EventModify(h,EVENT_SET);
 end;
 
-function GetCurrentProcessId:DWORD; stdcall;
+function GetCurrentProcessId:DWORD; 
 var
   p: PHandle;
 begin
@@ -518,7 +518,7 @@ begin
   GetCurrentProcessId := p^;
 end;
 
-function Win32GetCurrentThreadId:DWORD; stdcall;
+function Win32GetCurrentThreadId:DWORD; 
 var
   p: PHandle;
 begin
@@ -530,12 +530,12 @@ const
   TLS_FUNCALLOC = 0;
   TLS_FUNCFREE  = 1;
 
-function TlsAlloc : DWord; stdcall;
+function TlsAlloc : DWord; 
 begin
   TlsAlloc := TlsCall(TLS_FUNCALLOC, 0);
 end;
 
-function TlsFree(dwTlsIndex : DWord) : LongBool; stdcall;
+function TlsFree(dwTlsIndex : DWord) : LongBool; 
 begin
   TlsFree := LongBool(TlsCall(TLS_FUNCFREE, dwTlsIndex));
 end;
@@ -545,7 +545,7 @@ end;
 *****************************************************************************}
 
 function GetCommandLine : pwidechar;
-    stdcall;external KernelDLL name 'GetCommandLineW';
+    cdecl; external KernelDLL name 'GetCommandLineW';
 
 var
   ModuleName : array[0..255] of char;
@@ -802,8 +802,8 @@ end;
                          System Dependent Exit code
 *****************************************************************************}
 
-procedure PascalMain;stdcall;external name 'PASCALMAIN';
-procedure ExitThread(Exitcode : longint); external 'coredll';
+procedure PascalMain;external name 'PASCALMAIN';
+procedure ExitThread(Exitcode : longint); cdecl; external 'coredll';
 
 Procedure system_exit;
 begin
@@ -1110,13 +1110,13 @@ type
 {$ifdef CPUI386}
 {**************************** i386 Exception handling *****************************************}
 
-function GetCurrentProcess:DWORD; stdcall;
+function GetCurrentProcess:DWORD; 
 begin
   GetCurrentProcess := SH_CURPROC+SYS_HANDLE_BASE;
 end;
 
 function ReadProcessMemory(process : dword;address : pointer;dest : pointer;size : dword;bytesread : pdword) :  longbool;
- stdcall;external 'coredll' name 'ReadProcessMemory';
+   cdecl; external 'coredll' name 'ReadProcessMemory';
 
 function is_prefetch(p : pointer) : boolean;
 var
@@ -1192,10 +1192,8 @@ begin
   if IsConsole then
     writeln(stderr,'In JumpToHandleErrorFrame error=',error);
 {$endif SYSTEMEXCEPTIONDEBUG}
-  if resetFPU[exceptLevel] then asm
-    fninit
-    fldcw   fpucw
-  end;
+  if resetFPU[exceptLevel] then
+    SysResetFPU;
   { build a fake stack }
   asm
 {$ifdef REGCALL}
@@ -1466,19 +1464,19 @@ begin
 {$endif CPUI386}
 end;
 
-procedure _FPC_mainCRTStartup;stdcall;public name '_mainCRTStartup';
+procedure _FPC_mainCRTStartup;public name '_mainCRTStartup';
 begin
   IsConsole:=True;
   Exe_entry;
 end;
 
-procedure _FPC_WinMainCRTStartup;stdcall;public name '_WinMainCRTStartup';
+procedure _FPC_WinMainCRTStartup;public name '_WinMainCRTStartup';
 begin
   IsConsole:=False;
   Exe_entry;
 end;
 
-procedure _FPC_DLLMainCRTStartup(_hinstance,_dllreason,_dllparam:longint);stdcall;public name '_DLLMainCRTStartup';
+procedure _FPC_DLLMainCRTStartup(_hinstance,_dllreason,_dllparam:longint);public name '_DLLMainCRTStartup';
 begin
   IsConsole:=true;
   sysinstance:=_hinstance;
@@ -1488,7 +1486,7 @@ begin
 end;
 
 
-procedure _FPC_DLLWinMainCRTStartup(_hinstance,_dllreason,_dllparam:longint);stdcall;public name '_DLLWinMainCRTStartup';
+procedure _FPC_DLLWinMainCRTStartup(_hinstance,_dllreason,_dllparam:longint);public name '_DLLWinMainCRTStartup';
 begin
   IsConsole:=false;
   sysinstance:=_hinstance;
@@ -1501,8 +1499,8 @@ end;
                       OS dependend widestrings
 ****************************************************************************}
 
-function CharUpperBuff(lpsz:LPWSTR; cchLength:DWORD):DWORD; stdcall; external KernelDLL name 'CharUpperBuffW';
-function CharLowerBuff(lpsz:LPWSTR; cchLength:DWORD):DWORD; stdcall; external KernelDLL name 'CharLowerBuffW';
+function CharUpperBuff(lpsz:LPWSTR; cchLength:DWORD):DWORD; cdecl; external KernelDLL name 'CharUpperBuffW';
+function CharLowerBuff(lpsz:LPWSTR; cchLength:DWORD):DWORD; cdecl; external KernelDLL name 'CharLowerBuffW';
 
 
 procedure WinCEWide2AnsiMove(source:pwidechar;var dest:ansistring;len:SizeInt);
@@ -1578,10 +1576,10 @@ procedure InitWinCEWidestrings;
                     Memory manager
 ****************************************************************************}
 
-function malloc(Size : ptrint) : Pointer; external 'coredll';
-procedure free(P : pointer); external 'coredll';
-function realloc(P : Pointer; Size : ptrint) : pointer; external 'coredll';
-function _msize(P : pointer): ptrint; external 'coredll';
+function malloc(Size : ptrint) : Pointer; cdecl; external 'coredll';
+procedure free(P : pointer); cdecl; external 'coredll';
+function realloc(P : Pointer; Size : ptrint) : pointer; cdecl; external 'coredll';
+function _msize(P : pointer): ptrint; cdecl; external 'coredll';
 
 function SysGetMem (Size : ptrint) : Pointer;
 begin

+ 2 - 2
rtl/wince/windows.pp

@@ -23,8 +23,8 @@ unit windows;
 
 { stuff like array of const is used }
 {$mode objfpc}
-{$calling cdecl}   //convention is cdecl except for x86 emulator stdcall
-                   //change nothing on arm
+{ convention is cdecl for WinCE API}
+{$calling cdecl}
 
 interface
 

+ 43 - 43
rtl/wince/wininc/base.inc

@@ -562,102 +562,102 @@
 
  type
 
-     BFFCALLBACK = function (_para1:HWND; _para2:UINT; _para3:LPARAM; _para4:LPARAM):longint;stdcall;
+     BFFCALLBACK = function (_para1:HWND; _para2:UINT; _para3:LPARAM; _para4:LPARAM):longint;
 
-     LPCCHOOKPROC = function (_para1:HWND; _para2:UINT; _para3:WPARAM; _para4:LPARAM):UINT;stdcall;
+     LPCCHOOKPROC = function (_para1:HWND; _para2:UINT; _para3:WPARAM; _para4:LPARAM):UINT;
 
-     LPCFHOOKPROC = function (_para1:HWND; _para2:UINT; _para3:WPARAM; _para4:LPARAM):UINT;stdcall;
+     LPCFHOOKPROC = function (_para1:HWND; _para2:UINT; _para3:WPARAM; _para4:LPARAM):UINT;
 
      PTHREAD_START_ROUTINE = Pointer;
 
      LPTHREAD_START_ROUTINE = PTHREAD_START_ROUTINE;
 
-     EDITSTREAMCALLBACK = function (_para1:DWORD; _para2:LPBYTE; _para3:LONG; _para4:LONG):DWORD;stdcall;
+     EDITSTREAMCALLBACK = function (_para1:DWORD; _para2:LPBYTE; _para3:LONG; _para4:LONG):DWORD;
 
-     LPFRHOOKPROC = function (_para1:HWND; _para2:UINT; _para3:WPARAM; _para4:LPARAM):UINT;stdcall;
+     LPFRHOOKPROC = function (_para1:HWND; _para2:UINT; _para3:WPARAM; _para4:LPARAM):UINT;
 
-     LPOFNHOOKPROC = function (_para1:HWND; _para2:UINT; _para3:WPARAM; _para4:LPARAM):UINT;stdcall;
+     LPOFNHOOKPROC = function (_para1:HWND; _para2:UINT; _para3:WPARAM; _para4:LPARAM):UINT;
 
-     LPPRINTHOOKPROC = function (_para1:HWND; _para2:UINT; _para3:WPARAM; _para4:LPARAM):UINT;stdcall;
+     LPPRINTHOOKPROC = function (_para1:HWND; _para2:UINT; _para3:WPARAM; _para4:LPARAM):UINT;
 
-     LPSETUPHOOKPROC = function (_para1:HWND; _para2:UINT; _para3:WPARAM; _para4:LPARAM):UINT;stdcall;
+     LPSETUPHOOKPROC = function (_para1:HWND; _para2:UINT; _para3:WPARAM; _para4:LPARAM):UINT;
 
-     DLGPROC = function (_para1:HWND; _para2:UINT; _para3:WPARAM; _para4:LPARAM):LRESULT;stdcall;
+     DLGPROC = function (_para1:HWND; _para2:UINT; _para3:WPARAM; _para4:LPARAM):LRESULT;
 
-     PFNPROPSHEETCALLBACK = function (_para1:HWND; _para2:UINT; _para3:LPARAM):longint;stdcall;
+     PFNPROPSHEETCALLBACK = function (_para1:HWND; _para2:UINT; _para3:LPARAM):longint;
 
-     LPSERVICE_MAIN_FUNCTION = procedure (_para1:DWORD; _para2:LPTSTR);stdcall;
+     LPSERVICE_MAIN_FUNCTION = procedure (_para1:DWORD; _para2:LPTSTR);
 
-     PFNTVCOMPARE = function (_para1:LPARAM; _para2:LPARAM; _para3:LPARAM):longint;stdcall;
+     PFNTVCOMPARE = function (_para1:LPARAM; _para2:LPARAM; _para3:LPARAM):longint;
 
-     WNDPROC = function (_para1:HWND; _para2:UINT; _para3:WPARAM; _para4:LPARAM):LRESULT;stdcall;
+     WNDPROC = function (_para1:HWND; _para2:UINT; _para3:WPARAM; _para4:LPARAM):LRESULT;
 
 
      FARPROC = pointer;    //windef
      NEARPROC= FARPROC;    //+windef
      PROC = FARPROC;       //~windef
 
-     ENUMRESTYPEPROC = function (_para1:HANDLE; _para2:LPTSTR; _para3:LONG):WINBOOL;stdcall;
+     ENUMRESTYPEPROC = function (_para1:HANDLE; _para2:LPTSTR; _para3:LONG):WINBOOL;
 
-     ENUMRESNAMEPROC = function (_para1:HANDLE; _para2:LPCTSTR; _para3:LPTSTR; _para4:LONG):WINBOOL;stdcall;
+     ENUMRESNAMEPROC = function (_para1:HANDLE; _para2:LPCTSTR; _para3:LPTSTR; _para4:LONG):WINBOOL;
 
-     ENUMRESLANGPROC = function (_para1:HANDLE; _para2:LPCTSTR; _para3:LPCTSTR; _para4:WORD; _para5:LONG):WINBOOL;stdcall;
+     ENUMRESLANGPROC = function (_para1:HANDLE; _para2:LPCTSTR; _para3:LPCTSTR; _para4:WORD; _para5:LONG):WINBOOL;
 
      DESKTOPENUMPROC = FARPROC;
 
-     ENUMWINDOWSPROC = function (_para1:HWND; _para2:LPARAM):WINBOOL;stdcall;
+     ENUMWINDOWSPROC = function (_para1:HWND; _para2:LPARAM):WINBOOL;
 
-     ENUMWINDOWSTATIONPROC = function (_para1:LPTSTR; _para2:LPARAM):WINBOOL;stdcall;
+     ENUMWINDOWSTATIONPROC = function (_para1:LPTSTR; _para2:LPARAM):WINBOOL;
 
-     SENDASYNCPROC = procedure (_para1:HWND; _para2:UINT; _para3:DWORD; _para4:LRESULT);stdcall;
+     SENDASYNCPROC = procedure (_para1:HWND; _para2:UINT; _para3:DWORD; _para4:LRESULT);
 
-     TIMERPROC = procedure (_para1:HWND; _para2:UINT; _para3:UINT; _para4:DWORD);stdcall;
+     TIMERPROC = procedure (_para1:HWND; _para2:UINT; _para3:UINT; _para4:DWORD);
 
      GRAYSTRINGPROC = FARPROC;
 
-     DRAWSTATEPROC = function (_para1:HDC; _para2:LPARAM; _para3:WPARAM; _para4:longint; _para5:longint):WINBOOL;stdcall;
+     DRAWSTATEPROC = function (_para1:HDC; _para2:LPARAM; _para3:WPARAM; _para4:longint; _para5:longint):WINBOOL;
 
-     PROPENUMPROCEX = function (_para1:HWND; _para2:LPCTSTR; _para3:HANDLE; _para4:DWORD):WINBOOL;stdcall;
+     PROPENUMPROCEX = function (_para1:HWND; _para2:LPCTSTR; _para3:HANDLE; _para4:DWORD):WINBOOL;
 
-     PROPENUMPROC = function (_para1:HWND; _para2:LPCTSTR; _para3:HANDLE):WINBOOL;stdcall;
+     PROPENUMPROC = function (_para1:HWND; _para2:LPCTSTR; _para3:HANDLE):WINBOOL;
 
-     HOOKPROC = function (_para1:longint; _para2:WPARAM; _para3:LPARAM):LRESULT;stdcall;
+     HOOKPROC = function (_para1:longint; _para2:WPARAM; _para3:LPARAM):LRESULT;
 
-     ENUMOBJECTSPROC = procedure (_para1:LPVOID; _para2:LPARAM);stdcall;
+     ENUMOBJECTSPROC = procedure (_para1:LPVOID; _para2:LPARAM);
 
-     LINEDDAPROC = procedure (_para1:longint; _para2:longint; _para3:LPARAM);stdcall;
+     LINEDDAPROC = procedure (_para1:longint; _para2:longint; _para3:LPARAM);
 
-     TABORTPROC = function (_para1:HDC; _para2:longint):WINBOOL;stdcall;
+     TABORTPROC = function (_para1:HDC; _para2:longint):WINBOOL;
 
-     LPPAGEPAINTHOOK = function (_para1:HWND; _para2:UINT; _para3:WPARAM; _para4:LPARAM):UINT;stdcall;
+     LPPAGEPAINTHOOK = function (_para1:HWND; _para2:UINT; _para3:WPARAM; _para4:LPARAM):UINT;
 
-     LPPAGESETUPHOOK = function (_para1:HWND; _para2:UINT; _para3:WPARAM; _para4:LPARAM):UINT;stdcall;
+     LPPAGESETUPHOOK = function (_para1:HWND; _para2:UINT; _para3:WPARAM; _para4:LPARAM):UINT;
 
-     ICMENUMPROC = function (_para1:LPTSTR; _para2:LPARAM):longint;stdcall;
+     ICMENUMPROC = function (_para1:LPTSTR; _para2:LPARAM):longint;
 
-     EDITWORDBREAKPROCEX = function (_para1:pchar; _para2:LONG; _para3:BYTE; _para4:WINT):LONG;stdcall;
+     EDITWORDBREAKPROCEX = function (_para1:pchar; _para2:LONG; _para3:BYTE; _para4:WINT):LONG;
 
-     PFNLVCOMPARE = function (_para1:LPARAM; _para2:LPARAM; _para3:LPARAM):longint;stdcall;
+     PFNLVCOMPARE = function (_para1:LPARAM; _para2:LPARAM; _para3:LPARAM):longint;
 
-     LOCALE_ENUMPROC = function (_para1:LPTSTR):WINBOOL;stdcall;
+     LOCALE_ENUMPROC = function (_para1:LPTSTR):WINBOOL;
 
-     CODEPAGE_ENUMPROC = function (_para1:LPTSTR):WINBOOL;stdcall;
+     CODEPAGE_ENUMPROC = function (_para1:LPTSTR):WINBOOL;
      CODEPAGE_ENUMPROCW = function (_para1:LPWSTR):WINBOOL;        //+winnls
-     DATEFMT_ENUMPROC = function (_para1:LPTSTR):WINBOOL;stdcall;
+     DATEFMT_ENUMPROC = function (_para1:LPTSTR):WINBOOL;
 
-     TIMEFMT_ENUMPROC = function (_para1:LPTSTR):WINBOOL;stdcall;
+     TIMEFMT_ENUMPROC = function (_para1:LPTSTR):WINBOOL;
 
-     CALINFO_ENUMPROC = function (_para1:LPTSTR):WINBOOL;stdcall;
+     CALINFO_ENUMPROC = function (_para1:LPTSTR):WINBOOL;
 
-     PHANDLER_ROUTINE = function (_para1:DWORD):WINBOOL;stdcall;
+     PHANDLER_ROUTINE = function (_para1:DWORD):WINBOOL;
 
-     LPHANDLER_FUNCTION = function (_para1:DWORD):WINBOOL;stdcall;
+     LPHANDLER_FUNCTION = function (_para1:DWORD):WINBOOL;
 
-     PFNGETPROFILEPATH = function (_para1:LPCTSTR; _para2:LPSTR; _para3:UINT):UINT;stdcall;
+     PFNGETPROFILEPATH = function (_para1:LPCTSTR; _para2:LPSTR; _para3:UINT):UINT;
 
-     PFNRECONCILEPROFILE = function (_para1:LPCTSTR; _para2:LPCTSTR; _para3:DWORD):UINT;stdcall;
+     PFNRECONCILEPROFILE = function (_para1:LPCTSTR; _para2:LPCTSTR; _para3:DWORD):UINT;
 
-     PFNPROCESSPOLICIES = function (_para1:HWND; _para2:LPCTSTR; _para3:LPCTSTR; _para4:LPCTSTR; _para5:DWORD):WINBOOL;stdcall;
+     PFNPROCESSPOLICIES = function (_para1:HWND; _para2:LPCTSTR; _para3:LPCTSTR; _para4:LPCTSTR; _para5:DWORD):WINBOOL;
   const
      SE_CREATE_TOKEN_NAME = 'SeCreateTokenPrivilege';
      SE_ASSIGNPRIMARYTOKEN_NAME = 'SeAssignPrimaryTokenPrivilege';
@@ -709,7 +709,7 @@
 type
 
      { PFNCALLBACK = CALLB; }
-     PFNCALLBACK = function(_para1, _para2: UINT;_para3: HCONV;_para4, _para5: HSZ; _para6: HDDEDATA;_para7 ,_para8 :DWORD): HDDEData;stdcall;
+     PFNCALLBACK = function(_para1, _para2: UINT;_para3: HCONV;_para4, _para5: HSZ; _para6: HDDEDATA;_para7 ,_para8 :DWORD): HDDEData;
      { CALLB = procedure ;CDECL; }
        CALLB = PFNCALLBACK;
 

+ 10 - 10
rtl/wince/wininc/struct.inc

@@ -5049,7 +5049,7 @@
      TMOUSEKEYS = MOUSEKEYS;
      PMOUSEKEYS = ^MOUSEKEYS;
 
-     MSGBOXCALLBACK = procedure (lpHelpInfo:LPHELPINFO);stdcall;
+     MSGBOXCALLBACK = procedure (lpHelpInfo:LPHELPINFO);
      TMSGBOXCALLBACK = MSGBOXCALLBACK;
 
      MSGBOXPARAMS = record
@@ -5993,7 +5993,7 @@
      TPROCESSINFORMATION = PROCESS_INFORMATION;
      PPROCESSINFORMATION = ^PROCESS_INFORMATION;
 
-     LPFNPSPCALLBACK = function (_para1:HWND; _para2:UINT; _para3:LPVOID):UINT;stdcall;
+     LPFNPSPCALLBACK = function (_para1:HWND; _para2:UINT; _para3:LPVOID):UINT;
      TFNPSPCALLBACK = LPFNPSPCALLBACK;
 
      PROPSHEETPAGEA = record
@@ -6136,10 +6136,10 @@
 
 
      { PropertySheet callbacks  }
-     LPFNADDPROPSHEETPAGE = function (_para1:HPROPSHEETPAGE; _para2:LPARAM):WINBOOL;stdcall;
+     LPFNADDPROPSHEETPAGE = function (_para1:HPROPSHEETPAGE; _para2:LPARAM):WINBOOL;
      TFNADDPROPSHEETPAGE = LPFNADDPROPSHEETPAGE;
 
-     LPFNADDPROPSHEETPAGES = function (_para1:LPVOID; _para2:LPFNADDPROPSHEETPAGE; _para3:LPARAM):WINBOOL;stdcall;
+     LPFNADDPROPSHEETPAGES = function (_para1:LPVOID; _para2:LPFNADDPROPSHEETPAGE; _para3:LPARAM):WINBOOL;
      TFNADDPROPSHEETPAGES = LPFNADDPROPSHEETPAGES;
 
      PROTOCOL_INFO = record
@@ -7387,17 +7387,17 @@
      TNETCONNECTINFOSTRUCT = NETCONNECTINFOSTRUCT;
      PNETCONNECTINFOSTRUCT = ^NETCONNECTINFOSTRUCT;
 
-     ENUMMETAFILEPROC = function (_para1:HDC; _para2:HANDLETABLE; _para3:METARECORD; _para4:longint; _para5:LPARAM):longint;stdcall;
+     ENUMMETAFILEPROC = function (_para1:HDC; _para2:HANDLETABLE; _para3:METARECORD; _para4:longint; _para5:LPARAM):longint;
 
-     ENHMETAFILEPROC = function (_para1:HDC; _para2:HANDLETABLE; _para3:ENHMETARECORD; _para4:longint; _para5:LPARAM):longint;stdcall;
+     ENHMETAFILEPROC = function (_para1:HDC; _para2:HANDLETABLE; _para3:ENHMETARECORD; _para4:longint; _para5:LPARAM):longint;
 
-     ENUMFONTSPROC = function (_para1:LPLOGFONT; _para2:LPTEXTMETRIC; _para3:DWORD; _para4:LPARAM):longint;stdcall;
+     ENUMFONTSPROC = function (_para1:LPLOGFONT; _para2:LPTEXTMETRIC; _para3:DWORD; _para4:LPARAM):longint;
 
-     FONTENUMPROC = function (var _para1:ENUMLOGFONT; var _para2:NEWTEXTMETRIC; _para3:longint; _para4:LPARAM):longint;stdcall;
+     FONTENUMPROC = function (var _para1:ENUMLOGFONT; var _para2:NEWTEXTMETRIC; _para3:longint; _para4:LPARAM):longint;
 
-     FONTENUMEXPROC = function (var _para1:ENUMLOGFONTEX;var _para2:NEWTEXTMETRICEX; _para3:longint; _para4:LPARAM):longint;stdcall;
+     FONTENUMEXPROC = function (var _para1:ENUMLOGFONTEX;var _para2:NEWTEXTMETRICEX; _para3:longint; _para4:LPARAM):longint;
 
-     LPOVERLAPPED_COMPLETION_ROUTINE = procedure (_para1:DWORD; _para2:DWORD; _para3:LPOVERLAPPED);stdcall;
+     LPOVERLAPPED_COMPLETION_ROUTINE = procedure (_para1:DWORD; _para2:DWORD; _para3:LPOVERLAPPED);
 
      { Structures for the extensions to OpenGL }
 

+ 3 - 3
rtl/wince/winres.inc

@@ -1,7 +1,7 @@
 
-function SysFindResource(hModule:HMODULE; lpName: PWideChar; lpType: PWideChar):TResourceHandle; external 'coredll' name 'FindResourceW';
-function SysLoadResource(hModule:HMODULE; hResInfo: TResourceHandle):HGLOBAL; external 'coredll' name 'LoadResource';
-function SysSizeofResource(hModule:HMODULE; hResInfo:TResourceHandle):DWORD; external 'coredll' name 'SizeofResource';
+function SysFindResource(hModule:HMODULE; lpName: PWideChar; lpType: PWideChar):TResourceHandle; cdecl; external 'coredll' name 'FindResourceW';
+function SysLoadResource(hModule:HMODULE; hResInfo: TResourceHandle):HGLOBAL; cdecl; external 'coredll' name 'LoadResource';
+function SysSizeofResource(hModule:HMODULE; hResInfo:TResourceHandle):DWORD; cdecl; external 'coredll' name 'SizeofResource';
 
 Function HINSTANCE: HMODULE;
 begin

+ 2 - 0
rtl/wince/winsock.pp

@@ -26,6 +26,8 @@ unit winsock;
 {$ifdef support_smartlink}
 {$smartlink on}
 {$endif}
+{ convention is cdecl for WinCE API}
+{$calling cdecl}
 
 
 {remaining functions exported from ws2.dll and not used yet = to do,

+ 130 - 128
rtl/wince/winsock2.pp

@@ -13,6 +13,8 @@
 unit WinSock2;
 
 {$smartlink on}
+{ convention is cdecl for WinCE API}
+{$calling cdecl}
 
 interface
 
@@ -1091,107 +1093,107 @@ Type
 { WSAAccept() and overlapped I/O completion routine. }
 Type
         LPCONDITIONPROC = function (lpCallerId: LPWSABUF; lpCallerData : LPWSABUF; lpSQOS,lpGQOS : LPQOS; lpCalleeId,lpCalleeData : LPWSABUF;
-                g : GROUP; dwCallbackData : DWORD ) : Longint; stdcall;
-        LPWSAOVERLAPPED_COMPLETION_ROUTINE = procedure ( const dwError, cbTransferred : DWORD; const lpOverlapped : LPWSAOVERLAPPED; const dwFlags : DWORD ); stdcall;
+                g : GROUP; dwCallbackData : DWORD ) : Longint; 
+        LPWSAOVERLAPPED_COMPLETION_ROUTINE = procedure ( const dwError, cbTransferred : DWORD; const lpOverlapped : LPWSAOVERLAPPED; const dwFlags : DWORD ); 
 
 
 //begin common win & wince
-function accept( const s: TSocket; addr: PSockAddr; addrlen: PLongint ): TSocket; stdcall;external WINSOCK2_DLL name 'accept';
-function accept( const s: TSocket; addr: PSockAddr; var addrlen: Longint ): TSocket; stdcall;external WINSOCK2_DLL name 'accept';
-function bind( const s: TSocket; addr: PSockAddr; const namelen: Longint ): Longint; stdcall;external WINSOCK2_DLL name 'bind';
-function bind( const s: TSocket; const addr: TSockAddr; namelen: Longint ): Longint; stdcall;external WINSOCK2_DLL name 'bind';
-function closesocket( const s: TSocket ): Longint; stdcall;external WINSOCK2_DLL name 'closesocket';
-function connect( const s: TSocket; name: PSockAddr; namelen: Longint): Longint; stdcall;external WINSOCK2_DLL name 'connect';
-function connect( const s: TSocket; const name: TSockAddr; namelen: Longint): Longint; stdcall;external WINSOCK2_DLL name 'connect';
-
-function gethostbyaddr(addr: Pointer; len, struct: Longint): PHostEnt; stdcall;external WINSOCK2_DLL name 'gethostbyaddr';
-function gethostbyname(name: PChar): PHostEnt; stdcall;external WINSOCK2_DLL name 'gethostbyname';
-function gethostname(name: PChar; len: Longint): Longint; stdcall;external WINSOCK2_DLL name 'gethostname';
-function getpeername( const s: TSocket; var name: TSockAddr; var namelen: Longint ): Longint; stdcall;external WINSOCK2_DLL name 'getpeername';
-function getprotobyname(name: PChar): PProtoEnt; stdcall;external WINSOCK2_DLL name 'getprotobyname';
-function getprotobynumber(proto: Longint): PProtoEnt; stdcall;external WINSOCK2_DLL name 'getprotobynumber';
-function getservbyport(port: Longint; proto: PChar): PServEnt; stdcall;external WINSOCK2_DLL name 'getservbyport';
-function getservbyname(name, proto: PChar): PServEnt; stdcall;external WINSOCK2_DLL name 'getservbyname';
-function getsockname( const s: TSocket; var name: TSockAddr; var namelen: Longint ): Longint; stdcall;external WINSOCK2_DLL name 'getsockname';
-function getsockopt( const s: TSocket; const level, optname: Longint; optval: PChar; var optlen: Longint ): Longint; stdcall;external WINSOCK2_DLL name 'getsockopt';
-function getsockopt( const s: TSocket; const level, optname: Longint; optval: Pointer; var optlen: Longint ): Longint; stdcall;external WINSOCK2_DLL name 'getsockopt';
-function getsockopt( const s: TSocket; const level, optname: Longint; var optval; var optlen: Longint ): Longint; stdcall;external WINSOCK2_DLL name 'getsockopt';
-function htonl(hostlong: u_long): u_long; stdcall;external WINSOCK2_DLL name 'htonl';
-function htons(hostshort: u_short): u_short; stdcall;external WINSOCK2_DLL name 'htons';
-function inet_addr(cp: PChar): u_long; stdcall;external WINSOCK2_DLL name 'inet_addr';
-function inet_ntoa(inaddr: TInAddr): PChar; stdcall;external WINSOCK2_DLL name 'inet_ntoa';
-function ioctlsocket( const s: TSocket; cmd: Longint; var arg: u_long ): Longint; stdcall;external WINSOCK2_DLL name 'ioctlsocket';
-function ioctlsocket( const s: TSocket; cmd: Longint; argp: pu_long ): Longint; stdcall;external WINSOCK2_DLL name 'ioctlsocket';
-function listen(s: TSocket; backlog: Longint): Longint; stdcall;external WINSOCK2_DLL name 'listen';
-function ntohl(netlong: u_long): u_long; stdcall;external WINSOCK2_DLL name 'ntohl';
-function ntohs(netshort: u_short): u_short; stdcall;external WINSOCK2_DLL name 'ntohs';
-function recv(s: TSocket; var Buf; len, flags: Longint): Longint; stdcall;external WINSOCK2_DLL name 'recv';
-function recv(s: TSocket; Buf: PChar; len, flags: Longint): Longint; stdcall;external WINSOCK2_DLL name 'recv';
-function recv(s: TSocket; Buf: Pointer; len, flags: Longint): Longint; stdcall;external WINSOCK2_DLL name 'recv';
-function recvfrom(s: TSocket; Buf: PChar; len, flags: Longint; from: PSockAddr; fromlen: PLongint): Longint; stdcall;external WINSOCK2_DLL name 'recvfrom';
-function recvfrom(s: TSocket; Buf: Pointer; len, flags: Longint; from: PSockAddr; fromlen: PLongint): Longint; stdcall;external WINSOCK2_DLL name 'recvfrom';
-function recvfrom(s: TSocket; var Buf; len, flags: Longint; const from: TSockAddr; var fromlen: Longint): Longint; stdcall;external WINSOCK2_DLL name 'recvfrom';
-function select(nfds: Longint; readfds, writefds, exceptfds: PFDSet; timeout: PTimeVal): Longint; stdcall;external WINSOCK2_DLL name 'select';
-function send(s: TSocket; const Buf; len, flags: Longint): Longint; stdcall;external WINSOCK2_DLL name 'send';
-function send(s: TSocket; Buf: PChar; len, flags: Longint): Longint; stdcall;external WINSOCK2_DLL name 'send';
-function send(s: TSocket; Buf: Pointer; len, flags: Longint): Longint; stdcall;external WINSOCK2_DLL name 'send';
-function sendto(s: TSocket; const Buf; len, flags: Longint; const addrto: TSockAddr; tolen: Longint): Longint; stdcall;external WINSOCK2_DLL name 'sendto';
-function sendto(s: TSocket; Buf: PChar; len, flags: Longint; addrto: PSockAddr; tolen: Longint): Longint; stdcall;external WINSOCK2_DLL name 'sendto';
-function sendto(s: TSocket; Buf: Pointer; len, flags: Longint; addrto: PSockAddr; tolen: Longint): Longint; stdcall;external WINSOCK2_DLL name 'sendto';
-function setsockopt(s: TSocket; level, optname: Longint; const optval; optlen: Longint): Longint; stdcall;external WINSOCK2_DLL name 'setsockopt';
-function setsockopt(s: TSocket; level, optname: Longint; optval: PChar; optlen: Longint): Longint; stdcall;external WINSOCK2_DLL name 'setsockopt';
-function setsockopt(s: TSocket; level, optname: Longint; optval: Pointer; optlen: Longint): Longint; stdcall;external WINSOCK2_DLL name 'setsockopt';
-function shutdown(s: TSocket; how: Longint): Longint; stdcall;external WINSOCK2_DLL name 'shutdown';
-function socket(af, struct, protocol: Longint): TSocket; stdcall;external WINSOCK2_DLL name 'socket';
+function accept( const s: TSocket; addr: PSockAddr; addrlen: PLongint ): TSocket; external WINSOCK2_DLL name 'accept';
+function accept( const s: TSocket; addr: PSockAddr; var addrlen: Longint ): TSocket; external WINSOCK2_DLL name 'accept';
+function bind( const s: TSocket; addr: PSockAddr; const namelen: Longint ): Longint; external WINSOCK2_DLL name 'bind';
+function bind( const s: TSocket; const addr: TSockAddr; namelen: Longint ): Longint; external WINSOCK2_DLL name 'bind';
+function closesocket( const s: TSocket ): Longint; external WINSOCK2_DLL name 'closesocket';
+function connect( const s: TSocket; name: PSockAddr; namelen: Longint): Longint; external WINSOCK2_DLL name 'connect';
+function connect( const s: TSocket; const name: TSockAddr; namelen: Longint): Longint; external WINSOCK2_DLL name 'connect';
+
+function gethostbyaddr(addr: Pointer; len, struct: Longint): PHostEnt; external WINSOCK2_DLL name 'gethostbyaddr';
+function gethostbyname(name: PChar): PHostEnt; external WINSOCK2_DLL name 'gethostbyname';
+function gethostname(name: PChar; len: Longint): Longint; external WINSOCK2_DLL name 'gethostname';
+function getpeername( const s: TSocket; var name: TSockAddr; var namelen: Longint ): Longint; external WINSOCK2_DLL name 'getpeername';
+function getprotobyname(name: PChar): PProtoEnt; external WINSOCK2_DLL name 'getprotobyname';
+function getprotobynumber(proto: Longint): PProtoEnt; external WINSOCK2_DLL name 'getprotobynumber';
+function getservbyport(port: Longint; proto: PChar): PServEnt; external WINSOCK2_DLL name 'getservbyport';
+function getservbyname(name, proto: PChar): PServEnt; external WINSOCK2_DLL name 'getservbyname';
+function getsockname( const s: TSocket; var name: TSockAddr; var namelen: Longint ): Longint; external WINSOCK2_DLL name 'getsockname';
+function getsockopt( const s: TSocket; const level, optname: Longint; optval: PChar; var optlen: Longint ): Longint; external WINSOCK2_DLL name 'getsockopt';
+function getsockopt( const s: TSocket; const level, optname: Longint; optval: Pointer; var optlen: Longint ): Longint; external WINSOCK2_DLL name 'getsockopt';
+function getsockopt( const s: TSocket; const level, optname: Longint; var optval; var optlen: Longint ): Longint; external WINSOCK2_DLL name 'getsockopt';
+function htonl(hostlong: u_long): u_long; external WINSOCK2_DLL name 'htonl';
+function htons(hostshort: u_short): u_short; external WINSOCK2_DLL name 'htons';
+function inet_addr(cp: PChar): u_long; external WINSOCK2_DLL name 'inet_addr';
+function inet_ntoa(inaddr: TInAddr): PChar; external WINSOCK2_DLL name 'inet_ntoa';
+function ioctlsocket( const s: TSocket; cmd: Longint; var arg: u_long ): Longint; external WINSOCK2_DLL name 'ioctlsocket';
+function ioctlsocket( const s: TSocket; cmd: Longint; argp: pu_long ): Longint; external WINSOCK2_DLL name 'ioctlsocket';
+function listen(s: TSocket; backlog: Longint): Longint; external WINSOCK2_DLL name 'listen';
+function ntohl(netlong: u_long): u_long; external WINSOCK2_DLL name 'ntohl';
+function ntohs(netshort: u_short): u_short; external WINSOCK2_DLL name 'ntohs';
+function recv(s: TSocket; var Buf; len, flags: Longint): Longint; external WINSOCK2_DLL name 'recv';
+function recv(s: TSocket; Buf: PChar; len, flags: Longint): Longint; external WINSOCK2_DLL name 'recv';
+function recv(s: TSocket; Buf: Pointer; len, flags: Longint): Longint; external WINSOCK2_DLL name 'recv';
+function recvfrom(s: TSocket; Buf: PChar; len, flags: Longint; from: PSockAddr; fromlen: PLongint): Longint; external WINSOCK2_DLL name 'recvfrom';
+function recvfrom(s: TSocket; Buf: Pointer; len, flags: Longint; from: PSockAddr; fromlen: PLongint): Longint; external WINSOCK2_DLL name 'recvfrom';
+function recvfrom(s: TSocket; var Buf; len, flags: Longint; const from: TSockAddr; var fromlen: Longint): Longint; external WINSOCK2_DLL name 'recvfrom';
+function select(nfds: Longint; readfds, writefds, exceptfds: PFDSet; timeout: PTimeVal): Longint; external WINSOCK2_DLL name 'select';
+function send(s: TSocket; const Buf; len, flags: Longint): Longint; external WINSOCK2_DLL name 'send';
+function send(s: TSocket; Buf: PChar; len, flags: Longint): Longint; external WINSOCK2_DLL name 'send';
+function send(s: TSocket; Buf: Pointer; len, flags: Longint): Longint; external WINSOCK2_DLL name 'send';
+function sendto(s: TSocket; const Buf; len, flags: Longint; const addrto: TSockAddr; tolen: Longint): Longint; external WINSOCK2_DLL name 'sendto';
+function sendto(s: TSocket; Buf: PChar; len, flags: Longint; addrto: PSockAddr; tolen: Longint): Longint; external WINSOCK2_DLL name 'sendto';
+function sendto(s: TSocket; Buf: Pointer; len, flags: Longint; addrto: PSockAddr; tolen: Longint): Longint; external WINSOCK2_DLL name 'sendto';
+function setsockopt(s: TSocket; level, optname: Longint; const optval; optlen: Longint): Longint; external WINSOCK2_DLL name 'setsockopt';
+function setsockopt(s: TSocket; level, optname: Longint; optval: PChar; optlen: Longint): Longint; external WINSOCK2_DLL name 'setsockopt';
+function setsockopt(s: TSocket; level, optname: Longint; optval: Pointer; optlen: Longint): Longint; external WINSOCK2_DLL name 'setsockopt';
+function shutdown(s: TSocket; how: Longint): Longint; external WINSOCK2_DLL name 'shutdown';
+function socket(af, struct, protocol: Longint): TSocket; external WINSOCK2_DLL name 'socket';
 
 {       WinSock 2 API new function prototypes }
-function WSAAccept( s : TSocket; addr : TSockAddr; addrlen : PLongint; lpfnCondition : LPCONDITIONPROC; dwCallbackData : DWORD ): TSocket; stdcall; external WINSOCK2_DLL name 'WSAAccept';
+function WSAAccept( s : TSocket; addr : TSockAddr; addrlen : PLongint; lpfnCondition : LPCONDITIONPROC; dwCallbackData : DWORD ): TSocket;  external WINSOCK2_DLL name 'WSAAccept';
 function WSAAddressToStringW( var lpsaAddress : TSockAddr; const dwAddressLength : DWORD; const lpProtocolInfo : LPWSAProtocol_InfoW;
-        const lpszAddressString : PWideChar; var lpdwAddressStringLength : DWORD ): Longint; stdcall; external WINSOCK2_DLL name 'WSAAddressToStringW';
-function WSAAsyncGetHostByName(HWindow: HWND; wMsg: u_int; name, buf: PChar; buflen: Longint): THandle; stdcall; external WINSOCK2_DLL name 'WSAAsyncGetHostByName';
-function WSAAsyncSelect(s: TSocket; HWindow: HWND; wMsg: u_int; lEvent: Longint): Longint; stdcall; external WINSOCK2_DLL name 'WSAAsyncSelect';
-function WSACancelAsyncRequest(hAsyncTaskHandle: THandle): Longint; stdcall; external WINSOCK2_DLL name 'WSACancelAsyncRequest';
-function WSACleanup: Longint; stdcall; external WINSOCK2_DLL name 'WSACleanup';
-function WSACloseEvent( hEvent : WSAEVENT) : WordBool; stdcall; external WINSOCK2_DLL name 'WSACloseEvent';
-function WSAConnect( s : TSocket; const name : PSockAddr; namelen : Longint; lpCallerData,lpCalleeData : LPWSABUF; lpSQOS,lpGQOS : LPQOS ) : Longint; stdcall; external WINSOCK2_DLL name 'WSAConnect';
-function WSACreateEvent : WSAEVENT; stdcall; external WINSOCK2_DLL name 'WSACreateEvent';
-function WSAEnumNameSpaceProvidersW( var lpdwBufferLength: DWORD; const lpnspBuffer: LPWSANameSpace_InfoW ): Longint; stdcall; external WINSOCK2_DLL name 'WSAEnumNameSpaceProvidersW';
-function WSAEnumNetworkEvents( const s : TSocket; const hEventObject : WSAEVENT; lpNetworkEvents : LPWSANETWORKEVENTS ) :Longint; stdcall; external WINSOCK2_DLL name 'WSAEnumNetworkEvents';
-function WSAEnumProtocolsW( lpiProtocols : PLongint; lpProtocolBuffer : LPWSAProtocol_InfoW; var lpdwBufferLength : DWORD ) : Longint; stdcall; external WINSOCK2_DLL name 'WSAEnumProtocolsW';
-function WSAEventSelect( s : TSocket; hEventObject : WSAEVENT; lNetworkEvents : LongInt ): Longint; stdcall; external WINSOCK2_DLL name 'WSAEventSelect';
-function WSAGetLastError: Longint; stdcall; external WINSOCK2_DLL name 'WSAGetLastError';
-function WSAGetOverlappedResult( s : TSocket; lpOverlapped : LPWSAOVERLAPPED; lpcbTransfer : LPDWORD; fWait : BOOL; var lpdwFlags : DWORD ) : WordBool; stdcall; external WINSOCK2_DLL name 'WSAGetOverlappedResult';
-function WSAhtonl( s : TSocket; hostlong : u_long; var lpnetlong : DWORD ): Longint; stdcall; external WINSOCK2_DLL name 'WSAhtonl';
-function WSAhtons( s : TSocket; hostshort : u_short; var lpnetshort : WORD ): Longint; stdcall; external WINSOCK2_DLL name 'WSAhtons';
+        const lpszAddressString : PWideChar; var lpdwAddressStringLength : DWORD ): Longint;  external WINSOCK2_DLL name 'WSAAddressToStringW';
+function WSAAsyncGetHostByName(HWindow: HWND; wMsg: u_int; name, buf: PChar; buflen: Longint): THandle;  external WINSOCK2_DLL name 'WSAAsyncGetHostByName';
+function WSAAsyncSelect(s: TSocket; HWindow: HWND; wMsg: u_int; lEvent: Longint): Longint;  external WINSOCK2_DLL name 'WSAAsyncSelect';
+function WSACancelAsyncRequest(hAsyncTaskHandle: THandle): Longint;  external WINSOCK2_DLL name 'WSACancelAsyncRequest';
+function WSACleanup: Longint;  external WINSOCK2_DLL name 'WSACleanup';
+function WSACloseEvent( hEvent : WSAEVENT) : WordBool;  external WINSOCK2_DLL name 'WSACloseEvent';
+function WSAConnect( s : TSocket; const name : PSockAddr; namelen : Longint; lpCallerData,lpCalleeData : LPWSABUF; lpSQOS,lpGQOS : LPQOS ) : Longint;  external WINSOCK2_DLL name 'WSAConnect';
+function WSACreateEvent : WSAEVENT;  external WINSOCK2_DLL name 'WSACreateEvent';
+function WSAEnumNameSpaceProvidersW( var lpdwBufferLength: DWORD; const lpnspBuffer: LPWSANameSpace_InfoW ): Longint;  external WINSOCK2_DLL name 'WSAEnumNameSpaceProvidersW';
+function WSAEnumNetworkEvents( const s : TSocket; const hEventObject : WSAEVENT; lpNetworkEvents : LPWSANETWORKEVENTS ) :Longint;  external WINSOCK2_DLL name 'WSAEnumNetworkEvents';
+function WSAEnumProtocolsW( lpiProtocols : PLongint; lpProtocolBuffer : LPWSAProtocol_InfoW; var lpdwBufferLength : DWORD ) : Longint;  external WINSOCK2_DLL name 'WSAEnumProtocolsW';
+function WSAEventSelect( s : TSocket; hEventObject : WSAEVENT; lNetworkEvents : LongInt ): Longint;  external WINSOCK2_DLL name 'WSAEventSelect';
+function WSAGetLastError: Longint;  external WINSOCK2_DLL name 'WSAGetLastError';
+function WSAGetOverlappedResult( s : TSocket; lpOverlapped : LPWSAOVERLAPPED; lpcbTransfer : LPDWORD; fWait : BOOL; var lpdwFlags : DWORD ) : WordBool;  external WINSOCK2_DLL name 'WSAGetOverlappedResult';
+function WSAhtonl( s : TSocket; hostlong : u_long; var lpnetlong : DWORD ): Longint;  external WINSOCK2_DLL name 'WSAhtonl';
+function WSAhtons( s : TSocket; hostshort : u_short; var lpnetshort : WORD ): Longint;  external WINSOCK2_DLL name 'WSAhtons';
 function WSAIoctl( s : TSocket; dwIoControlCode : DWORD; lpvInBuffer : Pointer; cbInBuffer : DWORD; lpvOutBuffer : Pointer; cbOutBuffer : DWORD;
-        lpcbBytesReturned : LPDWORD; lpOverlapped : LPWSAOVERLAPPED; lpCompletionRoutine : LPWSAOVERLAPPED_COMPLETION_ROUTINE ) : Longint; stdcall; external WINSOCK2_DLL name 'WSAIoctl';
+        lpcbBytesReturned : LPDWORD; lpOverlapped : LPWSAOVERLAPPED; lpCompletionRoutine : LPWSAOVERLAPPED_COMPLETION_ROUTINE ) : Longint;  external WINSOCK2_DLL name 'WSAIoctl';
 function WSAJoinLeaf( s : TSocket; name : PSockAddr; namelen : Longint; lpCallerData,lpCalleeData : LPWSABUF;
-        lpSQOS,lpGQOS : LPQOS; dwFlags : DWORD ) : TSocket; stdcall; external WINSOCK2_DLL name 'WSAJoinLeaf';
-function WSALookupServiceBeginW( const lpqsRestrictions : LPWSAQuerySetW; const dwControlFlags : DWORD; lphLookup : PHANDLE ): Longint; stdcall; external WINSOCK2_DLL name 'WSALookupServiceBeginW';
-function WSALookupServiceEnd( const hLookup : THandle ): Longint; stdcall; external WINSOCK2_DLL name 'WSALookupServiceEnd';
-function WSALookupServiceNextW( const hLookup : THandle; const dwControlFlags : DWORD; var lpdwBufferLength : DWORD; lpqsResults : LPWSAQuerySetW ): Longint; stdcall; external WINSOCK2_DLL name 'WSALookupServiceNextW';
-function WSANtohl( s : TSocket; netlong : u_long; var lphostlong : DWORD ): Longint; stdcall; external WINSOCK2_DLL name 'WSANtohl';
-function WSANtohs( s : TSocket; netshort : u_short; var lphostshort : WORD ): Longint; stdcall; external WINSOCK2_DLL name 'WSANtohs';
+        lpSQOS,lpGQOS : LPQOS; dwFlags : DWORD ) : TSocket;  external WINSOCK2_DLL name 'WSAJoinLeaf';
+function WSALookupServiceBeginW( const lpqsRestrictions : LPWSAQuerySetW; const dwControlFlags : DWORD; lphLookup : PHANDLE ): Longint;  external WINSOCK2_DLL name 'WSALookupServiceBeginW';
+function WSALookupServiceEnd( const hLookup : THandle ): Longint;  external WINSOCK2_DLL name 'WSALookupServiceEnd';
+function WSALookupServiceNextW( const hLookup : THandle; const dwControlFlags : DWORD; var lpdwBufferLength : DWORD; lpqsResults : LPWSAQuerySetW ): Longint;  external WINSOCK2_DLL name 'WSALookupServiceNextW';
+function WSANtohl( s : TSocket; netlong : u_long; var lphostlong : DWORD ): Longint;  external WINSOCK2_DLL name 'WSANtohl';
+function WSANtohs( s : TSocket; netshort : u_short; var lphostshort : WORD ): Longint;  external WINSOCK2_DLL name 'WSANtohs';
 function WSARecv( s : TSocket; lpBuffers : LPWSABUF; dwBufferCount : DWORD; var lpNumberOfBytesRecvd : DWORD; var lpFlags : DWORD;
-        lpOverlapped : LPWSAOVERLAPPED; lpCompletionRoutine : LPWSAOVERLAPPED_COMPLETION_ROUTINE ): Longint; stdcall; external WINSOCK2_DLL name 'WSARecv';
+        lpOverlapped : LPWSAOVERLAPPED; lpCompletionRoutine : LPWSAOVERLAPPED_COMPLETION_ROUTINE ): Longint;  external WINSOCK2_DLL name 'WSARecv';
 function WSARecvFrom( s : TSocket; lpBuffers : LPWSABUF; dwBufferCount : DWORD; var lpNumberOfBytesRecvd : DWORD; var lpFlags : DWORD;
-        lpFrom : PSockAddr; lpFromlen : PLongint; lpOverlapped : LPWSAOVERLAPPED; lpCompletionRoutine : LPWSAOVERLAPPED_COMPLETION_ROUTINE ): Longint; stdcall; external WINSOCK2_DLL name 'WSARecvFrom';
-function WSAResetEvent( hEvent : WSAEVENT ): WordBool; stdcall; external WINSOCK2_DLL name 'WSAResetEvent';
+        lpFrom : PSockAddr; lpFromlen : PLongint; lpOverlapped : LPWSAOVERLAPPED; lpCompletionRoutine : LPWSAOVERLAPPED_COMPLETION_ROUTINE ): Longint;  external WINSOCK2_DLL name 'WSARecvFrom';
+function WSAResetEvent( hEvent : WSAEVENT ): WordBool;  external WINSOCK2_DLL name 'WSAResetEvent';
 function WSASend( s : TSocket; lpBuffers : LPWSABUF; dwBufferCount : DWORD; var lpNumberOfBytesSent : DWORD; dwFlags : DWORD;
-        lpOverlapped : LPWSAOVERLAPPED; lpCompletionRoutine : LPWSAOVERLAPPED_COMPLETION_ROUTINE ): Longint; stdcall; external WINSOCK2_DLL name 'WSASend';
+        lpOverlapped : LPWSAOVERLAPPED; lpCompletionRoutine : LPWSAOVERLAPPED_COMPLETION_ROUTINE ): Longint;  external WINSOCK2_DLL name 'WSASend';
 function WSASendTo( s : TSocket; lpBuffers : LPWSABUF; dwBufferCount : DWORD; var lpNumberOfBytesSent : DWORD; dwFlags : DWORD;
-        lpTo : PSockAddr; iTolen : Longint; lpOverlapped : LPWSAOVERLAPPED; lpCompletionRoutine : LPWSAOVERLAPPED_COMPLETION_ROUTINE ): Longint; stdcall; external WINSOCK2_DLL name 'WSASendTo';
-function WSASetEvent( hEvent : WSAEVENT ): WordBool; stdcall; external WINSOCK2_DLL name 'WSASetEvent';
-procedure WSASetLastError(iError: Longint); stdcall; external WINSOCK2_DLL name 'WSASetLastError';
+        lpTo : PSockAddr; iTolen : Longint; lpOverlapped : LPWSAOVERLAPPED; lpCompletionRoutine : LPWSAOVERLAPPED_COMPLETION_ROUTINE ): Longint;  external WINSOCK2_DLL name 'WSASendTo';
+function WSASetEvent( hEvent : WSAEVENT ): WordBool;  external WINSOCK2_DLL name 'WSASetEvent';
+procedure WSASetLastError(iError: Longint);  external WINSOCK2_DLL name 'WSASetLastError';
 function WSASetServiceW( const lpqsRegInfo: LPWSAQuerySetW; const essoperation: TWSAeSetServiceOp;
-        const dwControlFlags: DWORD ): Longint; stdcall; external WINSOCK2_DLL name 'WSASetServiceW';
-function WSASocketW( af, iType, protocol : Longint; lpProtocolInfo : LPWSAProtocol_InfoW; g : GROUP; dwFlags : DWORD ): TSocket; stdcall; external WINSOCK2_DLL name 'WSASocketW';
-function WSAStartup(wVersionRequired: word; var WSData: TWSAData): Longint; stdcall; external WINSOCK2_DLL name 'WSAStartup';
+        const dwControlFlags: DWORD ): Longint;  external WINSOCK2_DLL name 'WSASetServiceW';
+function WSASocketW( af, iType, protocol : Longint; lpProtocolInfo : LPWSAProtocol_InfoW; g : GROUP; dwFlags : DWORD ): TSocket;  external WINSOCK2_DLL name 'WSASocketW';
+function WSAStartup(wVersionRequired: word; var WSData: TWSAData): Longint;  external WINSOCK2_DLL name 'WSAStartup';
 function WSAStringToAddressW( const AddressString : PWideChar; const AddressFamily: Longint; const lpProtocolInfo : LPWSAProtocol_InfoA;
-        var lpAddress : TSockAddr; var lpAddressLength : Longint ): Longint; stdcall; external WINSOCK2_DLL name 'WSAStringToAddressW';
+        var lpAddress : TSockAddr; var lpAddressLength : Longint ): Longint;  external WINSOCK2_DLL name 'WSAStringToAddressW';
 function WSAWaitForMultipleEvents( cEvents : DWORD; lphEvents : PWSAEVENT; fWaitAll : LongBool;
-        dwTimeout : DWORD; fAlertable : LongBool ): DWORD; stdcall; external WINSOCK2_DLL name 'WSAWaitForMultipleEvents';
-function __WSAFDIsSet(s: TSOcket; var FDSet: TFDSet): Bool; stdcall; external WINSOCK2_DLL name '__WSAFDIsSet';
+        dwTimeout : DWORD; fAlertable : LongBool ): DWORD;  external WINSOCK2_DLL name 'WSAWaitForMultipleEvents';
+function __WSAFDIsSet(s: TSOcket; var FDSet: TFDSet): Bool;  external WINSOCK2_DLL name '__WSAFDIsSet';
 
 
 { Macros }
@@ -1210,62 +1212,62 @@ procedure FD_ZERO(var FDSet: TFDSet);
 
 {$IFNDEF WINCE}
 //begin win only
-function WSAIsBlocking: BOOL; stdcall; external WINSOCK2_DLL name 'WSAIsBlocking';
-function WSAUnhookBlockingHook: Longint; stdcall; external WINSOCK2_DLL name 'WSAUnhookBlockingHook';
-function WSASetBlockingHook(lpBlockFunc: TFarProc): TFarProc; stdcall; external WINSOCK2_DLL name 'WSASetBlockingHook';
-function WSACancelBlockingCall: Longint; stdcall; external WINSOCK2_DLL name 'WSACancelBlockingCall';
-function WSAAsyncGetServByName(HWindow: HWND; wMsg: u_int; name, proto, buf: PChar; buflen: Longint): THandle; stdcall; external WINSOCK2_DLL name 'WSAAsyncGetServByName';
-function WSAAsyncGetServByPort( HWindow: HWND; wMsg, port: u_int; proto, buf: PChar; buflen: Longint): THandle; stdcall; external WINSOCK2_DLL name 'WSAAsyncGetServByPort';
-function WSAAsyncGetProtoByName(HWindow: HWND; wMsg: u_int; name, buf: PChar; buflen: Longint): THandle; stdcall; external WINSOCK2_DLL name 'WSAAsyncGetProtoByName';
-function WSAAsyncGetProtoByNumber(HWindow: HWND; wMsg: u_int; number: Longint; buf: PChar; buflen: Longint): THandle; stdcall; external WINSOCK2_DLL name 'WSAAsyncGetProtoByNumber';
-function WSAAsyncGetHostByAddr(HWindow: HWND; wMsg: u_int; addr: PChar; len, struct: Longint; buf: PChar; buflen: Longint): THandle; stdcall; external WINSOCK2_DLL name 'WSAAsyncGetHostByAddr';
-
-function WSADuplicateSocketA( s : TSocket; dwProcessId : DWORD; lpProtocolInfo : LPWSAProtocol_InfoA ) : Longint; stdcall; external WINSOCK2_DLL name 'WSADuplicateSocketA';
-function WSADuplicateSocketW( s : TSocket; dwProcessId : DWORD; lpProtocolInfo : LPWSAProtocol_InfoW ) : Longint; stdcall; external WINSOCK2_DLL name 'WSADuplicateSocketW';
-function WSADuplicateSocket( s : TSocket; dwProcessId : DWORD; lpProtocolInfo : LPWSAProtocol_Info ) : Longint; stdcall; external WINSOCK2_DLL name 'WSADuplicateSocket';
-function WSAEnumProtocolsA( lpiProtocols : PLongint; lpProtocolBuffer : LPWSAProtocol_InfoA; var lpdwBufferLength : DWORD ) : Longint; stdcall; external WINSOCK2_DLL name 'WSAEnumProtocolsA';
-function WSAEnumProtocols( lpiProtocols : PLongint; lpProtocolBuffer : LPWSAProtocol_Info; var lpdwBufferLength : DWORD ) : Longint; stdcall; external WINSOCK2_DLL name 'WSAEnumProtocols';
-function WSAGetQosByName( s : TSocket; lpQOSName : LPWSABUF; lpQOS : LPQOS ): WordBool; stdcall; external WINSOCK2_DLL name 'WSAGetQosByName';
-function WSARecvDisconnect( s : TSocket; lpInboundDisconnectData : LPWSABUF ): Longint; stdcall; external WINSOCK2_DLL name 'WSARecvDisconnect';
-function WSASendDisconnect( s : TSocket; lpOutboundDisconnectData : LPWSABUF ): Longint; stdcall; external WINSOCK2_DLL name 'WSASendDisconnect';
-function WSASocketA( af, iType, protocol : Longint; lpProtocolInfo : LPWSAProtocol_InfoA; g : GROUP; dwFlags : DWORD ): TSocket; stdcall; external WINSOCK2_DLL name 'WSASocketA';
-function WSASocket( af, iType, protocol : Longint; lpProtocolInfo : LPWSAProtocol_Info; g : GROUP; dwFlags : DWORD ): TSocket; stdcall; external WINSOCK2_DLL name 'WSASocket';
+function WSAIsBlocking: BOOL;  external WINSOCK2_DLL name 'WSAIsBlocking';
+function WSAUnhookBlockingHook: Longint;  external WINSOCK2_DLL name 'WSAUnhookBlockingHook';
+function WSASetBlockingHook(lpBlockFunc: TFarProc): TFarProc;  external WINSOCK2_DLL name 'WSASetBlockingHook';
+function WSACancelBlockingCall: Longint;  external WINSOCK2_DLL name 'WSACancelBlockingCall';
+function WSAAsyncGetServByName(HWindow: HWND; wMsg: u_int; name, proto, buf: PChar; buflen: Longint): THandle;  external WINSOCK2_DLL name 'WSAAsyncGetServByName';
+function WSAAsyncGetServByPort( HWindow: HWND; wMsg, port: u_int; proto, buf: PChar; buflen: Longint): THandle;  external WINSOCK2_DLL name 'WSAAsyncGetServByPort';
+function WSAAsyncGetProtoByName(HWindow: HWND; wMsg: u_int; name, buf: PChar; buflen: Longint): THandle;  external WINSOCK2_DLL name 'WSAAsyncGetProtoByName';
+function WSAAsyncGetProtoByNumber(HWindow: HWND; wMsg: u_int; number: Longint; buf: PChar; buflen: Longint): THandle;  external WINSOCK2_DLL name 'WSAAsyncGetProtoByNumber';
+function WSAAsyncGetHostByAddr(HWindow: HWND; wMsg: u_int; addr: PChar; len, struct: Longint; buf: PChar; buflen: Longint): THandle;  external WINSOCK2_DLL name 'WSAAsyncGetHostByAddr';
+
+function WSADuplicateSocketA( s : TSocket; dwProcessId : DWORD; lpProtocolInfo : LPWSAProtocol_InfoA ) : Longint;  external WINSOCK2_DLL name 'WSADuplicateSocketA';
+function WSADuplicateSocketW( s : TSocket; dwProcessId : DWORD; lpProtocolInfo : LPWSAProtocol_InfoW ) : Longint;  external WINSOCK2_DLL name 'WSADuplicateSocketW';
+function WSADuplicateSocket( s : TSocket; dwProcessId : DWORD; lpProtocolInfo : LPWSAProtocol_Info ) : Longint;  external WINSOCK2_DLL name 'WSADuplicateSocket';
+function WSAEnumProtocolsA( lpiProtocols : PLongint; lpProtocolBuffer : LPWSAProtocol_InfoA; var lpdwBufferLength : DWORD ) : Longint;  external WINSOCK2_DLL name 'WSAEnumProtocolsA';
+function WSAEnumProtocols( lpiProtocols : PLongint; lpProtocolBuffer : LPWSAProtocol_Info; var lpdwBufferLength : DWORD ) : Longint;  external WINSOCK2_DLL name 'WSAEnumProtocols';
+function WSAGetQosByName( s : TSocket; lpQOSName : LPWSABUF; lpQOS : LPQOS ): WordBool;  external WINSOCK2_DLL name 'WSAGetQosByName';
+function WSARecvDisconnect( s : TSocket; lpInboundDisconnectData : LPWSABUF ): Longint;  external WINSOCK2_DLL name 'WSARecvDisconnect';
+function WSASendDisconnect( s : TSocket; lpOutboundDisconnectData : LPWSABUF ): Longint;  external WINSOCK2_DLL name 'WSASendDisconnect';
+function WSASocketA( af, iType, protocol : Longint; lpProtocolInfo : LPWSAProtocol_InfoA; g : GROUP; dwFlags : DWORD ): TSocket;  external WINSOCK2_DLL name 'WSASocketA';
+function WSASocket( af, iType, protocol : Longint; lpProtocolInfo : LPWSAProtocol_Info; g : GROUP; dwFlags : DWORD ): TSocket;  external WINSOCK2_DLL name 'WSASocket';
 function WSAAddressToStringA( var lpsaAddress : TSockAddr; const dwAddressLength : DWORD; const lpProtocolInfo : LPWSAProtocol_InfoA;
-        const lpszAddressString : PChar; var lpdwAddressStringLength : DWORD ): Longint; stdcall; external WINSOCK2_DLL name 'WSAAddressToStringA';
+        const lpszAddressString : PChar; var lpdwAddressStringLength : DWORD ): Longint;  external WINSOCK2_DLL name 'WSAAddressToStringA';
 function WSAAddressToString( var lpsaAddress : TSockAddr; const dwAddressLength : DWORD; const lpProtocolInfo : LPWSAProtocol_Info;
-        const lpszAddressString : PMBChar; var lpdwAddressStringLength : DWORD ): Longint; stdcall; external WINSOCK2_DLL name 'WSAAddressToString';
+        const lpszAddressString : PMBChar; var lpdwAddressStringLength : DWORD ): Longint;  external WINSOCK2_DLL name 'WSAAddressToString';
 function WSAStringToAddressA( const AddressString : PChar; const AddressFamily: Longint; const lpProtocolInfo : LPWSAProtocol_InfoA;
-        var lpAddress : TSockAddr; var lpAddressLength : Longint ): Longint; stdcall; external WINSOCK2_DLL name 'WSAStringToAddressA';
+        var lpAddress : TSockAddr; var lpAddressLength : Longint ): Longint;  external WINSOCK2_DLL name 'WSAStringToAddressA';
 function WSAStringToAddress( const AddressString : PMBChar; const AddressFamily: Longint; const lpProtocolInfo : LPWSAProtocol_Info;
-        var lpAddress : TSockAddr; var lpAddressLength : Longint ): Longint; stdcall; external WINSOCK2_DLL name 'WSAStringToAddress';
+        var lpAddress : TSockAddr; var lpAddressLength : Longint ): Longint;  external WINSOCK2_DLL name 'WSAStringToAddress';
 
 {       Registration and Name Resolution API functions }
-function WSALookupServiceBeginA( const lpqsRestrictions : LPWSAQuerySetA; const dwControlFlags : DWORD; lphLookup : PHANDLE ): Longint; stdcall; external WINSOCK2_DLL name 'WSALookupServiceBeginA';
-function WSALookupServiceBegin( const lpqsRestrictions : LPWSAQuerySet; const dwControlFlags : DWORD; lphLookup : PHANDLE ): Longint; stdcall; external WINSOCK2_DLL name 'WSALookupServiceBegin';
-function WSALookupServiceNextA( const hLookup : THandle; const dwControlFlags : DWORD; var lpdwBufferLength : DWORD; lpqsResults : LPWSAQuerySetA ): Longint; stdcall; external WINSOCK2_DLL name 'WSALookupServiceNextA';
-function WSALookupServiceNext( const hLookup : THandle; const dwControlFlags : DWORD; var lpdwBufferLength : DWORD; lpqsResults : LPWSAQuerySet ): Longint; stdcall; external WINSOCK2_DLL name 'WSALookupServiceNext';
-function WSAInstallServiceClassA( const lpServiceClassInfo : LPWSAServiceClassInfoA ) : Longint; stdcall; external WINSOCK2_DLL name 'WSAInstallServiceClassA';
-function WSAInstallServiceClassW( const lpServiceClassInfo : LPWSAServiceClassInfoW ) : Longint; stdcall; external WINSOCK2_DLL name 'WSAInstallServiceClassW';
-function WSAInstallServiceClass( const lpServiceClassInfo : LPWSAServiceClassInfo ) : Longint; stdcall; external WINSOCK2_DLL name 'WSAInstallServiceClass';
-function WSARemoveServiceClass( const lpServiceClassId : PGUID ) : Longint; stdcall; external WINSOCK2_DLL name 'WSARemoveServiceClass';
+function WSALookupServiceBeginA( const lpqsRestrictions : LPWSAQuerySetA; const dwControlFlags : DWORD; lphLookup : PHANDLE ): Longint;  external WINSOCK2_DLL name 'WSALookupServiceBeginA';
+function WSALookupServiceBegin( const lpqsRestrictions : LPWSAQuerySet; const dwControlFlags : DWORD; lphLookup : PHANDLE ): Longint;  external WINSOCK2_DLL name 'WSALookupServiceBegin';
+function WSALookupServiceNextA( const hLookup : THandle; const dwControlFlags : DWORD; var lpdwBufferLength : DWORD; lpqsResults : LPWSAQuerySetA ): Longint;  external WINSOCK2_DLL name 'WSALookupServiceNextA';
+function WSALookupServiceNext( const hLookup : THandle; const dwControlFlags : DWORD; var lpdwBufferLength : DWORD; lpqsResults : LPWSAQuerySet ): Longint;  external WINSOCK2_DLL name 'WSALookupServiceNext';
+function WSAInstallServiceClassA( const lpServiceClassInfo : LPWSAServiceClassInfoA ) : Longint;  external WINSOCK2_DLL name 'WSAInstallServiceClassA';
+function WSAInstallServiceClassW( const lpServiceClassInfo : LPWSAServiceClassInfoW ) : Longint;  external WINSOCK2_DLL name 'WSAInstallServiceClassW';
+function WSAInstallServiceClass( const lpServiceClassInfo : LPWSAServiceClassInfo ) : Longint;  external WINSOCK2_DLL name 'WSAInstallServiceClass';
+function WSARemoveServiceClass( const lpServiceClassId : PGUID ) : Longint;  external WINSOCK2_DLL name 'WSARemoveServiceClass';
 function WSAGetServiceClassInfoA( const lpProviderId : PGUID; const lpServiceClassId : PGUID; var lpdwBufSize : DWORD;
-        lpServiceClassInfo : LPWSAServiceClassInfoA ): Longint; stdcall; external WINSOCK2_DLL name 'WSAGetServiceClassInfoA';
+        lpServiceClassInfo : LPWSAServiceClassInfoA ): Longint;  external WINSOCK2_DLL name 'WSAGetServiceClassInfoA';
 function WSAGetServiceClassInfoW( const lpProviderId : PGUID; const lpServiceClassId : PGUID; var lpdwBufSize : DWORD;
-        lpServiceClassInfo : LPWSAServiceClassInfoW ): Longint; stdcall; external WINSOCK2_DLL name 'WSAGetServiceClassInfoW';
+        lpServiceClassInfo : LPWSAServiceClassInfoW ): Longint;  external WINSOCK2_DLL name 'WSAGetServiceClassInfoW';
 function WSAGetServiceClassInfo( const lpProviderId : PGUID; const lpServiceClassId : PGUID; var lpdwBufSize : DWORD;
-        lpServiceClassInfo : LPWSAServiceClassInfo ): Longint; stdcall; external WINSOCK2_DLL name 'WSAGetServiceClassInfo';
-function WSAEnumNameSpaceProvidersA( var lpdwBufferLength: DWORD; const lpnspBuffer: LPWSANameSpace_InfoA ): Longint; stdcall; external WINSOCK2_DLL name 'WSAEnumNameSpaceProvidersA';
-function WSAEnumNameSpaceProviders( var lpdwBufferLength: DWORD; const lpnspBuffer: LPWSANameSpace_Info ): Longint; stdcall; external WINSOCK2_DLL name 'WSAEnumNameSpaceProviders';
+        lpServiceClassInfo : LPWSAServiceClassInfo ): Longint;  external WINSOCK2_DLL name 'WSAGetServiceClassInfo';
+function WSAEnumNameSpaceProvidersA( var lpdwBufferLength: DWORD; const lpnspBuffer: LPWSANameSpace_InfoA ): Longint;  external WINSOCK2_DLL name 'WSAEnumNameSpaceProvidersA';
+function WSAEnumNameSpaceProviders( var lpdwBufferLength: DWORD; const lpnspBuffer: LPWSANameSpace_Info ): Longint;  external WINSOCK2_DLL name 'WSAEnumNameSpaceProviders';
 function WSAGetServiceClassNameByClassIdA( const lpServiceClassId: PGUID; lpszServiceClassName: PChar;
-        var lpdwBufferLength: DWORD ): Longint; stdcall; external WINSOCK2_DLL name 'WSAGetServiceClassNameByClassIdA';
+        var lpdwBufferLength: DWORD ): Longint;  external WINSOCK2_DLL name 'WSAGetServiceClassNameByClassIdA';
 function WSAGetServiceClassNameByClassIdW( const lpServiceClassId: PGUID; lpszServiceClassName: PWideChar;
-        var lpdwBufferLength: DWORD ): Longint; stdcall; external WINSOCK2_DLL name 'WSAGetServiceClassNameByClassIdW';
+        var lpdwBufferLength: DWORD ): Longint;  external WINSOCK2_DLL name 'WSAGetServiceClassNameByClassIdW';
 function WSAGetServiceClassNameByClassId( const lpServiceClassId: PGUID; lpszServiceClassName: PMBChar;
-        var lpdwBufferLength: DWORD ): Longint; stdcall; external WINSOCK2_DLL name 'WSAGetServiceClassNameByClassId';
+        var lpdwBufferLength: DWORD ): Longint;  external WINSOCK2_DLL name 'WSAGetServiceClassNameByClassId';
 function WSASetServiceA( const lpqsRegInfo: LPWSAQuerySetA; const essoperation: TWSAeSetServiceOp;
-        const dwControlFlags: DWORD ): Longint; stdcall; external WINSOCK2_DLL name 'WSASetServiceA';
+        const dwControlFlags: DWORD ): Longint;  external WINSOCK2_DLL name 'WSASetServiceA';
 function WSASetService( const lpqsRegInfo: LPWSAQuerySet; const essoperation: TWSAeSetServiceOp;
-        const dwControlFlags: DWORD ): Longint; stdcall; external WINSOCK2_DLL name 'WSASetService';
+        const dwControlFlags: DWORD ): Longint;  external WINSOCK2_DLL name 'WSASetService';
 //end win only
 {$endif not WINCE}