diff --git a/rtl/win/sysheap.inc b/rtl/win/sysheap.inc index b9c4677af3..2354d9dbe3 100644 --- a/rtl/win/sysheap.inc +++ b/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; - diff --git a/rtl/win/sysos.inc b/rtl/win/sysos.inc index 1f7b541b3a..7ee71b482f 100644 --- a/rtl/win/sysos.inc +++ b/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 diff --git a/rtl/win/systhrd.inc b/rtl/win/systhrd.inc index 8dacf36b1c..5b028699c6 100644 --- a/rtl/win/systhrd.inc +++ b/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 diff --git a/rtl/win/tthread.inc b/rtl/win/tthread.inc index a2a9155a88..49a4058f84 100644 --- a/rtl/win/tthread.inc +++ b/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 diff --git a/rtl/wince/system.pp b/rtl/wince/system.pp index 31c259cd3d..17fcd0422d 100644 --- a/rtl/wince/system.pp +++ b/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 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; stdcall; -function DeleteFile(p : pchar) : longint; stdcall; -function MoveFile(old,_new : pchar) : longint; stdcall; +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 diff --git a/rtl/wince/windows.pp b/rtl/wince/windows.pp index 3a3f280672..748be4877f 100644 --- a/rtl/wince/windows.pp +++ b/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 diff --git a/rtl/wince/wininc/base.inc b/rtl/wince/wininc/base.inc index 4f906cc3f5..42f2d7333e 100644 --- a/rtl/wince/wininc/base.inc +++ b/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; diff --git a/rtl/wince/wininc/struct.inc b/rtl/wince/wininc/struct.inc index 2320ffaef6..22f2af0e5f 100644 --- a/rtl/wince/wininc/struct.inc +++ b/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 } diff --git a/rtl/wince/winres.inc b/rtl/wince/winres.inc index ddd6bb226c..2176fa0b4e 100644 --- a/rtl/wince/winres.inc +++ b/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 diff --git a/rtl/wince/winsock.pp b/rtl/wince/winsock.pp index d5fafd28a4..2b757a907e 100644 --- a/rtl/wince/winsock.pp +++ b/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, diff --git a/rtl/wince/winsock2.pp b/rtl/wince/winsock2.pp index 06a00d947c..303f7eaa98 100644 --- a/rtl/wince/winsock2.pp +++ b/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 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; 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 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 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; 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 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}