mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-09-01 17:30:21 +02:00
* added nwsnut, nwconio and nwthreads for netware
This commit is contained in:
parent
cf046bc83a
commit
6cd83c6db8
@ -211,7 +211,7 @@ override FPCOPT+=-Ur
|
|||||||
override FPCOPT+=-dMT
|
override FPCOPT+=-dMT
|
||||||
CREATESMART=1
|
CREATESMART=1
|
||||||
OBJPASDIR=$(RTL)/objpas
|
OBJPASDIR=$(RTL)/objpas
|
||||||
override TARGET_UNITS+=$(SYSTEMUNIT) systhrds objpas strings netware winsock2 dos crt objects sysutils typinfo math cpu mmx getopts heaptrc lineinfo sockets aio varutils video mouse keyboard types
|
override TARGET_UNITS+=$(SYSTEMUNIT) systhrds objpas strings netware winsock2 dos crt objects sysutils typinfo math cpu mmx getopts heaptrc lineinfo sockets aio varutils video mouse keyboard types nwsnut nwthread nwconio
|
||||||
override TARGET_LOADERS+=nwpre prelude
|
override TARGET_LOADERS+=nwpre prelude
|
||||||
override TARGET_RSTS+=math typinfo varutils
|
override TARGET_RSTS+=math typinfo varutils
|
||||||
override INSTALL_FPCPACKAGE=y
|
override INSTALL_FPCPACKAGE=y
|
||||||
|
@ -13,7 +13,8 @@ units=$(SYSTEMUNIT) systhrds objpas strings \
|
|||||||
sysutils typinfo math \
|
sysutils typinfo math \
|
||||||
cpu mmx getopts heaptrc lineinfo \
|
cpu mmx getopts heaptrc lineinfo \
|
||||||
sockets aio varutils \
|
sockets aio varutils \
|
||||||
video mouse keyboard types
|
video mouse keyboard types \
|
||||||
|
nwsnut nwthread nwconio
|
||||||
rsts=math typinfo varutils
|
rsts=math typinfo varutils
|
||||||
|
|
||||||
[require]
|
[require]
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
News
|
News
|
||||||
====
|
====
|
||||||
|
|
||||||
|
2003/02/16 armin:
|
||||||
|
- added nwconio, nwthreads, nwsnut
|
||||||
2003/02/15 armin:
|
2003/02/15 armin:
|
||||||
- changes for new threadvars
|
- changes for new threadvars
|
||||||
2002/02/27 armin:
|
2002/02/27 armin:
|
||||||
@ -51,9 +53,9 @@
|
|||||||
|
|
||||||
Binutils-2.11 for win32 and RedHat 7.2 with netware support and a patched nlmconv
|
Binutils-2.11 for win32 and RedHat 7.2 with netware support and a patched nlmconv
|
||||||
that supports "copyright" are available from:
|
that supports "copyright" are available from:
|
||||||
http://home.t-online.de/home/armin-diehl/fpcnw
|
http://home.arcor.de/armin.diehl/fpcnw
|
||||||
or
|
|
||||||
http://members.tripod.de/adiehl/fpcnw
|
The copyright-patch is included in newer versions of binutils (2.13)
|
||||||
|
|
||||||
|
|
||||||
Building the freepascal runtime-library for netware
|
Building the freepascal runtime-library for netware
|
||||||
@ -211,6 +213,9 @@
|
|||||||
- MMX
|
- MMX
|
||||||
- WinSock2
|
- WinSock2
|
||||||
- SYSTHRDS
|
- SYSTHRDS
|
||||||
|
- nwconio
|
||||||
|
- nwthreads
|
||||||
|
- nwsnut
|
||||||
|
|
||||||
|
|
||||||
armin@freepascal.org
|
armin@freepascal.org
|
||||||
|
141
rtl/netware/nwconio.pp
Normal file
141
rtl/netware/nwconio.pp
Normal file
@ -0,0 +1,141 @@
|
|||||||
|
{
|
||||||
|
$Id$
|
||||||
|
This file is part of the Free Pascal run time library
|
||||||
|
for Netware.
|
||||||
|
Copyright (c) 1999-2003 by the Free Pascal development team.
|
||||||
|
|
||||||
|
See the file COPYING.FPC, included in this distribution,
|
||||||
|
for details about the copyright.
|
||||||
|
|
||||||
|
This program is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||||
|
|
||||||
|
**********************************************************************}
|
||||||
|
|
||||||
|
unit nwconio;
|
||||||
|
interface
|
||||||
|
|
||||||
|
{$mode objfpc}
|
||||||
|
|
||||||
|
const
|
||||||
|
ClibNlm = 'clib';
|
||||||
|
ThreadsNlm = 'threads';
|
||||||
|
|
||||||
|
|
||||||
|
{$PACKRECORDS C}
|
||||||
|
|
||||||
|
|
||||||
|
const
|
||||||
|
DONT_AUTO_ACTIVATE = 1;
|
||||||
|
DONT_SWITCH_SCREEN = 2;
|
||||||
|
DONT_CHECK_CTRL_CHARS = $10;
|
||||||
|
AUTO_DESTROY_SCREEN = $20;
|
||||||
|
POP_UP_SCREEN = $40;
|
||||||
|
UNCOUPLED_CURSORS = $80;
|
||||||
|
HAS_A_CLIB_HANDLE = $100;
|
||||||
|
_KEYBOARD_INPUT_ACTIVE = $00010000;
|
||||||
|
_PROCESS_BLOCKED_ON_KEYBOARD = $00020000;
|
||||||
|
_PROCESS_BLOCKED_ON_SCREEN = $00040000;
|
||||||
|
_INPUT_CURSOR_DISABLED = $00080000;
|
||||||
|
_SCREEN_HAS_TITLE_BAR = $00400000;
|
||||||
|
_NON_SWITCHABLE_SCREEN = $01000000;
|
||||||
|
|
||||||
|
function getch :longint; cdecl;external ThreadsNlm name 'getch';
|
||||||
|
function getche:longint; cdecl;external ThreadsNlm name 'getche';
|
||||||
|
function kbhit :longint; cdecl;external ThreadsNlm name 'kbhit';
|
||||||
|
function putch(c:longint):longint; cdecl;external ThreadsNlm name 'putch';
|
||||||
|
function ungetch(c:longint):longint; cdecl;external ThreadsNlm name 'ungetch';
|
||||||
|
function cgets(buf:Pchar):Pchar; cdecl;external ThreadsNlm name 'cgets';
|
||||||
|
function CheckIfScreenDisplayed(screenHandle:longint; waitFlag:longint):longint;
|
||||||
|
cdecl;external ThreadsNlm name 'CheckIfScreenDisplayed';
|
||||||
|
procedure clrscr; cdecl;external ThreadsNlm name 'clrscr';
|
||||||
|
|
||||||
|
procedure ConsolePrintf(format:Pchar; args:array of const);
|
||||||
|
cdecl;external ClibNlm name 'ConsolePrintf';
|
||||||
|
procedure ConsolePrintf(format:Pchar); cdecl;external ClibNlm name 'ConsolePrintf';
|
||||||
|
|
||||||
|
procedure CopyToScreenMemory(height,width:word; Rect:PBYTE; begx,begy:word);cdecl;external ThreadsNlm name 'CopyToScreenMemory';
|
||||||
|
procedure CopyToScreenMemory(height,width:word; var Rect:byte; begx,begy:word);cdecl;external ThreadsNlm name 'CopyToScreenMemory';
|
||||||
|
|
||||||
|
procedure CopyFromScreenMemory(height, width:word; Rect:PBYTE; begx,begy:word);cdecl;external ThreadsNlm name 'CopyFromScreenMemory';
|
||||||
|
procedure CopyFromScreenMemory(height, width:word; var Rect:byte; begx,begy:word);cdecl;external ThreadsNlm name 'CopyFromScreenMemory';
|
||||||
|
|
||||||
|
{ function CoupleInputOutputCursors:longint;cdecl;external ClibNlm name 'CoupleInputOutputCursors'; }
|
||||||
|
|
||||||
|
function cputs(buf:Pchar):longint; cdecl;external ThreadsNlm name 'cputs';
|
||||||
|
function cprintf(fmt:Pchar; args:array of const):longint;
|
||||||
|
cdecl;external ClibNlm name 'cprintf';
|
||||||
|
function cprintf(fmt:Pchar):longint; cdecl;external ClibNlm name 'cprintf';
|
||||||
|
|
||||||
|
function CreateScreen(screenName:Pchar; attr:byte):longint;
|
||||||
|
cdecl;external ThreadsNlm name 'CreateScreen';
|
||||||
|
|
||||||
|
function cscanf(fmt:Pchar; args:array of const):longint;cdecl;external ClibNlm name 'cscanf';
|
||||||
|
function cscanf(fmt:Pchar):longint; cdecl;external ClibNlm name 'cscanf';
|
||||||
|
|
||||||
|
{ function DecoupleInputOutputCursors:longint;cdecl;external External_library name 'DecoupleInputOutputCursors'; }
|
||||||
|
|
||||||
|
function DestroyScreen(screenHandle:longint):longint; cdecl;external ThreadsNlm name 'DestroyScreen';
|
||||||
|
function DisplayInputCursor:longint; cdecl;external ThreadsNlm name 'DisplayInputCursor';
|
||||||
|
function DisplayScreen(screenHandle:longint):longint; cdecl;external ThreadsNlm name 'DisplayScreen';
|
||||||
|
function DropPopUpScreen(screenHandle:longint):longint; cdecl;external ThreadsNlm name 'DropPopUpScreen';
|
||||||
|
function GetCurrentScreen:longint; cdecl;external ThreadsNlm name 'GetCurrentScreen';
|
||||||
|
function GetCursorCouplingMode:byte; cdecl;external ThreadsNlm name 'GetCursorCouplingMode';
|
||||||
|
function GetCursorShape(startline,endline:byte):word; cdecl;external ThreadsNlm name 'GetCursorShape';
|
||||||
|
function GetCursorSize(var firstline,lastl:byte):word; cdecl;external ThreadsNlm name 'GetCursorSize';
|
||||||
|
|
||||||
|
function GetPositionOfOutputCursor(var row,columnP:word):longint;
|
||||||
|
cdecl;external ThreadsNlm name 'GetPositionOfOutputCursor';
|
||||||
|
|
||||||
|
function __GetScreenID(screenHandle:longint):longint; cdecl;external ThreadsNlm name '__GetScreenID';
|
||||||
|
function GetScreenInfo(handle:longint; name:Pchar; var attr:longint):longint;
|
||||||
|
cdecl;external ThreadsNlm name 'GetScreenInfo';
|
||||||
|
|
||||||
|
function GetSizeOfScreen(var height,width:word):longint;cdecl;external ThreadsNlm name 'GetSizeOfScreen';
|
||||||
|
procedure gotoxy(x,y:word); cdecl;external ThreadsNlm name 'gotoxy';
|
||||||
|
function HideInputCursor:longint; cdecl;external ThreadsNlm name 'HideInputCursor';
|
||||||
|
function IsColorMonitor:longint; cdecl;external ThreadsNlm name 'IsColorMonitor';
|
||||||
|
function PressAnyKeyToContinue:longint; cdecl;external ThreadsNlm name 'PressAnyKeyToContinue';
|
||||||
|
function PressEscapeToQuit:longint; cdecl;external ThreadsNlm name 'PressEscapeToQuit';
|
||||||
|
procedure RingTheBell; cdecl;external ThreadsNlm name 'RingTheBell';
|
||||||
|
|
||||||
|
function ScanScreens(LastScreenID:longint; name:Pchar; var attr:longint):longint;
|
||||||
|
cdecl;external ThreadsNlm name 'ScanScreens';
|
||||||
|
|
||||||
|
function ScrollScreenRegionDown(firstLine,lines:longint):longint;cdecl;external ThreadsNlm name 'ScrollScreenRegionDown';
|
||||||
|
function ScrollScreenRegionUp(firstLine,lines:longint):longint;cdecl;external ThreadsNlm name 'ScrollScreenRegionUp';
|
||||||
|
function SetAutoScreenDestructionMode(newMode:byte):byte;cdecl;external ThreadsNlm name 'SetAutoScreenDestructionMode';
|
||||||
|
function SetCtrlCharCheckMode(newMode:byte):byte; cdecl;external ThreadsNlm name 'SetCtrlCharCheckMode';
|
||||||
|
function SetCursorCouplingMode(newMode:byte):byte; cdecl;external ThreadsNlm name 'SetCursorCouplingMode';
|
||||||
|
function SetCursorShape(startline,endline:byte):word; cdecl;external ThreadsNlm name 'SetCursorShape';
|
||||||
|
function SetCurrentScreen(screenHandle:longint):longint; cdecl;external ThreadsNlm name 'SetCurrentScreen';
|
||||||
|
function SetInputAtOutputCursorPosition:longint; cdecl;external ThreadsNlm name 'SetInputAtOutputCursorPosition';
|
||||||
|
function SetOutputAtInputCursorPosition:longint; cdecl;external ThreadsNlm name 'SetOutputAtInputCursorPosition';
|
||||||
|
function SetPositionOfInputCursor(row,col:word):longint; cdecl;external ThreadsNlm name 'SetPositionOfInputCursor';
|
||||||
|
|
||||||
|
function SetScreenAreaAttribute(line,column,numLines,numColumns,attr:longint):longint;
|
||||||
|
cdecl;external ThreadsNlm name 'SetScreenAreaAttribute';
|
||||||
|
{function SetScreenAttributes(mask,attr:longint):longint; cdecl;external ClibNlm name 'SetScreenAttributes';}
|
||||||
|
|
||||||
|
function SetScreenCharacterAttribute(line,column,attr:longint):longint;
|
||||||
|
cdecl;external ThreadsNlm name 'SetScreenCharacterAttribute';
|
||||||
|
|
||||||
|
function SetScreenRegionAttribute(firstLine,lines:longint; attr:byte):longint;
|
||||||
|
cdecl;external ThreadsNlm name 'SetScreenRegionAttribute';
|
||||||
|
function wherex:word; cdecl;external ThreadsNlm name 'wherex';
|
||||||
|
function wherey:word; cdecl;external ThreadsNlm name 'wherey';
|
||||||
|
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
|
||||||
|
end.
|
||||||
|
|
||||||
|
{
|
||||||
|
$Log$
|
||||||
|
Revision 1.1 2003-02-16 17:45:08 armin
|
||||||
|
* added nwsnut, nwconio and nwthreads for netware
|
||||||
|
|
||||||
|
|
||||||
|
}
|
1518
rtl/netware/nwsnut.pp
Normal file
1518
rtl/netware/nwsnut.pp
Normal file
File diff suppressed because it is too large
Load Diff
199
rtl/netware/nwthread.pp
Normal file
199
rtl/netware/nwthread.pp
Normal file
@ -0,0 +1,199 @@
|
|||||||
|
{
|
||||||
|
$Id$
|
||||||
|
This file is part of the Free Pascal run time library
|
||||||
|
for Netware.
|
||||||
|
Copyright (c) 1999-2003 by the Free Pascal development team.
|
||||||
|
|
||||||
|
See the file COPYING.FPC, included in this distribution,
|
||||||
|
for details about the copyright.
|
||||||
|
|
||||||
|
This program is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||||
|
|
||||||
|
**********************************************************************}
|
||||||
|
|
||||||
|
unit nwthread;
|
||||||
|
interface
|
||||||
|
|
||||||
|
{$mode objfpc}
|
||||||
|
|
||||||
|
|
||||||
|
const
|
||||||
|
ThreadsNlm = 'threads';
|
||||||
|
Lib0Nlm = 'lib0';
|
||||||
|
NlmLibNlm = 'nlmlib';
|
||||||
|
|
||||||
|
Type
|
||||||
|
PLong = ^longint;
|
||||||
|
|
||||||
|
{$PACKRECORDS C}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
{ values for __action_code used with ExitThread() }
|
||||||
|
|
||||||
|
const
|
||||||
|
TSR_THREAD = -1;
|
||||||
|
EXIT_THREAD = 0;
|
||||||
|
EXIT_NLM = 1;
|
||||||
|
{ values for __mode used with spawnxx() }
|
||||||
|
P_WAIT = 0;
|
||||||
|
P_NOWAIT = 1;
|
||||||
|
P_OVERLAY = 2;
|
||||||
|
P_NOWAITO = 4;
|
||||||
|
P_SPAWN_IN_CURRENT_DOMAIN = 8;
|
||||||
|
NO_CONTEXT = 0;
|
||||||
|
USE_CURRENT_CONTEXT = 1;
|
||||||
|
{ stack defines }
|
||||||
|
MIN_STACKSIZE = 16384;
|
||||||
|
DEFAULT_STACKSIZE = 16384;
|
||||||
|
|
||||||
|
type
|
||||||
|
|
||||||
|
PWorkToDo = ^TWorkToDo;
|
||||||
|
|
||||||
|
TProcedure = procedure; cdecl;
|
||||||
|
TThreadFunc = procedure (param1:pointer); cdecl;
|
||||||
|
TWorkToDoProc = procedure (data:pointer; workToDo:PWorkToDo); cdecl;
|
||||||
|
TCleanup = procedure (para1:longint); cdecl;
|
||||||
|
|
||||||
|
|
||||||
|
PAESProcessStructure = ^TAESProcessStructure;
|
||||||
|
TAESProcessStructure = record
|
||||||
|
ALink : PAESProcessStructure;
|
||||||
|
AWakeUpDelayAmount : longint;
|
||||||
|
AWakeUpTime : longint;
|
||||||
|
AProcessToCall : procedure (para1:pointer);cdecl;
|
||||||
|
ARTag : longint;
|
||||||
|
AOldLink : longint;
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
PWorkToDoStructure = ^TWorkToDoStructure;
|
||||||
|
TWorkToDoStructure = record
|
||||||
|
Link : PWorkToDoStructure;
|
||||||
|
workProcedure : TProcedure;
|
||||||
|
WorkResourceTag : longint;
|
||||||
|
PollCountAmount : longint;
|
||||||
|
PollCountWhen : longint;
|
||||||
|
userProcedure : TProcedure;
|
||||||
|
dataPtr : pointer;
|
||||||
|
destThreadGroup : longint;
|
||||||
|
end;
|
||||||
|
TWorkToDo = TWorkToDoStructure;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
{ custom data area variables... }
|
||||||
|
|
||||||
|
var
|
||||||
|
threadCustomDataPtr : pointer;cvar;external;
|
||||||
|
threadCustomDataSize : longint;cvar;external;
|
||||||
|
threadGroupCustomDataPtr : pointer;cvar;external;
|
||||||
|
threadGroupCustomDataSize : longint;cvar;external;
|
||||||
|
|
||||||
|
|
||||||
|
function AtUnload(func:Tprocedure):longint; cdecl;external ThreadsNlm name 'AtUnload';
|
||||||
|
function BeginThread(func:TThreadFunc;
|
||||||
|
stackP:pointer;
|
||||||
|
stackSize:dword;
|
||||||
|
arg:pointer):longint; cdecl;external ThreadsNlm name 'BeginThread';
|
||||||
|
function BeginThreadGroup(func:TThreadFunc;
|
||||||
|
stackP:pointer;
|
||||||
|
stackSize:dword;
|
||||||
|
arg:pointer):longint; cdecl;external ThreadsNlm name 'BeginThreadGroup';
|
||||||
|
function Breakpoint(arg:longint):longint; cdecl;external Lib0Nlm name 'Breakpoint';
|
||||||
|
procedure CancelNoSleepAESProcessEvent(EventNode:PAESProcessStructure);cdecl;external ThreadsNlm name 'CancelNoSleepAESProcessEvent';
|
||||||
|
procedure CancelSleepAESProcessEvent (EventNode:PAESProcessStructure);cdecl;external ThreadsNlm name 'CancelSleepAESProcessEvent';
|
||||||
|
function ClearNLMDontUnloadFlag(NLMID:longint):longint; cdecl;external ThreadsNlm name 'ClearNLMDontUnloadFlag';
|
||||||
|
procedure delay(milliseconds:dword); cdecl;external ThreadsNlm name 'delay';
|
||||||
|
function EnterCritSec:longint; cdecl;external ThreadsNlm name 'EnterCritSec';
|
||||||
|
function ExitCritSec:longint; cdecl;external ThreadsNlm name 'ExitCritSec';
|
||||||
|
procedure ExitThread(action_code :longint;
|
||||||
|
termination_code:longint); cdecl;external ThreadsNlm name 'ExitThread';
|
||||||
|
|
||||||
|
function FindNLMHandle(NLMFileName:Pchar):dword; cdecl;external ThreadsNlm name 'FindNLMHandle';
|
||||||
|
function getcmd(cmdLine:Pchar):Pchar; cdecl;external ThreadsNlm name 'getcmd';
|
||||||
|
function GetNLMHandle:dword; cdecl;external ThreadsNlm name 'GetNLMHandle';
|
||||||
|
function GetNLMID:longint; cdecl;external ThreadsNlm name 'GetNLMID';
|
||||||
|
function GetNLMIDFromNLMHandle(NLMHandle:longint):longint; cdecl;external ThreadsNlm name 'GetNLMIDFromNLMHandle';
|
||||||
|
function GetNLMIDFromThreadID(threadID:longint;fileName:Pchar):longint;cdecl;external ThreadsNlm name 'GetNLMIDFromThreadID';
|
||||||
|
function GetNLMNameFromNLMID(NLMID:longint;
|
||||||
|
fileName:Pchar;
|
||||||
|
description:Pchar):longint; cdecl;external ThreadsNlm name 'GetNLMNameFromNLMID';
|
||||||
|
function GetNLMNameFromNLMHandle(NLMHandle:longint;
|
||||||
|
LDFileName:Pchar;
|
||||||
|
LDName:Pchar):longint; cdecl;external ThreadsNlm name 'GetNLMNameFromNLMHandle';
|
||||||
|
function GetThreadContextSpecifier(threadID:longint):longint; cdecl;external ThreadsNlm name 'GetThreadContextSpecifier';
|
||||||
|
function GetThreadGroupID:longint; cdecl;external ThreadsNlm name 'GetThreadGroupID';
|
||||||
|
function __GetThreadIDFromPCB(PCB:longint):longint; cdecl;external Lib0Nlm name '__GetThreadIDFromPCB';
|
||||||
|
function GetThreadHandicap(threadID:longint):longint; cdecl;external ThreadsNlm name 'GetThreadHandicap';
|
||||||
|
function GetThreadID:longint; cdecl;external ThreadsNlm name 'GetThreadID';
|
||||||
|
function GetThreadName(threadID:longint; tName:Pchar):longint; cdecl;external ThreadsNlm name 'GetThreadName';
|
||||||
|
function MapNLMIDToHandle(NLMID:longint):longint; cdecl;external ThreadsNlm name 'MapNLMIDToHandle';
|
||||||
|
function PopThreadCleanup(execute:longint):TCLEANUP; cdecl;external ThreadsNlm name 'PopThreadCleanup';
|
||||||
|
function PopThreadGroupCleanup(execute:longint):TCLEANUP; cdecl;external ThreadsNlm name 'PopThreadGroupCleanup';
|
||||||
|
function PushThreadCleanup(func:TCLEANUP):longint; cdecl;external ThreadsNlm name 'PushThreadCleanup';
|
||||||
|
function PushThreadGroupCleanup(func:TCLEANUP):longint; cdecl;external ThreadsNlm name 'PushThreadGroupCleanup';
|
||||||
|
function RenameThread(threadID:longint; newName:Pchar):longint; cdecl;external ThreadsNlm name 'RenameThread';
|
||||||
|
function ResumeThread(threadID:longint):longint; cdecl;external ThreadsNlm name 'ResumeThread';
|
||||||
|
function ReturnNLMVersionInfoFromFile(pathName:pchar;
|
||||||
|
majorVersion:PLONG;
|
||||||
|
minorVersion:PLONG;
|
||||||
|
revision:PLONG;
|
||||||
|
year:PLONG;
|
||||||
|
month:PLONG;
|
||||||
|
day:PLONG;
|
||||||
|
copyrightString:pchar;
|
||||||
|
description:pchar):longint; cdecl;external NlmLibNlm name 'ReturnNLMVersionInfoFromFile';
|
||||||
|
function ReturnNLMVersionInfoFromFile(pathName:pchar;
|
||||||
|
var majorVersion,minorVersion,revision:longint;
|
||||||
|
var year,month,day:longint;
|
||||||
|
copyrightString:pchar;
|
||||||
|
description:pchar):longint; cdecl;external NlmLibNlm name 'ReturnNLMVersionInfoFromFile';
|
||||||
|
|
||||||
|
function ReturnNLMVersionInformation(NLMHandle:longint;
|
||||||
|
majorVersion,minorVersion,revision,year,month,day:PLONG;
|
||||||
|
copyrightString:pchar; description:pchar):longint;cdecl;external NlmLibNlm name 'ReturnNLMVersionInformation';
|
||||||
|
function ReturnNLMVersionInformation(NLMHandle:longint;
|
||||||
|
var majorVersion,minorVersion,revision,year,month,day:longint;
|
||||||
|
copyrightString:pchar; description:pchar):longint;cdecl;external NlmLibNlm name 'ReturnNLMVersionInformation';
|
||||||
|
|
||||||
|
procedure ScheduleNoSleepAESProcessEvent(EventNode:PAESProcessStructure);cdecl;external ThreadsNlm name 'ScheduleNoSleepAESProcessEvent';
|
||||||
|
procedure ScheduleSleepAESProcessEvent(EventNode:PAESProcessStructure); cdecl;external ThreadsNlm name 'ScheduleSleepAESProcessEvent';
|
||||||
|
|
||||||
|
|
||||||
|
function ScheduleWorkToDo(ProcedureToCall:TWorkToDoProc;
|
||||||
|
workData :pointer;
|
||||||
|
workToDo :PWorkToDo):longint; cdecl;external ThreadsNlm name 'ScheduleWorkToDo';
|
||||||
|
function SetNLMDontUnloadFlag(NLMID:longint):longint; cdecl;external ThreadsNlm name 'SetNLMDontUnloadFlag';
|
||||||
|
function SetNLMID(newNLMID:longint):longint; cdecl;external ThreadsNlm name 'SetNLMID';
|
||||||
|
function SetThreadContextSpecifier(threadID,
|
||||||
|
contextSpecifier:longint):longint; cdecl;external ThreadsNlm name 'SetThreadContextSpecifier';
|
||||||
|
function SetThreadGroupID(newThreadGroupID:longint):longint; cdecl;external ThreadsNlm name 'SetThreadGroupID';
|
||||||
|
procedure SetThreadHandicap(threadID, handicap:longint); cdecl;external ThreadsNlm name 'SetThreadHandicap';
|
||||||
|
function spawnlp(mode:longint;
|
||||||
|
path,arg0:Pchar;
|
||||||
|
args:array of const):longint; cdecl;external ThreadsNlm name 'spawnlp';
|
||||||
|
function spawnlp(mode:longint;
|
||||||
|
path,arg0:Pchar):longint; cdecl;external ThreadsNlm name 'spawnlp';
|
||||||
|
function spawnvp(mode:longint;
|
||||||
|
path,argv:PPchar):longint; cdecl;external ThreadsNlm name 'spawnvp';
|
||||||
|
function SuspendThread(threadID:longint):longint; cdecl;external ThreadsNlm name 'SuspendThread';
|
||||||
|
procedure ThreadSwitch; cdecl;external ThreadsNlm name 'ThreadSwitch';
|
||||||
|
procedure ThreadSwitchLowPriority; cdecl;external ThreadsNlm name 'ThreadSwitchLowPriority';
|
||||||
|
procedure ThreadSwitchWithDelay; cdecl;external ThreadsNlm name 'ThreadSwitchWithDelay';
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
|
||||||
|
end.
|
||||||
|
|
||||||
|
{
|
||||||
|
$Log$
|
||||||
|
Revision 1.1 2003-02-16 17:45:08 armin
|
||||||
|
* added nwsnut, nwconio and nwthreads for netware
|
||||||
|
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user