mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-12 10:49:31 +02:00
5384 lines
248 KiB
ObjectPascal
5384 lines
248 KiB
ObjectPascal
{
|
|
Netware Server Imports for FreePascal, contains definition from the
|
|
following header files:
|
|
|
|
string.h dirent.h errno.h fcntl.h limits.h locale.h nwaudnlm.h
|
|
nwbitops.h nwcntask.h nwconio.h nwconn.h nwdebug.h nwdfs.h nwdos.h
|
|
nwerrno.h nwfattr.h nwfileio.h nwfileng.h nwfinfo.h nwfshook.h
|
|
nwipx.h nwlib.h nwlocale.h nwmalloc.h nwncpx.h nwnspace.h nwproc.h
|
|
nwsemaph.h nwserv.h nwsignal.h nwstring.h nwtoolib.h stdio.h stdlib.h
|
|
unistd.h time.h utime.h nwthread.h nwmediam.h ioctl.h
|
|
sys/socket.h sys/time.h sys/filio.h syys/ioctl.h sys/stat.h
|
|
sys/time.h sys/timeval.h sys/uio.h sys/utsname.h
|
|
|
|
Initial Version 2002/02/22 Armin (diehl@nordrhein.de)
|
|
|
|
The C-NDK and Documentation can be found here:
|
|
http://developer.novell.com
|
|
|
|
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.
|
|
|
|
Do not blame Novell if there are errors in this file, instead
|
|
contact me and i will se what i can do.
|
|
|
|
}
|
|
|
|
unit nwserv;
|
|
|
|
interface
|
|
|
|
{$mode objfpc}
|
|
|
|
const NULL = 0;
|
|
ThreadsNlm = 'threads';
|
|
Lib0Nlm = 'lib0';
|
|
NlmLibNlm = 'nlmlib';
|
|
FIONREAD = 1; // get count of bytes to read (readable)
|
|
FIONBIO = 2; // set/clear nonblocking I/O
|
|
FIOGETNBIO = 3; // get nonblocking I/O status
|
|
|
|
type
|
|
Psize_t = ^Tsize_t;
|
|
Tsize_t = dword;
|
|
PPChar = ^PChar;
|
|
PPPChar= ^PPChar;
|
|
Tsigset_t = longint;
|
|
TNlmHandle = longint;
|
|
|
|
const
|
|
NullNlmHandle = 0;
|
|
|
|
{-time.h-----------------------------------------------------------------------}
|
|
{$PACKRECORDS C}
|
|
|
|
const
|
|
CLOCKS_PER_SEC = 100;
|
|
|
|
type
|
|
Pclock_t = ^Tclock_t;
|
|
Tclock_t = dword;
|
|
|
|
Ptime_t = ^Ttime_t;
|
|
Ttime_t = dword;
|
|
Ptm = ^Ttm;
|
|
Ttm = record
|
|
tm_sec : longint; { seconds after the minute--range [0, 59] }
|
|
tm_min : longint; { minutes after the hour--range [0, 59] }
|
|
tm_hour : longint; { hours since midnight--range [0, 23] }
|
|
tm_mday : longint; { days of the month--range [1, 31] }
|
|
tm_mon : longint; { months since January--range [0, 11] }
|
|
tm_year : longint; { years since 1900--range [0, 99] }
|
|
tm_wday : longint; { days since Sunday--range [0, 6] }
|
|
tm_yday : longint; { days since first of January--range [0, 365] }
|
|
tm_isdst : longint; { Daylight Savings Time flag--set [-, 0, +]: }
|
|
end;
|
|
|
|
{ ISO/ANSI C functions... }
|
|
function asctime(para1:Ptm):Pchar;cdecl;external 'clib' name 'asctime';
|
|
function clock:Tclock_t;cdecl;external 'clib' name 'clock';
|
|
function ctime(para1:Ptime_t):Pchar;cdecl;external 'clib' name 'ctime';
|
|
function difftime(para1:Ttime_t; para2:Ttime_t):double;cdecl;external 'clib' name 'difftime';
|
|
function gmtime(para1:Ptime_t):Ptm;cdecl;external 'clib' name 'gmtime';
|
|
function localtime(para1:Ptime_t):Ptm;cdecl;external 'clib' name 'localtime';
|
|
function mktime(para1:Ptm):Ttime_t;cdecl;external 'clib' name 'mktime';
|
|
function strftime(para1:Pchar; para2:Tsize_t; para3:Pchar; para4:Ptm):Tsize_t;cdecl;external 'clib' name 'strftime';
|
|
function time(para1:Ptime_t):Ttime_t;cdecl;external 'clib' name 'time';
|
|
{ POSIX data and functions... }
|
|
{ For extern char tzname[2], see macro below }
|
|
procedure tzset;cdecl;external 'clib' name 'tzset';
|
|
function __get_CLK_TCK:Tclock_t;cdecl;external 'clib' name '__get_CLK_TCK';
|
|
function __get_tzname:pPchar;cdecl;external 'clib' name '__get_tzname';
|
|
{ POSIX-defined additions ... }
|
|
function asctime_r(para1:Ptm; para2:Pchar):Pchar;cdecl;external 'clib' name 'asctime_r';
|
|
function ctime_r(para1:Ptime_t; para2:Pchar):Pchar;cdecl;external 'clib' name 'ctime_r';
|
|
function gmtime_r(para1:Ptime_t; para2:Ptm):Ptm;cdecl;external 'clib' name 'gmtime_r';
|
|
function localtime_r(para1:Ptime_t; para2:Ptm):Ptm;cdecl;external 'clib' name 'localtime_r';
|
|
function CLK_TCK : longint;
|
|
function tzname : pchar;
|
|
|
|
{-utime.h----------------------------------------------------------------------}
|
|
type
|
|
Putimbuf = ^Tutimbuf;
|
|
Tutimbuf = record
|
|
actime : Ttime_t; // access time
|
|
modtime : Ttime_t; // modification time
|
|
end;
|
|
|
|
|
|
function utime(path:Pchar; times:Putimbuf):longint;cdecl;external 'clib' name 'utime';
|
|
function utime(path:Pchar; var times:Tutimbuf):longint;cdecl;external 'clib' name 'utime';
|
|
|
|
{-string.h---------------------------------------------------------------------}
|
|
function memchr(para1:pointer; para2:longint; para3:Tsize_t):pointer;cdecl;external 'clib' name 'memchr';
|
|
function memcmp(para1:pointer; para2:pointer; para3:Tsize_t):longint;cdecl;external 'clib' name 'memcmp';
|
|
function memcpy(para1:pointer; para2:pointer; para3:Tsize_t):pointer;cdecl;external 'clib' name 'memcpy';
|
|
function memmove(para1:pointer; para2:pointer; para3:Tsize_t):pointer;cdecl;external 'clib' name 'memmove';
|
|
function memset(para1:pointer; para2:longint; para3:Tsize_t):pointer;cdecl;external 'clib' name 'memset';
|
|
function strcpy(para1:Pchar; para2:Pchar):Pchar;cdecl;external 'clib' name 'strcpy';
|
|
function strcat(para1:Pchar; para2:Pchar):Pchar;cdecl;external 'clib' name 'strcat';
|
|
function strchr(para1:Pchar; para2:longint):Pchar;cdecl;external 'clib' name 'strchr';
|
|
function strcmp(para1:Pchar; para2:Pchar):longint;cdecl;external 'clib' name 'strcmp';
|
|
function strcoll(para1:Pchar; para2:Pchar):longint;cdecl;external 'clib' name 'strcoll';
|
|
function strcspn(para1:Pchar; para2:Pchar):Tsize_t;cdecl;external 'clib' name 'strcspn';
|
|
function strerror(para1:longint):Pchar;cdecl;external 'clib' name 'strerror';
|
|
function strlen(para1:Pchar):Tsize_t;cdecl;external 'clib' name 'strlen';
|
|
function strncat(para1:Pchar; para2:Pchar; para3:Tsize_t):Pchar;cdecl;external 'clib' name 'strncat';
|
|
function strncmp(para1:Pchar; para2:Pchar; para3:Tsize_t):longint;cdecl;external 'clib' name 'strncmp';
|
|
function strncpy(para1:Pchar; para2:Pchar; para3:Tsize_t):Pchar;cdecl;external 'clib' name 'strncpy';
|
|
function strpbrk(para1:Pchar; para2:Pchar):Pchar;cdecl;external 'clib' name 'strpbrk';
|
|
function strrchr(para1:Pchar; para2:longint):Pchar;cdecl;external 'clib' name 'strrchr';
|
|
function strspn(para1:Pchar; para2:Pchar):Tsize_t;cdecl;external 'clib' name 'strspn';
|
|
function strstr(para1:Pchar; para2:Pchar):Pchar;cdecl;external 'clib' name 'strstr';
|
|
function strtok(para1:Pchar; para2:Pchar):Pchar;cdecl;external 'clib' name 'strtok';
|
|
function strxfrm(para1:Pchar; para2:Pchar; para3:Tsize_t):Tsize_t;cdecl;external 'clib' name 'strxfrm';
|
|
function strtok_r(para1:Pchar; para2:Pchar; para3:PPchar):Pchar;cdecl;external 'clib' name 'strtok_r';
|
|
function memicmp(para1:pointer; para2:pointer; para3:Tsize_t):longint;cdecl;external 'clib' name 'memicmp';
|
|
function strcmpi(para1:Pchar; para2:Pchar):longint;cdecl;external 'clib' name 'strcmpi';
|
|
function stricmp(para1:Pchar; para2:Pchar):longint;cdecl;external 'clib' name 'stricmp';
|
|
function strdup(para1:Pchar):Pchar;cdecl;external 'clib' name 'strdup';
|
|
function strlist(para1,para2:Pchar; args:array of const):Pchar;cdecl;external 'clib' name 'strlist';
|
|
function strlist(para1,para2:Pchar):Pchar;cdecl;external 'clib' name 'strlist';
|
|
function strlwr(para1:Pchar):Pchar;cdecl;external 'clib' name 'strlwr';
|
|
function strnicmp(para1,para2:Pchar; para3:Tsize_t):longint;cdecl;external 'clib' name 'strnicmp';
|
|
function strnset(para1:Pchar; para2:longint; para3:Tsize_t):Pchar;cdecl;external 'clib' name 'strnset';
|
|
function strrev(para1:Pchar):Pchar;cdecl;external 'clib' name 'strrev';
|
|
function strset(para1:Pchar; para2:longint):Pchar;cdecl;external 'clib' name 'strset';
|
|
function strupr(para1:Pchar):Pchar;cdecl;external 'clib' name 'strupr';
|
|
procedure swab(para1:pointer; para2:pointer; para3:Tsize_t);cdecl;external 'clib' name 'swab';
|
|
procedure swaw(para1:pointer; para2:pointer; para3:Tsize_t);cdecl;external 'clib' name 'swaw';
|
|
{-dirent.h---------------------------------------------------------------------}
|
|
{$I npackon.inc}
|
|
type
|
|
Pino_t = ^Tino_t;
|
|
Tino_t = longint;
|
|
Pdev_t = ^Tdev_t;
|
|
Tdev_t = longint;
|
|
Pdirent = ^Tdirent;
|
|
Tdirent =
|
|
record
|
|
d_attr : dword;
|
|
d_time : word;
|
|
d_date : word;
|
|
d_size : longint;
|
|
d_ino : Tino_t;
|
|
d_dev : Tdev_t;
|
|
d_cdatetime : dword;
|
|
d_adatetime : dword;
|
|
d_bdatetime : dword;
|
|
d_uid : longint;
|
|
d_archivedID : dword;
|
|
d_updatedID : dword;
|
|
d_nameDOS : array[0..12] of char;
|
|
d_inheritedRightsMask : word;
|
|
d_originatingNameSpace : byte;
|
|
d_ddatetime : dword;
|
|
d_deletedID : dword;
|
|
d_name : array[0..255] of char;
|
|
end;
|
|
TDIR = Tdirent;
|
|
PDIR = ^TDIR;
|
|
{$I npackoff.inc}
|
|
|
|
function closedir_old (dirp:PDIR):longint; cdecl; external 'clib' name 'closedir';
|
|
function closedir (dirp:PDIR):longint; cdecl; external 'clib' name 'closedir_510';
|
|
function opendir_old (pathName:Pchar):PDIR; cdecl; external 'clib' name 'opendir';
|
|
function opendir (pathName:Pchar):PDIR; cdecl; external 'clib' name 'opendir_411';
|
|
function readdir_old (dirp:PDIR):PDIR; cdecl; external 'clib' name 'readdir';
|
|
function readdir (dirp:PDIR):PDIR; cdecl; external 'clib' name 'readdir_411';
|
|
procedure rewinddir (dirp:PDIR); cdecl; external 'clib' name 'rewinddir';
|
|
function SetReaddirAttribute(dirp:PDIR; newAttribute:dword):longint; cdecl; external 'clib' name 'SetReaddirAttribute';
|
|
{-errno.h----------------------------------------------------------------------}
|
|
const
|
|
ENOENT = 1;
|
|
E2BIG = 2;
|
|
ENOEXEC = 3;
|
|
EBADF = 4;
|
|
ENOMEM = 5;
|
|
EACCES = 6;
|
|
EEXIST = 7;
|
|
EXDEV = 8;
|
|
EINVAL = 9;
|
|
ENFILE = 10;
|
|
EMFILE = 11;
|
|
ENOSPC = 12;
|
|
EDOM = 13;
|
|
ERANGE = 14;
|
|
EDEADLK = 15;
|
|
EINUSE = 16;
|
|
ESERVER = 17;
|
|
ENOSERVR = 18;
|
|
EWRNGKND = 19;
|
|
ETRNREST = 20;
|
|
ERESOURCE= 21;
|
|
EBADHNDL = 22;
|
|
ENO_SCRNS= 23;
|
|
EAGAIN = 24;
|
|
ENXIO = 25;
|
|
EBADMSG = 26;
|
|
EFAULT = 27;
|
|
EIO = 28;
|
|
ENODATA = 29;
|
|
ENOSTRMS = 30;
|
|
EPROTO = 31;
|
|
EPIPE = 32;
|
|
ESPIPE = 33;
|
|
ETIME = 34;
|
|
EWOULDBLOCK = 35;
|
|
EINPROGRESS = 36;
|
|
EALREADY = 37;
|
|
ENOTSOCK = 38;
|
|
EDESTADDRREQ = 39;
|
|
EMSGSIZE = 40;
|
|
EPROTOTYPE = 41;
|
|
ENOPROTOOPT = 42;
|
|
EPROTONOSUPPORT = 43;
|
|
ESOCKTNOSUPPORT = 44;
|
|
EOPNOTSUPP = 45;
|
|
EPFNOSUPPORT = 46;
|
|
EAFNOSUPPORT = 47;
|
|
EADDRINUSE = 48;
|
|
EADDRNOTAVAIL = 49;
|
|
ENETDOWN = 50;
|
|
ENETUNREACH = 51;
|
|
ENETRESET = 52;
|
|
ECONNABORTED = 53;
|
|
ECONNRESET = 54;
|
|
ENOBUFS = 55;
|
|
EISCONN = 56;
|
|
ENOTCONN = 57;
|
|
ESHUTDOWN = 58;
|
|
ETOOMANYREFS = 59;
|
|
ETIMEDOUT = 60;
|
|
ECONNREFUSED = 61;
|
|
|
|
EBUSY = 62;
|
|
EINTR = 63;
|
|
EISDIR = 64;
|
|
ENAMETOOLONG = 65;
|
|
ENOSYS = 66;
|
|
ENOTDIR = 67;
|
|
ENOTEMPTY = 68;
|
|
EPERM = 69;
|
|
ECHILD = 70;
|
|
EFBIG = 71;
|
|
EMLINK = 72;
|
|
ENODEV = 73;
|
|
ENOLCK = 74;
|
|
ENOTTY = 75;
|
|
EFTYPE = ENOTTY;
|
|
EROFS = 76;
|
|
ESRCH = 77;
|
|
ECANCELED = 78;
|
|
ENOTSUP = 79;
|
|
|
|
// CLib-implementation-specific constants
|
|
ECANCELLED = ECANCELED;
|
|
ENLMDATA = 100;
|
|
EILSEQ = 101;
|
|
EINCONSIS = 102;
|
|
EDOSTEXTEOL = 103;
|
|
ENONEXTANT = 104;
|
|
ENOCONTEXT = 105;
|
|
ELASTERR = ENOCONTEXT;
|
|
{-nwerrno.h--------------------------------------------------------------------}
|
|
{ Multi purpose return values.}
|
|
const
|
|
ESUCCESS = 0;
|
|
EFAILURE = -(1);
|
|
ERR_TTS_NOT_AVAILABLE = $00;
|
|
ERR_RECORD_NOT_LOCKED = $01;
|
|
ERR_INSUFFICIENT_SPACE = $01;
|
|
ERR_STRING_EXCEEDS_LENGTH = $01;
|
|
ERR_TTS_AVAILABLE = $01;
|
|
ERR_NOT_AVAILABLE_PROTECTED = $64;
|
|
ERR_NOT_AVAILABLE_ON_3X = $65;
|
|
ERR_BAD_THREAD_ID = $66;
|
|
ERR_BAD_PRTY_CLASS = $67;
|
|
ERR_BAD_PRTY_SCOPE = $68;
|
|
ERR_NOT_A_POPUP_SCREEN = $69;
|
|
ERR_OPEN_SCREEN = $6A;
|
|
ERR_BAD_SHFLAG = $6B;
|
|
ERR_BAD_ACCESS = $6C;
|
|
ERR_BAD_ORIGIN = $6D;
|
|
ERR_BAD_ACTION_CODE = $6E;
|
|
ERR_OUT_OF_TASKS = $6F;
|
|
ERR_BAD_QUERY_TYPE = $70;
|
|
ERR_BAD_LIBRARY_HANDLE = $71;
|
|
ERR_STREAMS = $72;
|
|
ERR_BAD_FILE_SERVER_ID = $73;
|
|
ERR_BAD_CONNECTION_ID = $73;
|
|
ERR_BAD_FLAGS = $74;
|
|
ERR_STRUCT_NOT_FOUND = $C8;
|
|
ERR_NO_ITEMS_FOUND = $79;
|
|
ERR_NCPEXT_TRANSPORT_PROTOCOL_VIOLATION = $7E;
|
|
ERR_FILE_IN_USE = $80;
|
|
ERR_LOCK_FAIL = $80;
|
|
ERR_MAPPED_TO_A_LOCAL_DRIVE = $80;
|
|
ERR_NO_MORE_FILE_HANDLES = $81;
|
|
ERR_NO_OPEN_PRIVILEGE = $82;
|
|
ERR_NETWORK_DISK_IO = $83;
|
|
ERR_NO_CREATE_PRIVILEGE = $84;
|
|
ERR_NO_CREATE_DELETE_PRIVILEGE = $85;
|
|
ERR_R_O_CREATE_FILE = $86;
|
|
ERR_CREATE_FILE_INVALID_NAME = $87;
|
|
ERR_INVALID_FILE_HANDLE = $88;
|
|
ERR_NO_SEARCH_PRIVILEGE = $89;
|
|
ERR_NO_DELETE_PRIVILEGE = $8A;
|
|
ERR_NO_RENAME_PRIVILEGE = $8B;
|
|
ERR_NO_MODIFY_PRIVILEGE = $8C;
|
|
ERR_NO_SET_PRIVILEGE = $8C;
|
|
ERR_SOME_FILES_IN_USE = $8D;
|
|
ERR_ALL_FILES_IN_USE = $8E;
|
|
ERR_SOME_READ_ONLY = $8F;
|
|
ERR_ALL_READ_ONLY = $90;
|
|
ERR_SOME_NAMES_EXIST = $91;
|
|
ERR_ALL_NAMES_EXIST = $92;
|
|
ERR_NO_READ_PRIVILEGE = $93;
|
|
ERR_NO_WRITE_PRIVILEGE_OR_READONLY = $94;
|
|
ERR_FILE_DETACHED = $95;
|
|
ERR_NO_ALLOC_SPACE = $96;
|
|
ERR_SERVER_OUT_OF_MEMORY = $96;
|
|
ERR_TARGET_NOT_A_SUBDIRECTORY = $96;
|
|
ERR_NO_SPOOL_SPACE = $97;
|
|
ERR_INVALID_VOLUME = $98;
|
|
ERR_VOLUME_DOES_NOT_EXIST = $98;
|
|
ERR_DIRECTORY_FULL = $99;
|
|
ERR_RENAME_ACROSS_VOLUME = $9A;
|
|
ERR_BAD_DIR_HANDLE = $9B;
|
|
ERR_HOLE_FOUND = $9C;
|
|
ERR_INVALID_PATH = $9C;
|
|
ERR_NO_SUCH_EXTENSION = $9C;
|
|
ERR_NO_DIR_HANDLES = $9D;
|
|
ERR_BAD_FILE_NAME = $9E;
|
|
ERR_DIRECTORY_ACTIVE = $9F;
|
|
ERR_DIRECTORY_IN_USE = $9F;
|
|
ERR_DIRECTORY_NOT_EMPTY = $A0;
|
|
ERR_DIRECTORY_IO_ERROR = $A1;
|
|
ERR_IO_LOCKED = $A2;
|
|
ERR_TRANSACTION_RESTARTED = $A3;
|
|
ERR_RENAME_DIR_INVALID = $A4;
|
|
ERR_INVALID_OPENCREATE_MODE = $A5;
|
|
ERR_ALREADY_IN_USE = $A6;
|
|
ERR_SEARCH_DRIVE_VECTOR_FULL = $B0;
|
|
ERR_DRIVE_DOES_NOT_EXIST = $B1;
|
|
ERR_DRIVE_IS_NOT_MAPPED = $B1;
|
|
ERR_CANT_MAP_LOCAL_DRIVE = $B2;
|
|
ERR_INVALID_MAP_TYPE = $B3;
|
|
ERR_INVALID_DRIVE_LETTER = $B4;
|
|
ERR_NO_DRIVE_AVAILABLE = $B5;
|
|
ERR_WORKSTATION_OUT_OF_MEMORY = $B6;
|
|
ERR_NO_SUCH_SEARCH_DRIVE = $B7;
|
|
ERR_INVALID_ENVIRON_VARIABLE = $B8;
|
|
ERR_DOES_NOT_RUN_ON_IOENGINE = $B9;
|
|
ERR_PACKET_SIGNATURES_REQURIED = $BC;
|
|
ERR_PACKET_SIGNATURES_REQUIRED = $BC;
|
|
ERR_INVALID_DATA_STREAM = $BE;
|
|
ERR_INVALID_NAME_SPACE = $BF;
|
|
ERR_NO_ACCOUNT_PRIVILEGES = $C0;
|
|
ERR_NO_ACCOUNTING_PRIVILEGES = $C0;
|
|
ERR_NO_ACCOUNT_BALANCE = $C1;
|
|
ERR_CREDIT_LIMIT_EXCEEDED = $C2;
|
|
ERR_LOGIN_DENIED_NO_CREDIT = $C2;
|
|
ERR_TOO_MANY_HOLDS = $C3;
|
|
ERR_ACCOUNTING_DISABLED = $C4;
|
|
ERR_LOGIN_LOCKOUT = $C5;
|
|
ERR_NO_CONSOLE_OPERATOR_RIGHTS = $C6;
|
|
ERR_MISSING_EA_KEY = $C8;
|
|
ERR_EA_NOT_FOUND = $C9;
|
|
ERR_INVALID_EA_HANDLE_TYPE = $CA;
|
|
ERR_EA_NO_KEY_NO_DATA = $CB;
|
|
ERR_EA_NUMBER_MISMATCH = $CC;
|
|
ERR_EXTENT_NUMBER_OUT_OF_RANGE = $CD;
|
|
ERR_EA_BAD_DIR_NUM = $CE;
|
|
ERR_INVALID_EA_HANDLE = $CF;
|
|
ERR_EA_POSITION_OUT_OF_RANGE = $D0;
|
|
ERR_Q_IO_FAILURE = $D0;
|
|
ERR_EA_ACCESS_DENIED = $D1;
|
|
ERR_NO_QUEUE = $D1;
|
|
ERR_DATA_PAGE_ODD_SIZE = $D2;
|
|
ERR_NO_Q_SERVER = $D2;
|
|
ERR_EA_VOLUME_NOT_MOUNTED = $D3;
|
|
ERR_NO_Q_RIGHTS = $D3;
|
|
ERR_BAD_PAGE_BOUNDARY = $D4;
|
|
ERR_Q_FULL = $D4;
|
|
ERR_INSPECT_FAILURE = $D5;
|
|
ERR_NO_Q_JOB = $D5;
|
|
ERR_EA_ALREADY_CLAIMED = $D6;
|
|
ERR_NO_Q_JOB_RIGHTS = $D6;
|
|
ERR_UNENCRYPTED_NOT_ALLOWED = $D6;
|
|
ERR_ODD_BUFFER_SIZE = $D7;
|
|
ERR_DUPLICATE_PASSWORD = $D7;
|
|
ERR_Q_IN_SERVICE = $D7;
|
|
ERR_NO_SCORECARDS = $D8;
|
|
ERR_PASSWORD_TOO_SHORT = $D8;
|
|
ERR_Q_NOT_ACTIVE = $D8;
|
|
ERR_BAD_EDS_SIGNATURE = $D9;
|
|
ERR_MAXIMUM_LOGINS_EXCEEDED = $D9;
|
|
ERR_LOGIN_DENIED_NO_CONNECTION = $D9;
|
|
ERR_Q_STN_NOT_SERVER = $D9;
|
|
ERR_EA_SPACE_LIMIT = $DA;
|
|
ERR_BAD_LOGIN_TIME = $DA;
|
|
ERR_Q_HALTED = $DA;
|
|
ERR_EA_KEY_CORRUPT = $DB;
|
|
ERR_NODE_ADDRESS_VIOLATION = $DB;
|
|
ERR_Q_MAX_SERVERS = $DB;
|
|
ERR_EA_KEY_LIMIT = $DC;
|
|
ERR_LOG_ACCOUNT_EXPIRED = $DC;
|
|
ERR_TALLY_CORRUPT = $DD;
|
|
ERR_BAD_PASSWORD = $DE;
|
|
ERR_PASSWORD_EXPIRED_NO_GRACE = $DE;
|
|
ERR_PASSWORD_EXPIRED = $DF;
|
|
ERR_NOT_ITEM_PROPERTY = $E8;
|
|
ERR_WRITE_TO_GROUP_PROPERTY = $E8;
|
|
ERR_MEMBER_ALREADY_EXISTS = $E9;
|
|
ERR_NO_SUCH_MEMBER = $EA;
|
|
ERR_PROPERTY_NOT_GROUP = $EB;
|
|
ERR_NOT_GROUP_PROPERTY = $EB;
|
|
ERR_NO_SUCH_SEGMENT = $EC;
|
|
ERR_NO_SUCH_VALUE_SET = $EC;
|
|
ERR_SPX_CONNECTION_TERMINATED = $EC;
|
|
ERR_TERMINATED_BY_REMOTE_PARTNER = $EC;
|
|
ERR_PROPERTY_ALREADY_EXISTS = $ED;
|
|
ERR_SPX_CONNECTION_FAILED = $ED;
|
|
ERR_SPX_TERMINATED_POORLY = $ED;
|
|
ERR_SPX_NO_ANSWER_FROM_TARGET = $ED;
|
|
ERR_OBJECT_ALREADY_EXISTS = $EE;
|
|
ERR_SPX_INVALID_CONNECTION = $EE;
|
|
ERR_INVALID_NAME = $EF;
|
|
ERR_SPX_CONNECTION_TABLE_FULL = $EF;
|
|
ERR_IPX_NOT_INSTALLED = $F0;
|
|
ERR_ILLEGAL_WILDCARD = $F0;
|
|
ERR_WILDCARD_NOT_ALLOWED = $F0;
|
|
ERR_SOCKET_NOT_OPEN = $F0;
|
|
ERR_BINDERY_SECURITY = $F1;
|
|
ERR_INVALID_BINDERY_SECURITY = $F1;
|
|
ERR_SOCKET_ALREADY_OPEN = $F1;
|
|
ERR_NO_OBJECT_READ_PRIVILEGE = $F2;
|
|
ERR_NO_OBJECT_READ_RIGHTS = $F2;
|
|
ERR_NO_OBJECT_RENAME_PRIVILEGE = $F3;
|
|
ERR_NO_OBJECT_RENAME_RIGHTS = $F3;
|
|
ERR_NO_OBJECT_DELETE_PRIVILEGE = $F4;
|
|
ERR_NO_OBJECT_DELETE_RIGHTS = $F4;
|
|
ERR_NO_OBJECT_CREATE_PRIVILEGE = $F5;
|
|
ERR_NO_OBJECT_CREATE_RIGHTS = $F5;
|
|
ERR_NO_PROPERTY_DELETE_PRIVILEGE = $F6;
|
|
ERR_NO_PROPERTY_DELETE_RIGHTS = $F6;
|
|
ERR_NO_PROPERTY_CREATE_PRIVILEGE = $F7;
|
|
ERR_NO_PROPERTY_CREATE_RIGHTS = $F7;
|
|
ERR_ALREADY_ATTACHED_TO_SERVER = $F8;
|
|
ERR_NO_PROPERTY_WRITE_PRIVILEGE = $F8;
|
|
ERR_NO_PROPERTY_WRITE_RIGHTS = $F8;
|
|
ERR_NOT_ATTACHED_TO_SERVER = $F8;
|
|
ERR_ECB_CANNOT_BE_CANCELLED = $F9;
|
|
ERR_NO_FREE_CONNECTION_SLOTS = $F9;
|
|
ERR_NO_PROPERTY_READ_PRIVILEGE = $F9;
|
|
ERR_NO_PROPERTY_READ_RIGHTS = $F9;
|
|
ERR_NO_LOCAL_TARGET_IDENTIFIED = $FA;
|
|
ERR_NO_MORE_SERVER_SLOTS = $FA;
|
|
ERR_TEMP_REMAP = $FA;
|
|
ERR_NO_KNOWN_ROUTE_TO_DESTINATION = $FA;
|
|
ERR_INVALID_PARAMETERS = $FB;
|
|
ERR_NO_SUCH_PROPERTY = $FB;
|
|
ERR_UNKNOWN_REQUEST = $FB;
|
|
ERR_EVENT_CANCELLED = $FC;
|
|
ERR_INTERNET_PACKET_REQT_CANCELED = $FC;
|
|
ERR_MESSAGE_QUEUE_FULL = $FC;
|
|
ERR_NO_SUCH_BINDERY_OBJECT = $FC;
|
|
ERR_NO_SUCH_OBJECT = $FC;
|
|
ERR_REQUEST_CANCELLED = $FC;
|
|
ERR_SPX_COMMAND_CANCELLED = $FC;
|
|
ERR_SPX_SOCKET_CLOSED = $FC;
|
|
ERR_UNKNOWN_FILE_SERVER = $FC;
|
|
ERR_TARGET_ALREADY_HAS_MESSAGE = $FC;
|
|
ERR_NCPEXT_SERVICE_PROTOCOL_VIOLATION = $FC;
|
|
ERR_BAD_SERIAL_NUMBER = $FD;
|
|
ERR_INVALID_PACKET_LENGTH = $FD;
|
|
ERR_PACKET_OVERFLOW = $FD;
|
|
ERR_TTS_DISABLED = $FD;
|
|
ERR_FIELD_ALREADY_LOCKED = $FD;
|
|
ERR_FSCOPY_DIFFERENT_NETWORKS = $FD;
|
|
ERR_BAD_STATION_NUMBER = $FD;
|
|
ERR_BAD_PACKET = $FE;
|
|
ERR_SPX_MALFORMED_PACKET = $FE;
|
|
ERR_BINDERY_LOCKED = $FE;
|
|
ERR_DOS_ACCESS_DENIED = $FE;
|
|
ERR_DOS_NO_SEARCH_RIGHTS = $FE;
|
|
ERR_IMPLICIT_TRANSACTION_ACTIVE = $FE;
|
|
ERR_INCORRECT_ACCESS_PRIVILEGES = $FE;
|
|
ERR_INVALID_NAME_LENGTH = $FE;
|
|
ERR_INVALID_SEMAPHORE_NAME_LENGTH = $FE;
|
|
ERR_IO_FAILURE = $FE;
|
|
ERR_PACKET_NOT_DELIVERABLE = $FE;
|
|
ERR_SPOOL_DIRECTORY_ERROR = $FE;
|
|
ERR_SUPERVISOR_HAS_DISABLED_LOGIN = $FE;
|
|
ERR_TRANSACTION_ENDS_RECORDS_LOCKED = $FE;
|
|
ERR_SERVER_BINDERY_LOCKED = $FE;
|
|
ERR_TIMEOUT_FAILURE = $FE;
|
|
ERR_TRUSTEE_NOT_FOUND = $FE;
|
|
ERR_SOCKET_TABLE_FULL = $FE;
|
|
ERR_NCPEXT_NO_HANDLER = $FE;
|
|
ERR_BAD_PARAMETER = $FF;
|
|
ERR_BAD_SPOOL_PRINTER = $FF;
|
|
ERR_RECORD_ALREADY_LOCKED = $FF;
|
|
ERR_BAD_RECORD_OFFSET = $FF;
|
|
ERR_BINDERY_FAILURE = $FF;
|
|
ERR_ECB_NOT_IN_USE = $FF;
|
|
ERR_FAILURE = $FF;
|
|
ERR_FILE_EXTENSION_ERROR = $FF;
|
|
ERR_HARD_FAILURE = $FF;
|
|
ERR_INVALID_INITIAL_SEMAPHORE_VALUE = $FF;
|
|
ERR_INVALID_SEMAPHORE_HANDLE = $FF;
|
|
ERR_DOS_FILE_NOT_FOUND = $FF;
|
|
ERR_EXPLICIT_TRANSACTION_ACTIVE = $FF;
|
|
ERR_FILE_NOT_OPEN = $FF;
|
|
ERR_NO_EXPLICIT_TRANSACTION_ACTIVE = $FF;
|
|
ERR_NO_FILES_FOUND = $FF;
|
|
ERR_NO_RECORD_FOUND = $FF;
|
|
ERR_NO_RESPONSE_FROM_SERVER = $FF;
|
|
ERR_NO_SPOOL_FILE = $FF;
|
|
ERR_NO_SUCH_OBJECT_OR_BAD_PASSWORD = $FF;
|
|
ERR_OPEN_FILES = $FF;
|
|
ERR_PATH_ALREADY_EXISTS = $FF;
|
|
ERR_PATH_NOT_LOCATABLE = $FF;
|
|
ERR_QUEUE_FULL = $FF;
|
|
ERR_REQUEST_NOT_OUTSTANDING = $FF;
|
|
ERR_SOCKET_CLOSED = $FF;
|
|
ERR_SPX_IS_INSTALLED = $FF;
|
|
ERR_SPX_SOCKET_NOT_OPENED = $FF;
|
|
ERR_TARGET_NOT_LOGGED_IN = $FF;
|
|
ERR_TARGET_NOT_ACCEPTING_MESSAGES = $FF;
|
|
ERR_TRANSACTION_NOT_YET_WRITTEN = $FF;
|
|
ERR_NO_TRUSTEE_CHANGE_PRIVILEGE = $FF;
|
|
ERR_CHECKSUMS_REQUIRED = $FF;
|
|
ERR_SERVICE_NOT_LOADED = $101;
|
|
ERR_NO_LIBRARY_CONTEXT = $400;
|
|
{-----------------------------------------------------------------------------
|
|
Important Note:
|
|
Additional NetWareErrno values that don't employ a ERR_ prefix have been
|
|
moved from this position into obsolete header niterror.h. Many of these had
|
|
been included for compatibility with the now-obsolete NIT API for DOS
|
|
clients and many conflict with current cross-platform headers.
|
|
-----------------------------------------------------------------------------}
|
|
{ NetWare Core Protocol (NCP) error codes. }
|
|
DISKFULL = 1;
|
|
BADNET = 2;
|
|
LISTENERROR = 2;
|
|
BADLADDRESS = 3;
|
|
INVALIDSESSION = 3;
|
|
NOSLOTS = 4;
|
|
SLOTALLOCERR = 4;
|
|
BROADCASTERROR = 5;
|
|
BADSERVERNAME = 6;
|
|
BADUSERNAME = 7;
|
|
BADPASSWORD = 8;
|
|
MEMERROR = 9;
|
|
INVALIDCONNECTION = 10;
|
|
INVALIDHANDLE = 11;
|
|
INVALIDREQUEST = 12;
|
|
SOCKETERROR = 13;
|
|
ALLOCTAGERR = 14;
|
|
CONNECTIONABORTED = 15;
|
|
TIMEOUTERR = 16;
|
|
{ frame type: Ethernet 802.3 }
|
|
CHECKSUMS_NOT_SUPPORTED = 17;
|
|
CHECKSUM_FAILURE = 18;
|
|
NO_FRAGMENT_LIST = 19;
|
|
{ Values for 'NetWareErrno' as set by spawnlp() and spawnvp().}
|
|
LOAD_COULD_NOT_FIND_FILE = 1;
|
|
LOAD_ERROR_READING_FILE = 2;
|
|
LOAD_NOT_NLM_FILE_FORMAT = 3;
|
|
LOAD_WRONG_NLM_FILE_VERSION = 4;
|
|
LOAD_REENTRANT_INITIALIZE_FAILURE = 5;
|
|
LOAD_CAN_NOT_LOAD_MULTIPLE_COPIES = 6;
|
|
LOAD_ALREADY_IN_PROGRESS = 7;
|
|
LOAD_NOT_ENOUGH_MEMORY = 8;
|
|
LOAD_INITIALIZE_FAILURE = 9;
|
|
LOAD_INCONSISTENT_FILE_FORMAT = 10;
|
|
LOAD_CAN_NOT_LOAD_AT_STARTUP = 11;
|
|
LOAD_AUTO_LOAD_MODULES_NOT_LOADED = 12;
|
|
LOAD_UNRESOLVED_EXTERNAL = 13;
|
|
LOAD_PUBLIC_ALREADY_DEFINED = 14;
|
|
{ Values for _msize() error return and NWMemorySizeAddressable(). }
|
|
ERR_HEAP_BAD_PTR = $FFFFFFFF;
|
|
ERR_HEAP_BLOCK_ALREADY_FREE = $FFFFFFFE;
|
|
ERR_INVALID_ADDRESS = $FFFFFFFD;
|
|
{ Values for NetWare Virtual Memory (NVM) APIs as returned by GetVMErrno().
|
|
These values should be examined after calling a Win32 VM API without a
|
|
satisfactorily-lucid error in 'errno' or from (Win32) GetLastError(). }
|
|
ERROR_INSUFFICIENT_CONTIGUOUS_MEMORY = $1000;
|
|
ERROR_INSUFFICIENT_DISK_SWAP_SPACE = $1001;
|
|
ERROR_INSUFFICIENT_MEMORY = $1002;
|
|
ERROR_INSUFFICIENT_RESOURCES_TO_COMMIT_MEMORY = $1003;
|
|
ERROR_INVALID_ATTRIBUTE_FLAGS = $1004;
|
|
ERROR_INVALID_ADDRESS = $1005;
|
|
ERROR_INVALID_LOCK_FLAGS = $1006;
|
|
ERROR_INVALID_PAGE_COUNT = $1007;
|
|
ERROR_INVALID_PROTECTION_FLAGS = $1008;
|
|
ERROR_NON_SHARED_MEMORY_ADDRESS = $1009;
|
|
ERROR_SHARED_MEMORY_ADDRESS = $100A;
|
|
|
|
function GetVMErrno:longint;cdecl;external 'clib' name 'GetVMErrno';
|
|
procedure SetVMErrno(para1:longint);cdecl;external 'clib' name 'SetVMErrno';
|
|
function __get_NWErrno:longint;cdecl;external 'clib' name '__get_NWErrno';
|
|
function __get_NWErrno_ptr:Plongint;cdecl;external 'clib' name '__get_NWErrno_ptr';
|
|
function NetWareErrno : longint;
|
|
{-fcntl.h----------------------------------------------------------------------}
|
|
const
|
|
F_GETFL = 1;
|
|
F_SETFL = 2;
|
|
F_DUPFD = 3;
|
|
F_GETFD = 4;
|
|
F_SETFD = 5;
|
|
F_SETLK = 6;
|
|
F_GETLK = 7;
|
|
F_SETLKW = 8;
|
|
F_RDLCK = 9;
|
|
F_UNLCK = 10;
|
|
F_WRLCK = 11;
|
|
F_CLOEXEC = 12;
|
|
O_RDONLY = $0000;
|
|
O_WRONLY = $0001;
|
|
O_RDWR = $0002;
|
|
O_ACCMODE = $0003;
|
|
O_APPEND = $0010;
|
|
O_CREAT = $0020;
|
|
O_TRUNC = $0040;
|
|
O_EXCL = $0080;
|
|
O_TEXT = $0100;
|
|
O_BINARY = $0200;
|
|
O_NDELAY = $0400;
|
|
O_NOCTTY = $0800;
|
|
O_NONBLOCK = O_NDELAY;
|
|
FNDELAY = $0004;
|
|
type
|
|
Poff_t = ^Toff_t;
|
|
Toff_t = longint;
|
|
Ppid_t = ^Tpid_t;
|
|
Tpid_t = longint;
|
|
Pssize_t = ^Tssize_t;
|
|
Tssize_t = longint;
|
|
Pmode_t = ^Tmode_t;
|
|
Tmode_t = dword;
|
|
|
|
Pflock = ^Tflock;
|
|
Tflock = record
|
|
l_type : smallint;
|
|
l_whence : smallint;
|
|
l_start : Toff_t;
|
|
l_len : Toff_t;
|
|
l_pid : Tpid_t;
|
|
end;
|
|
|
|
|
|
function creat (path:Pchar; mode:Tmode_t):longint; cdecl;external 'clib' name 'creat';
|
|
function _fcntl (fildes:longint; cmd:longint;
|
|
args:array of const):longint; cdecl;external 'clib' name 'fcntl';
|
|
function _fcntl (fildes:longint; cmd:longint):longint; cdecl;external 'clib' name 'fcntl';
|
|
function open (path:Pchar; oflag:longint;
|
|
args:array of const):longint; cdecl;external 'clib' name 'open';
|
|
function open (path:Pchar; oflag:longint):longint; cdecl;external 'clib' name 'open';
|
|
function fpopen(path:Pchar; oflag:longint):longint; cdecl;external 'clib' name 'open';
|
|
function sopen (path:Pchar; oflag, shflag:longint;
|
|
args:array of const):longint; cdecl;external 'clib' name 'sopen';
|
|
function sopen (path:Pchar; oflag,shflag:longint):longint; cdecl;external 'clib' name 'sopen';
|
|
|
|
{-limits.h---------------------------------------------------------------------}
|
|
const
|
|
PAGESIZE = 4096;
|
|
CHAR_BIT = 8;
|
|
SCHAR_MIN = -(128);
|
|
SCHAR_MAX = 127;
|
|
UCHAR_MAX = 255;
|
|
CHAR_MIN = SCHAR_MIN;
|
|
CHAR_MAX = SCHAR_MAX;
|
|
|
|
MB_LEN_MAX = 5;
|
|
SHRT_MIN = -(32768);
|
|
SHRT_MAX = 32767;
|
|
USHRT_MAX = 65535;
|
|
LONG_MIN = (-(2147483647)) - 1;
|
|
LONG_MAX = 2147483647;
|
|
ULONG_MAX = 4294967295;
|
|
INT_MIN = LONG_MIN;
|
|
INT_MAX = LONG_MAX;
|
|
UINT_MAX = ULONG_MAX;
|
|
SSIZE_MAX = INT_MAX;
|
|
TZNAME_MAX = 8;
|
|
PIPE_BUF = 512;
|
|
{-locale.h---------------------------------------------------------------------}
|
|
{$PACKRECORDS C}
|
|
|
|
const
|
|
LC_CTYPE = 0;
|
|
LC_NUMERIC = 1;
|
|
LC_TIME = 2;
|
|
LC_COLLATE = 3;
|
|
LC_MONETARY = 4;
|
|
LC_MESSAGES = 5;
|
|
LC_ALL = 6;
|
|
|
|
type
|
|
Plconv = ^Tlconv;
|
|
Tlconv =
|
|
record
|
|
decimal_point : array [0..3] of char;
|
|
thousands_sep : array [0..3] of char;
|
|
grouping : array [0..3] of char;
|
|
int_curr_symbol : array [0..7] of char;
|
|
currency_symbol : array [0..3] of char;
|
|
mon_decimal_point : array [0..3] of char;
|
|
mon_thousands_sep : array [0..3] of char;
|
|
mon_grouping : array [0..7] of char;
|
|
positive_sign : array [0..3] of char;
|
|
negative_sign : array [0..3] of char;
|
|
int_frac_digits : char;
|
|
frac_digits : char;
|
|
p_cs_precedes : char;
|
|
p_sep_by_space : char;
|
|
n_cs_precedes : char;
|
|
n_sep_by_space : char;
|
|
p_sign_posn : char;
|
|
n_sign_posn : char;
|
|
code_page : word;
|
|
country_id : word;
|
|
data_list_separator : array[0..1] of char;
|
|
date_separator : array[0..1] of char;
|
|
time_separator : array[0..1] of char;
|
|
time_format : char;
|
|
date_format : word;
|
|
reserved : array[0..49] of char;
|
|
end;
|
|
|
|
// ???? struct lconv *localeconv( void );
|
|
|
|
function setlocale_old (p1:longint; p2:Pchar):Pchar; cdecl; external 'clib' name 'setlocale';
|
|
function setlocale (p1:longint; p2:Pchar):Pchar; cdecl; external 'clib' name 'setlocale_411';
|
|
{-nwlocale.h-------------------------------------------------------------------}
|
|
{$PACKRECORDS C}
|
|
|
|
type
|
|
TNUMBER_TYPE = double;
|
|
TUCHAR = byte;
|
|
|
|
|
|
const
|
|
MERIDLEN = 5;
|
|
L_MB_LEN_MAX = 2; // multibyte character length maximum is 2
|
|
NWSINGLE_BYTE = 1; // returned from NWCharType()...
|
|
NWDOUBLE_BYTE = 2;
|
|
{ country/language ID definitions (field 'country_id' in struct Llconv)... }
|
|
ARABIC = 785;
|
|
AUSTRALIA = 61;
|
|
BELGIUM = 32;
|
|
CANADA_ENG = 1;
|
|
CANADA_FR = 2;
|
|
DENMARK = 45;
|
|
FINLAND = 358;
|
|
FRANCE = 33;
|
|
GERMANY = 49;
|
|
HEBREW = 972;
|
|
ITALY = 39;
|
|
LATIN_AMERICA = 003;
|
|
NETHERLANDS = 31;
|
|
NORWAY = 47;
|
|
PORTUGAL = 351;
|
|
SPAIN = 34;
|
|
SWEDEN = 46;
|
|
SWITZERLAND = 41;
|
|
UK = 44;
|
|
USA = 1;
|
|
JAPAN = 81;
|
|
KOREA = 82;
|
|
PRC = 86;
|
|
TAIWAN = 88;
|
|
ASIAN_ENGLISH = 99;
|
|
|
|
|
|
type
|
|
PVECTOR = ^TVECTOR;
|
|
TVECTOR = record
|
|
lowValue : char;
|
|
highValue : char;
|
|
end;
|
|
{ extern double-byte table data... }
|
|
//?? var _DBCSVector : array[0..4] of TVECTOR;cvar;external;
|
|
{ prototypes... }
|
|
|
|
function NWCharType(ch:dword):longint;cdecl;external 'locnlm32' name 'NWCharType';
|
|
function NWCharVal(_string:Pchar):longint;cdecl;external 'locnlm32' name 'NWCharVal';
|
|
function NWCharUpr(chr:longint):longint;cdecl;external 'locnlm32' name 'NWCharUpr';
|
|
function NWcprintf(format:Pchar; args:array of const):longint;cdecl;external 'locnlm32' name 'NWcprintf';
|
|
function NWcprintf(format:Pchar):longint;cdecl;external 'locnlm32' name 'NWcprintf';
|
|
function NWIncrement(_string:Pchar; numChars:Tsize_t):Pchar;cdecl;external 'locnlm32' name 'NWIncrement';
|
|
{
|
|
NWatoi, NWisalnum, NWisalpha, and NWisdigit are preferred over NWLatoi,
|
|
NWisalnum, NWLisalpha, and NWLisdigit respectively.
|
|
}
|
|
function NWatoi(_string:Pchar):longint;cdecl;external 'locnlm32' name 'NWatoi';
|
|
function NWisalnum(ch:dword):longint;cdecl;external 'locnlm32' name 'NWisalnum';
|
|
function NWisalpha(ch:dword):longint;cdecl;external 'locnlm32' name 'NWisalpha';
|
|
function NWisdigit(ch:dword):longint;cdecl;external 'locnlm32' name 'NWisdigit';
|
|
function NWisxdigit(ch:dword):longint;cdecl;external 'locnlm32' name 'NWisxdigit';
|
|
function NWitoa(value:longint; _string:Pchar; radix:longint):longint;cdecl;external 'locnlm32' name 'NWitoa';
|
|
function NWutoa(value:dword; _string:Pchar; radix:longint):longint;cdecl;external 'locnlm32' name 'NWutoa';
|
|
function NWltoa(value:longint; _string:Pchar; radix:longint):longint;cdecl;external 'locnlm32' name 'NWltoa';
|
|
function NWultoa(value:dword; _string:Pchar; radix:longint):longint;cdecl;external 'locnlm32' name 'NWultoa';
|
|
(* Const before type ignored *)
|
|
function NWLatoi(_string:Pchar):longint;cdecl;external 'locnlm32' name 'NWLatoi';
|
|
function NWLisalnum(ch:dword):longint;cdecl;external 'locnlm32' name 'NWLisalnum';
|
|
function NWLisalpha(ch:dword):longint;cdecl;external 'locnlm32' name 'NWLisalpha';
|
|
function NWLisdigit(ch:dword):longint;cdecl;external 'locnlm32' name 'NWLisdigit';
|
|
function NWLlocaleconv(lconvPtr:PLCONV):PLCONV;cdecl;external 'locnlm32' name 'NWLlocaleconv';
|
|
function NWLmblen(_string:Pchar; maxBytes:Tsize_t):longint;cdecl;external 'locnlm32' name 'NWLmblen';
|
|
function NWLmbslen(_string:Pchar):longint;cdecl;external 'locnlm32' name 'NWLmbslen';
|
|
function NWLsetlocale(category:longint; locale:Pchar):Pchar;cdecl;external 'locnlm32' name 'NWLsetlocale';
|
|
function NWLsetlocale_411(category:longint; locale:Pchar):Pchar;cdecl;external 'locnlm32' name 'NWLsetlocale_411';
|
|
function NWLstrbcpy(dest:Pchar; src:Pchar; maxlen:Tsize_t):Pchar;cdecl;external 'locnlm32' name 'NWLstrbcpy';
|
|
function NWLstrchr(_string:Pchar; find:longint):Pchar;cdecl;external 'locnlm32' name 'NWLstrchr';
|
|
function NWLstrcoll(string1:Pchar; string2:Pchar):longint;cdecl;external 'locnlm32' name 'NWLstrcoll';
|
|
function NWLstrcspn(string1:Pchar; string2:Pchar):Tsize_t;cdecl;external 'locnlm32' name 'NWLstrcspn';
|
|
function NWLstrftime(_string:Pchar; maxSize:Tsize_t; format:Pchar; timePtr:Ptm):Tsize_t;cdecl;external 'locnlm32' name 'NWLstrftime';
|
|
function NWLstricmp(str1:Pchar; str2:Pchar):longint;cdecl;external 'locnlm32' name 'NWLstricmp';
|
|
function NWLstrlwr(_string:Pchar):Pchar;cdecl;external 'locnlm32' name 'NWLstrlwr';
|
|
function NWLstrpbrk(string1:Pchar; string2:Pchar):Pchar;cdecl;external 'locnlm32' name 'NWLstrpbrk';
|
|
function NWLstrrchr(_string:Pchar; find:longint):Pchar;cdecl;external 'locnlm32' name 'NWLstrrchr';
|
|
function NWLstrrev(string1:Pchar; string2:Pchar):Pchar;cdecl;external 'locnlm32' name 'NWLstrrev';
|
|
function NWLstrspn(string1:Pchar; string2:Pchar):Tsize_t;cdecl;external 'locnlm32' name 'NWLstrspn';
|
|
function NWLstrstr(_string:Pchar; searchString:Pchar):Pchar;cdecl;external 'locnlm32' name 'NWLstrstr';
|
|
function NWLstrupr(_string:Pchar):Pchar;cdecl;external 'locnlm32' name 'NWLstrupr';
|
|
function NWLstrxfrm(string1:Pchar; string2:Pchar; numChars:Tsize_t):Tsize_t;cdecl;external 'locnlm32' name 'NWLstrxfrm';
|
|
function NWPrevChar(_string:Pchar; position:Pchar):Pchar;cdecl;external 'locnlm32' name 'NWPrevChar';
|
|
function NWprintf(format:Pchar; args:array of const):longint;cdecl;external 'locnlm32' name 'NWprintf';
|
|
function NWprintf(format:Pchar):longint;cdecl;external 'locnlm32' name 'NWprintf';
|
|
function NWsprintf(s:Pchar; format:Pchar; args:array of const):longint;cdecl;external 'locnlm32' name 'NWsprintf';
|
|
function NWsprintf(s:Pchar; format:Pchar):longint;cdecl;external 'locnlm32' name 'NWsprintf';
|
|
function NWstrImoney(buffer:Pchar; Value:TNUMBER_TYPE):Pchar;cdecl;external 'locnlm32' name 'NWstrImoney';
|
|
function NWstrmoney(buffer:Pchar; Value:TNUMBER_TYPE):Pchar;cdecl;external 'locnlm32' name 'NWstrmoney';
|
|
function NWstrncoll(string1:Pchar; string2:Pchar; maxChars:Tsize_t):longint;cdecl;external 'locnlm32' name 'NWstrncoll';
|
|
function NWstrncpy(target_string:Pchar; source_string:Pchar; numChars:longint):Pchar;cdecl;external 'locnlm32' name 'NWstrncpy';
|
|
function NWstrnum(buffer:Pchar; Value:TNUMBER_TYPE):Pchar;cdecl;external 'locnlm32' name 'NWstrnum';
|
|
//function NWvcprintf(format:Pchar; arg:Tva_list):longint;cdecl;external 'locnlm32' name 'NWvcprintf';
|
|
//function NWvprintf(format:Pchar; arg:Tva_list):longint;cdecl;external 'locnlm32' name 'NWvprintf';
|
|
//function NWvsprintf(s:Pchar; format:Pchar; arg:Tva_list):longint;cdecl;external 'locnlm32' name 'NWvsprintf';
|
|
{-nwaudnlm.h-------------------------------------------------------------------}
|
|
{ defined network address types: }
|
|
|
|
const
|
|
ASCIIZ_STRING_NET_ADDRESS_TYPE = 0;
|
|
IPX_NET_ADDRESS_TYPE = 1;
|
|
|
|
// special value network address type:
|
|
NO_IDENTITY_HAS_BEEN_SET = $FF;
|
|
|
|
function NWAddRecordToAuditingFile
|
|
(volumeNumber,
|
|
recordType,
|
|
stationNumber,
|
|
statusCode : longint;
|
|
data : pointer;
|
|
dataSize : longint):longint;cdecl;external 'clib' name 'NWAddRecordToAuditingFile';
|
|
function NWAddRecordToAuditingFile
|
|
(volumeNumber,
|
|
recordType,
|
|
stationNumber,
|
|
statusCode : longint;
|
|
var data;
|
|
dataSize : longint):longint;cdecl;external 'clib' name 'NWAddRecordToAuditingFile';
|
|
|
|
|
|
function NWGetAuditingIdentity
|
|
(addressType : Plongint;
|
|
networkAddress : pointer;
|
|
identityName : Pchar):longint;cdecl;external 'clib' name 'NWGetAuditingIdentity';
|
|
function NWGetAuditingIdentity
|
|
(var addressType : longint;
|
|
var networkAddress;
|
|
identityName : Pchar):longint;cdecl;external 'clib' name 'NWGetAuditingIdentity';
|
|
function NWSetAuditingIdentity
|
|
(addressType:longint;
|
|
networkAddress:pointer;
|
|
identityName:Pchar):longint;cdecl;external 'clib' name 'NWSetAuditingIdentity';
|
|
function NWSetAuditingIdentity
|
|
(addressType:longint;
|
|
var networkAddress;
|
|
identityName:Pchar):longint;cdecl;external 'clib' name 'NWSetAuditingIdentity';
|
|
{-nwbitops.h-------------------------------------------------------------------}
|
|
procedure BitClear (bitArray:pointer; bitNumber:longint);cdecl;external 'clib' name 'BitClear';
|
|
procedure BitSet (bitArray:pointer; bitNumber:longint);cdecl;external 'clib' name 'BitSet';
|
|
function BitTest (bitArray:pointer; bitNumber:longint):longint;cdecl;external 'clib' name 'BitTest';
|
|
function BitTestAndClear (bitArray:pointer; bitNumber:longint):longint;cdecl;external 'clib' name 'BitTestAndClear';
|
|
function BitTestAndSet (bitArray:pointer; bitNumber:longint):longint;cdecl;external 'clib' name 'BitTestAndSet';
|
|
function ScanBits (bitArray:pointer; startingBitNumber,totalBitCount:longint):longint;cdecl;external 'clib' name 'ScanBits';
|
|
function ScanClearedBits (bitArray:pointer; startingBitNumber,totalBitCount:longint):longint;cdecl;external 'clib' name 'ScanClearedBits';
|
|
|
|
procedure BitClear (var bitArray; bitNumber:longint);cdecl;external 'clib' name 'BitClear';
|
|
procedure BitSet (var bitArray; bitNumber:longint);cdecl;external 'clib' name 'BitSet';
|
|
function BitTest (var bitArray; bitNumber:longint):longint;cdecl;external 'clib' name 'BitTest';
|
|
function BitTestAndClear (var bitArray; bitNumber:longint):longint;cdecl;external 'clib' name 'BitTestAndClear';
|
|
function BitTestAndSet (var bitArray; bitNumber:longint):longint;cdecl;external 'clib' name 'BitTestAndSet';
|
|
function ScanBits (var bitArray; startingBitNumber,totalBitCount:longint):longint;cdecl;external 'clib' name 'ScanBits';
|
|
function ScanClearedBits (var bitArray; startingBitNumber,totalBitCount:longint):longint;cdecl;external 'clib' name 'ScanClearedBits';
|
|
{-nwcntask.h-------------------------------------------------------------------}
|
|
{#define LOGIN_WITHOUT_PASSWORD ((char *) N_TRUE) }
|
|
|
|
function AllocateBlockOfTasks(numberWanted:longint):longint;cdecl;external 'clib' name 'AllocateBlockOfTasks';
|
|
function CheckIfConnectionActive(connection:longint):byte;cdecl;external 'clib' name 'CheckIfConnectionActive';
|
|
function DisableConnection(connection:longint):longint;cdecl;external 'clib' name 'DisableConnection';
|
|
function EnableConnection(connection:longint):longint;cdecl;external 'clib' name 'EnableConnection';
|
|
function GetCurrentConnection:longint;cdecl;external 'clib' name 'GetCurrentConnection';
|
|
function GetCurrentFileServerID:word;cdecl;external 'clib' name 'GetCurrentFileServerID';
|
|
function GetCurrentTask:longint;cdecl;external 'clib' name 'GetCurrentTask';
|
|
function LoginObject(connection:longint; objectName:Pchar; objectType:word; password:Pchar):longint;cdecl;external 'clib' name 'LoginObject';
|
|
function LogoutObject(connection:longint):longint;cdecl;external 'clib' name 'LogoutObject';
|
|
function ReturnBlockOfTasks(startingTask,numberOfTasks:longint):longint;cdecl;external 'clib' name 'ReturnBlockOfTasks';
|
|
function ReturnConnection(connection:longint):longint;cdecl;external 'clib' name 'ReturnConnection';
|
|
function ReturnLocalConnection(connection:longint):longint;cdecl;external 'clib' name 'ReturnLocalConnection';
|
|
function SetCurrentConnection(connectionNumber:longint):longint;cdecl;external 'clib' name 'SetCurrentConnection';
|
|
function SetCurrentFileServerID(connectionID:word):word;cdecl;external 'clib' name 'SetCurrentFileServerID';
|
|
function SetCurrentTask(taskNumber:longint):longint;cdecl;external 'clib' name 'SetCurrentTask';
|
|
{-nwconio.h--------------------------------------------------------------------}
|
|
const
|
|
DONT_AUTO_ACTIVATE = $01; // avoids autoactivation when screens are
|
|
// created, but no other screens exist
|
|
DONT_SWITCH_SCREEN = $02; // avoids screen being switched
|
|
DONT_CHECK_CTRL_CHARS = $10; // turns off ^C and ^S processing
|
|
AUTO_DESTROY_SCREEN = $20; // avoids "Press any key to close screen
|
|
POP_UP_SCREEN = $40;
|
|
UNCOUPLED_CURSORS = $80; // for distinct input & output cursors
|
|
{ more screen attribute values returned by GetScreenInfo() }
|
|
HAS_A_CLIB_HANDLE = $00000100;
|
|
_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;
|
|
|
|
{ key types... }
|
|
NORMAL_KEY = $00;
|
|
FUNCTION_KEY = $01;
|
|
ENTER_KEY = $02;
|
|
ESCAPE_KEY = $03;
|
|
BACKSPACE_KEY = $04;
|
|
DELETE_KEY = $05;
|
|
INSERT_KEY = $06;
|
|
CURSOR_UP_KEY = $07;
|
|
CURSOR_DOWN_KEY = $08;
|
|
CURSOR_RIGHT_KEY = $09;
|
|
CURSOR_LEFT_KEY = $0A;
|
|
CURSOR_HOME_KEY = $0B;
|
|
CURSOR_END_KEY = $0C;
|
|
CURSOR_PUP_KEY = $0D;
|
|
CURSOR_PDOWN_KEY = $0E;
|
|
{ some name equivalents... }
|
|
ENTER = $0D;
|
|
ESCAPE = $1B;
|
|
BACKSPACE = $08;
|
|
{ modifier code constituents... }
|
|
SHIFT_KEY_HELD = $01;
|
|
CTRL_KEY_HELD = $04;
|
|
ALT_KEY_HELD = $08;
|
|
CAPS_LOCK_IS_ON = $40;
|
|
NUM_LOCK_IS_ON = $20;
|
|
SCROLL_LOCK_IS_ON = $10;
|
|
|
|
{ cursor types... }
|
|
CURSOR_NORMAL = $0C0B;
|
|
CURSOR_THICK = $0C09;
|
|
CURSOR_BLOCK = $0C00;
|
|
CURSOR_TOP = $0400;
|
|
|
|
type // libc compatible
|
|
Pscr_t = ^scr_t;
|
|
scr_t = pointer;
|
|
TScr = scr_t;
|
|
PScr = Pscr_t;
|
|
PScreenStruct = PScr;
|
|
|
|
function getch:longint; cdecl; external 'clib' name 'getch';
|
|
function getche:longint; cdecl; external 'clib' name 'getche';
|
|
function kbhit:longint; cdecl; external 'clib' name 'kbhit';
|
|
function putch(c:longint):longint; cdecl; external 'clib' name 'putch';
|
|
function ungetch(c:longint):longint; cdecl; external 'clib' name 'ungetch';
|
|
function ungetcharacter(c:longint):longint; cdecl; external 'clib' name 'ungetch';
|
|
function cgets(buf:Pchar):Pchar; cdecl; external 'clib' name 'cgets';
|
|
function CheckIfScreenDisplayed(screenHandle,waitFlag:longint):longint; cdecl; external 'clib' name 'CheckIfScreenDisplayed';
|
|
function CheckIfScreenDisplayed(screenHandle:TScr;waitFlag:longint):longint; cdecl; external 'clib' name 'CheckIfScreenDisplayed';
|
|
procedure clrscr; cdecl; external 'clib' name 'clrscr';
|
|
procedure ConsolePrintf(format:Pchar; args:array of const); cdecl; external 'clib' name 'ConsolePrintf';
|
|
procedure ConsolePrintf(format:Pchar); cdecl; external 'clib' name 'ConsolePrintf';
|
|
procedure CopyToScreenMemory(height,width:word; Rect:PBYTE; beg_x,beg_y:word); cdecl; external 'clib' name 'CopyToScreenMemory';
|
|
procedure CopyToScreenMemory(height,width:word; var Data; beg_x,beg_y:word); cdecl; external 'clib' name 'CopyToScreenMemory';
|
|
procedure CopyFromScreenMemory(height,width:word; Rect:PBYTE; beg_x,beg_y:word); cdecl; external 'clib' name 'CopyFromScreenMemory';
|
|
procedure CopyFromScreenMemory(height,width:word; var Data; beg_x,beg_y:word); cdecl; external 'clib' name 'CopyFromScreenMemory';
|
|
function CoupleInputOutputCursors:longint; cdecl; external 'clib' name 'CoupleInputOutputCursors';
|
|
function cputs(buf:Pchar):longint; cdecl; external 'clib' name 'cputs';
|
|
function cprintf(fmt:Pchar; args:array of const):longint; cdecl; external 'clib' name 'cprintf';
|
|
function cprintf(fmt:Pchar):longint; cdecl; external 'clib' name 'cprintf';
|
|
//function CreateScreen(screenName:Pchar; attr:byte):longint; cdecl; external 'clib' name 'CreateScreen';
|
|
function CreateScreen(screenName:Pchar; attr:byte):TScr; cdecl; external 'clib' name 'CreateScreen';
|
|
function cscanf(fmt:Pchar; args:array of const):longint; cdecl; external 'clib' name 'cscanf';
|
|
function cscanf(fmt:Pchar):longint; cdecl; external 'clib' name 'cscanf';
|
|
function DecoupleInputOutputCursors:longint; cdecl; external 'clib' name 'DecoupleInputOutputCursors';
|
|
function DestroyScreen(screenHandle:longint):longint; cdecl; external 'clib' name 'DestroyScreen';
|
|
function DestroyScreen(screenHandle:TScr):longint; cdecl; external 'clib' name 'DestroyScreen';
|
|
function DisplayInputCursor:longint; cdecl; external 'clib' name 'DisplayInputCursor';
|
|
function DisplayScreen(screenHandle:longint):longint; cdecl; external 'clib' name 'DisplayScreen';
|
|
function DisplayScreen(screenHandle:TScr):longint; cdecl; external 'clib' name 'DisplayScreen';
|
|
function DropPopUpScreen(screenHandle:longint):longint; cdecl; external 'clib' name 'DropPopUpScreen';
|
|
function DropPopUpScreen(screenHandle:TScr):longint; cdecl; external 'clib' name 'DropPopUpScreen';
|
|
//function GetCurrentScreen:longint; cdecl; external 'clib' name 'GetCurrentScreen';
|
|
function GetCurrentScreen:TScr; cdecl; external 'clib' name 'GetCurrentScreen';
|
|
function GetCursorCouplingMode:byte; cdecl; external 'clib' name 'GetCursorCouplingMode';
|
|
function GetCursorShape(startline,endline:PBYTE):word; cdecl; external 'clib' name 'GetCursorShape';
|
|
function GetCursorShape(var startline,endline:byte):word; cdecl; external 'clib' name 'GetCursorShape';
|
|
function GetCursorSize(firstline,lastline:PBYTE):word; cdecl; external 'clib' name 'GetCursorSize';
|
|
function GetCursorSize(var firstline,lastline:byte):word; cdecl; external 'clib' name 'GetCursorSize';
|
|
function GetPositionOfOutputCursor(rowP,columnP:PWORD):longint; cdecl; external 'clib' name 'GetPositionOfOutputCursor';
|
|
function GetPositionOfOutputCursor(var row,col:word):longint; cdecl; external 'clib' name 'GetPositionOfOutputCursor';
|
|
function __GetScreenID(screenHandle:longint):longint; cdecl; external 'clib' name '__GetScreenID';
|
|
function __GetScreenID(screenHandle:TScr):longint; cdecl; external 'clib' name '__GetScreenID';
|
|
function GetScreenInfo(handle:longint; name:Pchar; attr:plongint):longint; cdecl; external 'clib' name 'GetScreenInfo';
|
|
function GetScreenInfo(handle:longint; name:Pchar; var attr:longint):longint; cdecl; external 'clib' name 'GetScreenInfo';
|
|
function GetSizeOfScreen(heightP,widthP:PWORD):longint; cdecl; external 'clib' name 'GetSizeOfScreen';
|
|
function GetSizeOfScreen(var heightP,widthP:word):longint; cdecl; external 'clib' name 'GetSizeOfScreen';
|
|
procedure gotoxy(col,row:word); cdecl; external 'clib' name 'gotoxy';
|
|
function HideInputCursor:longint; cdecl; external 'clib' name 'HideInputCursor';
|
|
function IsColorMonitor:longint; cdecl; external 'clib' name 'IsColorMonitor';
|
|
function PressAnyKeyToContinue:longint; cdecl; external 'clib' name 'PressAnyKeyToContinue';
|
|
function PressAnyKey:longint; cdecl; external 'clib' name 'PressAnyKeyToContinue';
|
|
function PressEscapeToQuit:longint; cdecl; external 'clib' name 'PressEscapeToQuit';
|
|
function PressEscape:longint; cdecl; external 'clib' name 'PressEscapeToQuit';
|
|
procedure RingTheBell; cdecl; external 'clib' name 'RingTheBell';
|
|
procedure RingBell; cdecl; external 'clib' name 'RingTheBell';
|
|
|
|
function ScanScreens(LastScreenID:longint; name:Pchar; attr:plongint):longint; cdecl; external 'clib' name 'ScanScreens';
|
|
function ScanScreens(LastScreenID:longint; name:Pchar; var attr:longint):longint; cdecl; external 'clib' name 'ScanScreens';
|
|
function ScanScreens(LastScreenID:TScr; name:Pchar; attr:plongint):TScr; cdecl; external 'clib' name 'ScanScreens';
|
|
function ScanScreens(LastScreenID:TScr; name:Pchar; var attr:longint):TScr; cdecl; external 'clib' name 'ScanScreens';
|
|
|
|
function ScrollScreenRegionDown(firstLine,numLines:longint):longint; cdecl; external 'clib' name 'ScrollScreenRegionDown';
|
|
function ScrollScreenRegionUp(firstLine,numLines:longint):longint; cdecl; external 'clib' name 'ScrollScreenRegionUp';
|
|
function SetAutoScreenDestructionMode(newMode:byte):byte; cdecl; external 'clib' name 'SetAutoScreenDestructionMode';
|
|
function SetCtrlCharCheckMode(newMode:byte):byte; cdecl; external 'clib' name 'SetCtrlCharCheckMode';
|
|
function SetCursorCouplingMode(newMode:byte):byte; cdecl; external 'clib' name 'SetCursorCouplingMode';
|
|
function SetCursorShape(startline,endline:byte):word; cdecl; external 'clib' name 'SetCursorShape';
|
|
function SetCurrentScreen(screenHandle:longint):longint; cdecl; external 'clib' name 'SetCurrentScreen';
|
|
function SetCurrentScreen(screenHandle:TScr):longint; cdecl; external 'clib' name 'SetCurrentScreen';
|
|
function SetInputAtOutputCursorPosition:longint; cdecl; external 'clib' name 'SetInputAtOutputCursorPosition';
|
|
function SetOutputAtInputCursorPosition:longint; cdecl; external 'clib' name 'SetOutputAtInputCursorPosition';
|
|
function SetPositionOfInputCursor(row,col:word):longint; cdecl; external 'clib' name 'SetPositionOfInputCursor';
|
|
function SetScreenAreaAttribute(line,col:longint; numLines:longint; numColumns:longint; attr:longint):longint; cdecl; external 'clib' name 'SetScreenAreaAttribute';
|
|
function SetScreenAttributes(mask,attr:longint):longint; cdecl; external 'clib' name 'SetScreenAttributes';
|
|
function SetScreenCharacterAttribute(line,column,attr:longint):longint; cdecl; external 'clib' name 'SetScreenCharacterAttribute';
|
|
function SetScreenRegionAttribute(firstLine,numLines:longint; attr:byte):longint; cdecl; external 'clib' name 'SetScreenRegionAttribute';
|
|
function wherex:word; cdecl; external 'clib' name 'wherex';
|
|
function wherey:word; cdecl; external 'clib' name 'wherey';
|
|
|
|
procedure GetKey(scrID:TScr; _type,value,status,scancode:Pbyte;linesToProtect:Longint);cdecl;external 'clib' name 'GetKey';
|
|
procedure GetKey(scrID:TScr; var _type,value,status,scancode:byte;linesToProtect:Longint);cdecl;external 'clib' name 'GetKey';
|
|
procedure GetKey(scrID:Longint; _type,value,status,scancode:Pbyte;linesToProtect:Longint);cdecl;external 'clib' name 'GetKey';
|
|
procedure GetKey(scrID:Longint; var _type,value,status,scancode:byte;linesToProtect:Longint);cdecl;external 'clib' name 'GetKey';
|
|
|
|
function UngetKey(scrID:TScr; _type,value,status,scancode:byte):longint;cdecl;external 'clib' name 'UngetKey';
|
|
function UngetKey(scrID:Longint; _type,value,status,scancode:byte):longint;cdecl;external 'clib' name 'UngetKey';
|
|
{-nwconn.h---------------------------------------------------------------------}
|
|
{ Structures and typedefs for connection services }
|
|
|
|
const
|
|
IPX_TRANSPORT_ADDRESS = 1;
|
|
IPX_TRANSPORT_LENGTH = 12;
|
|
UDP_TRANSPORT_ADDRESS = 8;
|
|
UDP_TRANSPORT_LENGTH = 4;
|
|
TCP_TRANSPORT_ADDRESS = 9;
|
|
TCP_TRANSPORT_LENGTH = 4;
|
|
{$include npackon.inc}
|
|
type
|
|
PUserNameStruct = ^TUserNameStruct;
|
|
TUserNameStruct = record
|
|
UserName : array[0..47] of char;
|
|
ObjectID : longint;
|
|
end;
|
|
TConnectionCriticalErrorHandler =
|
|
function (fileServerID,connection,err:longint):longint; cdecl;
|
|
|
|
{$include npackoff.inc}
|
|
|
|
function AttachByAddress(transType:byte; transLen:longint; transBuf:pointer; fileServerID:PWORD):longint;cdecl;external 'clib' name 'AttachByAddress';
|
|
function AttachByAddress(transType:byte; transLen:longint; var transBuf; var fileServerID:word):longint;cdecl;external 'clib' name 'AttachByAddress';
|
|
|
|
function AttachToFileServer(fileServerName:Pchar; fileServerID:PWORD):longint;cdecl;external 'clib' name 'AttachToFileServer';
|
|
function AttachToFileServer(fileServerName:Pchar; var fileServerID:word):longint;cdecl;external 'clib' name 'AttachToFileServer';
|
|
|
|
function GetConnectionFromID(fileServerID:PWORD):longint;cdecl;external 'clib' name 'GetConnectionFromID';
|
|
function GetConnectionFromID(var fileServerID:word):longint;cdecl;external 'clib' name 'GetConnectionFromID';
|
|
|
|
function GetConnectionInformation (connectionNumber:word;
|
|
objectName :Pchar;
|
|
objectType :PWORD;
|
|
objectID :Plongint;
|
|
loginTime :pointer):longint;cdecl;external 'clib' name 'GetConnectionInformation';
|
|
function GetConnectionInformation (connectionNumber:word;
|
|
objectName :Pchar;
|
|
var objectType :word;
|
|
var objectID :longint;
|
|
var loginTime):longint;cdecl;external 'clib' name 'GetConnectionInformation';
|
|
|
|
function GetConnectionList(objectID,lastConnection:longint;
|
|
numberOfConnections:Plongint;
|
|
connectionList:pointer;
|
|
connectionSize:longint):longint;cdecl;external 'clib' name 'GetConnectionList';
|
|
function GetConnectionList(objectID,lastConnection:longint;
|
|
var numberOfConnections:longint;
|
|
var connectionList; {array of longint}
|
|
connectionSize:longint):longint;cdecl;external 'clib' name 'GetConnectionList';
|
|
function GetConnectionNumber:word;cdecl;external 'clib' name 'GetConnectionNumber';
|
|
function GetDefaultConnectionID:longint;cdecl;external 'clib' name 'GetDefaultConnectionID';
|
|
function GetDefaultFileServerID:longint;cdecl;external 'clib' name 'GetDefaultFileServerID';
|
|
function GetFileServerID(fileServerName:Pchar; fileServerID:PWORD):longint;cdecl;external 'clib' name 'GetFileServerID';
|
|
function GetFileServerID(fileServerName:Pchar; var fileServerID:word):longint;cdecl;external 'clib' name 'GetFileServerID';
|
|
|
|
function GetInternetAddress(connectionNumber:word;
|
|
networkNumber:pointer;
|
|
physicalNodeAddress:pointer):longint;cdecl;external 'clib' name 'GetInternetAddress';
|
|
function GetInternetAddress(connectionNumber:word;
|
|
var networkNumber; {4 bytes}
|
|
var physicalNodeAddress {6 bytes}):longint;cdecl;external 'clib' name 'GetInternetAddress';
|
|
function GetLANAddress (boardNumber:longint;
|
|
nodeAddress:pointer):longint;cdecl;external 'clib' name 'GetLANAddress';
|
|
function GetLANAddress (boardNumber:longint;
|
|
var nodeAddress{6 bytes}):longint;cdecl;external 'clib' name 'GetLANAddress';
|
|
|
|
function GetMaximumNumberOfStations:longint;cdecl;external 'clib' name 'GetMaximumNumberOfStations';
|
|
function GetNetNumber(boardNumber:longint):longint;cdecl;external 'clib' name 'GetNetNumber';
|
|
|
|
function GetObjectConnectionNumbers (objectName:Pchar;
|
|
objectType:word;
|
|
numberOfConnections:PWORD;
|
|
connectionList:PWORD;
|
|
maxConnections:word):longint;cdecl;external 'clib' name 'GetObjectConnectionNumbers';
|
|
function GetObjectConnectionNumbers (objectName:Pchar;
|
|
objectType:word;
|
|
var numberOfConnections:word;
|
|
var connectionList; {array of WORD}
|
|
maxConnections:word):longint;cdecl;external 'clib' name 'GetObjectConnectionNumbers';
|
|
|
|
procedure GetStationAddress(physicalNodeAddress:pointer);cdecl;external 'clib' name 'GetStationAddress';
|
|
procedure GetStationAddress(var physicalNodeAddress {6 bytes});cdecl;external 'clib' name 'GetStationAddress';
|
|
|
|
function GetUserNameFromNetAddress (internetAddress:PBYTE;
|
|
sequenceNumber:longint;
|
|
userNameP:PUserNameStruct):longint;cdecl;external 'clib' name 'GetUserNameFromNetAddress';
|
|
function GetUserNameFromNetAddress (var internetAddress; {10 bytes}
|
|
sequenceNumber:longint;
|
|
var userName:TUserNameStruct):longint;cdecl;external 'clib' name 'GetUserNameFromNetAddress';
|
|
|
|
function LoginToFileServer (objectName:Pchar;
|
|
objectType:word;
|
|
objectPassword:Pchar):longint;cdecl;external 'clib' name 'LoginToFileServer';
|
|
procedure Logout;cdecl;external 'clib' name 'Logout';
|
|
procedure LogoutFromFileServer(fileServerID:word);cdecl;external 'clib' name 'LogoutFromFileServer';
|
|
function NWDSGetCurrentUser:longint;cdecl;external 'clib' name 'NWDSGetCurrentUser';
|
|
function NWDSSetCurrentUser(userHandle:longint):longint;cdecl;external 'clib' name 'NWDSSetCurrentUser';
|
|
|
|
function NWDSSetPreferredDSTree (len:longint; treeName:Pchar):longint;cdecl;external 'clib' name 'NWDSSetPreferredDSTree';
|
|
function NWGetPacketBurstBufferCount:longint;cdecl;external 'clib' name 'NWGetPacketBurstBufferCount';
|
|
function NWGetSecurityLevel:longint;cdecl;external 'clib' name 'NWGetSecurityLevel';
|
|
|
|
function NWNCPSend (functionCode:byte;
|
|
sendPacket:pointer; sendLen :word;
|
|
replyBuf :pointer; replyLen:word):longint;cdecl;external 'clib' name 'NWNCPSend';
|
|
function NWNCPSend (functionCode:byte;
|
|
var sendPacket; sendLen :word;
|
|
var replyBuf; replyLen:word):longint;cdecl;external 'clib' name 'NWNCPSend';
|
|
|
|
function NWSetPacketBurstBufferCount(numberOfBuffers:longint):longint;cdecl;external 'clib' name 'NWSetPacketBurstBufferCount';
|
|
function NWSetSecurityLevel(SecurityLevel:longint):longint;cdecl;external 'clib' name 'NWSetSecurityLevel';
|
|
|
|
function SetConnectionCriticalErrorHandler(func:TConnectionCriticalErrorHandler):longint;cdecl;external 'clib' name 'SetConnectionCriticalErrorHandler';
|
|
{-nwdebug.h--------------------------------------------------------------------}
|
|
{ library-debug flags }
|
|
|
|
const
|
|
CLIB_CONTEXT_CHECK = $002; { CLib Context }
|
|
CLIB_MEMCHECK = $004; { Memory Overwrites }
|
|
CLIB_RESOURCECHECK = $020; { Resource Check }
|
|
CLIB_THREAD_CHECK = $200; { Thread Check }
|
|
CLIB_SEMCHECK = $080; { Semaphore Checking }
|
|
CLIB_RING_BELL = $040;
|
|
{ dynamic setting and clearing of breakpoints }
|
|
EXECUTION_BREAKPOINT = 0;
|
|
WRITE_BREAKPOINT = 1;
|
|
READ_WRITE_BREAKPOINT = 3;
|
|
|
|
// most of the functions are in the kernel (system), we define clib here to
|
|
// avoid linker errors
|
|
procedure NWClearBreakpoint(breakpoint:longint);cdecl;external 'clib' name 'NWClearBreakpoint';
|
|
function NWSetBreakpoint(address,breakType:longint):longint;cdecl;external 'clib' name 'NWSetBreakpoint';
|
|
function NWDebugPrintf(format:Pchar; args:array of const):longint;cdecl;external 'clib' name 'NWDebugPrintf';
|
|
function NWDebugPrintf(format:Pchar):longint;cdecl;external 'clib' name 'NWDebugPrintf';
|
|
function NWValidateDebugProfile:longint;cdecl;external 'clib' name 'NWValidateDebugProfile';
|
|
procedure NWBumpFunctionCount(name:Pchar);cdecl;external 'clib' name 'NWBumpFunctionCount';
|
|
procedure NWDisplayBinaryAtAddr(addr:pointer);cdecl;external 'clib' name 'NWDisplayBinaryAtAddr';
|
|
procedure NWDisplayDoubleAtAddr(addr:pointer);cdecl;external 'clib' name 'NWDisplayDoubleAtAddr';
|
|
procedure NWDisplayLConvAtAddr(lc:pointer);cdecl;external 'clib' name 'NWDisplayLConvAtAddr';
|
|
procedure NWDisplayStringAtAddr(s:Pchar; len:longint);cdecl;external 'clib' name 'NWDisplayStringAtAddr';
|
|
procedure NWDisplayTMAtAddr(t:pointer);cdecl;external 'clib' name 'NWDisplayTMAtAddr';
|
|
procedure NWDisplayUnicodeAtAddr(s:pointer; len:longint);cdecl;external 'clib' name 'NWDisplayUnicodeAtAddr';
|
|
procedure NWEnableDebugProfile(flag:longint);cdecl;external 'clib' name 'NWEnableDebugProfile';
|
|
procedure EnterDebugger;cdecl;external 'clib' name 'EnterDebugger';
|
|
function GetDebugSettings:longint;cdecl;external 'clib' name 'GetDebugSettings';
|
|
procedure SetDebugSettings(Settings:longint);cdecl;external 'clib' name 'SetDebugSettings';
|
|
function GetNLMIDFromNLMName(NLMName:PChar):longint;cdecl;external 'clib' name 'GetNLMIDFromNLMName';
|
|
function GetDebugErrorMessage:PChar;cdecl;external 'clib' name 'GetDebugErrorMessage';
|
|
function GetMemoryUsage(NLMID:longint):longint;cdecl;external 'clib' name 'GetMemoryUsage';
|
|
{-nwdfs.h----------------------------------------------------------------------}
|
|
// completion codes
|
|
const
|
|
DFSFailedCompletion = -1;
|
|
DFSNormalCompletion = 0;
|
|
DFSInsufficientSpace = 1;
|
|
DFSVolumeSegmentDeactivated = 4;
|
|
DFSTruncationFailure = 16;
|
|
DFSHoleInFileError = 17;
|
|
DFSParameterError = 18;
|
|
DFSOverlapError = 19;
|
|
DFSSegmentError = 20;
|
|
DFSBoundryError = 21;
|
|
DFSInsufficientLimboFileSpace = 22;
|
|
DFSNotInDirectFileMode = 23;
|
|
DFSOperationBeyondEndOfFile = 24;
|
|
DFSOutOfHandles = 129;
|
|
DFSHardIOError = 131;
|
|
DFSInvalidFileHandle = 136;
|
|
DFSNoReadPrivilege = 147;
|
|
DFSNoWritePrivilege = 148;
|
|
DFSFileDetached = 149;
|
|
DFSInsufficientMemory = 150;
|
|
DFSInvalidVolume = 152;
|
|
DFSIOLockError = 162;
|
|
|
|
{$PACKRECORDS C}
|
|
type
|
|
PFileMapStructure = ^TFileMapStructure;
|
|
TFileMapStructure = record
|
|
fileBlock : longint;
|
|
volumeBlock : longint;
|
|
numberOfBlocks : longint;
|
|
end;
|
|
|
|
PVolumeInformationStructure = ^TVolumeInformationStructure;
|
|
TVolumeInformationStructure = record
|
|
VolumeAllocationUnitSizeInBytes : longint;
|
|
VolumeSizeInAllocationUnits : longint;
|
|
VolumeSectorSize : longint;
|
|
AllocationUnitsUsed : longint;
|
|
AllocationUnitsFreelyAvailable : longint;
|
|
AllocationUnitsInDeletedFilesNotAvailable : longint;
|
|
AllocationUnitsInAvailableDeletedFiles : longint;
|
|
NumberOfPhysicalSegmentsInVolume : longint;
|
|
PhysicalSegmentSizeInAllocationUnits : array[0..63] of longint;
|
|
end;
|
|
|
|
PDFSCallBackParameters = ^TDFSCallBackParameters;
|
|
TDFSCallBackParameters = record
|
|
localSemaphoreHandle : longint;
|
|
completionCode : longint;
|
|
end;
|
|
|
|
{-------------------------------------------------------------------------
|
|
Definition of setSizeFlags
|
|
------------------------------------------------------------------------- }
|
|
|
|
const
|
|
SETSIZE_NON_SPARSE_FILE = $00000001; // Alloc blocks to extend the file
|
|
SETSIZE_NO_ZERO_FILL = $00000002; // Do not zero fill the newly allocated blocks
|
|
SETSIZE_UNDO_ON_ERR = $00000004; // In non sparse cases truncate back to original eof if an error occurs
|
|
SETSIZE_PHYSICAL_ONLY = $00000008; // Change the physical EOF only, dont change logical EOF. This means non sparse for the expand case
|
|
SETSIZE_LOGICAL_ONLY = $00000010; // Change only the logical EOF expand will always be sparse and truncate won't free physical blocks
|
|
|
|
function DFSclose(fileHandle:longint):longint;cdecl;external 'clib' name 'DFSclose';
|
|
function DFScreat(fileName:Pchar; permission,flagBits:longint):longint;cdecl;external 'clib' name 'DFScreat';
|
|
function DFSExpandFile(fileHandle,fileBlockNumber,
|
|
numberOfBlocks,volumeBlockNumber,segmentNumber:longint):longint;cdecl;external 'clib' name 'DFSExpandFile';
|
|
function DFSFreeLimboVolumeSpace(volumeNumber,numberOfBlocks:longint):longint;cdecl;external 'clib' name 'DFSFreeLimboVolumeSpace';
|
|
function DFSsopen(fileName:PChar; access,share,permission,flagBits,dataStream:longint):longint;cdecl;external 'clib' name 'DFSsopen';
|
|
function DFSRead(fileHandle,startingSector,sectorCount:longint; buffer:pointer):longint;cdecl;external 'clib' name 'DFSRead';
|
|
function DFSRead(fileHandle,startingSector,sectorCount:longint; var buffer):longint;cdecl;external 'clib' name 'DFSRead';
|
|
function DFSReadNoWait(fileHandle,startingSector,sectorCount:longint; buffer:pointer; callBackNode:PDFSCallBackParameters):longint;cdecl;external 'clib' name 'DFSReadNoWait';
|
|
function DFSReadNoWait(fileHandle,startingSector,sectorCount:longint; var buffer; var callBackNode:TDFSCallBackParameters):longint;cdecl;external 'clib' name 'DFSReadNoWait';
|
|
function DFSReturnFileMappingInformation(fileHandle,startingBlockNumber:longint; numberOfEntries:Plongint; tableSize:longint; table:PFileMapStructure):longint;cdecl;external 'clib' name 'DFSReturnFileMappingInformation';
|
|
function DFSReturnFileMappingInformation(fileHandle,startingBlockNumber:longint; var numberOfEntries:longint; tableSize:longint; var table:TFileMapStructure):longint;cdecl;external 'clib' name 'DFSReturnFileMappingInformation';
|
|
function DFSReturnVolumeBlockInformation(volumeNumber,startingBlockNumber,numberOfBlocks:longint; buffer:Pointer):longint;cdecl;external 'clib' name 'DFSReturnVolumeBlockInformation';
|
|
function DFSReturnVolumeBlockInformation(volumeNumber,startingBlockNumber,numberOfBlocks:longint; var buffer):longint;cdecl;external 'clib' name 'DFSReturnVolumeBlockInformation';
|
|
function DFSReturnVolumeMappingInformation(volumeNumber:longint; volumeInformation:PVolumeInformationStructure):longint;cdecl;external 'clib' name 'DFSReturnVolumeMappingInformation';
|
|
function DFSSetDataSize (handle:longint; newFileSize:int64; setSizeFlags:longint):longint; cdecl;external 'clib' name 'DFSSetDataSize';
|
|
function DFSSetEndOfFile(handle,newFileSize,returnTruncatedBlocksFlag:longint):longint;cdecl;external 'clib' name 'DFSSetEndOfFile';
|
|
function DFSWrite(fileHandle,startingSector,sectorCount:longint; buffer:pointer):longint;cdecl;external 'clib' name 'DFSWrite';
|
|
function DFSWrite(fileHandle,startingSector,sectorCount:longint; var buffer):longint;cdecl;external 'clib' name 'DFSWrite';
|
|
function DFSWriteNoWait(fileHandle,startingSector,sectorCount:longint; buffer:pointer; callBackNode:PDFSCallBackParameters):longint;cdecl;external 'clib' name 'DFSWriteNoWait';
|
|
function DFSWriteNoWait(fileHandle,startingSector,sectorCount:longint; var buffer; var callBackNode:TDFSCallBackParameters):longint;cdecl;external 'clib' name 'DFSWriteNoWait';
|
|
{-nwdos.h----------------------------------------------------------------------}
|
|
{$include npackon.inc}
|
|
type
|
|
Pfind_t = ^Tfind_t;
|
|
Tfind_t = record
|
|
reserved : array[0..20] of char;
|
|
attrib : char;
|
|
wr_time : word;
|
|
wr_date : word;
|
|
size : longint;
|
|
name : array[0..12] of char;
|
|
end;
|
|
|
|
{$include npackoff.inc}
|
|
|
|
function DOSChangeFileMode(name:Pchar; attributes:Plongint; _function:longint; newAttributes:longint):longint;cdecl;external 'clib' name 'DOSChangeFileMode';
|
|
function DOSClose(handle:longint):longint;cdecl;external 'clib' name 'DOSClose';
|
|
function DOSCopy(NetWareFileName,DOSFileName:Pchar):longint;cdecl;external 'clib' name 'DOSCopy';
|
|
function DOSCreate(fileName:Pchar; handle:Plongint):longint;cdecl;external 'clib' name 'DOSCreate';
|
|
function DOSCreate(fileName:Pchar; var handle:longint):longint;cdecl;external 'clib' name 'DOSCreate';
|
|
function DOSsopen(filename:Pchar; access,share,permission:longint):longint;cdecl;external 'clib' name 'DOSsopen';
|
|
function DOSFindFirstFile(fileName:Pchar; searchAttributes:word; diskTransferAddress:Pfind_t):longint;cdecl;external 'clib' name 'DOSFindFirstFile';
|
|
function DOSFindNextFile(diskTransferAddress:Pfind_t):longint;cdecl;external 'clib' name 'DOSFindNextFile';
|
|
function DOSMkdir(__dirName:Pchar):longint;cdecl;external 'clib' name 'DOSMkdir';
|
|
function DOSOpen(fileName:Pchar; handle:Plongint):longint;cdecl;external 'clib' name 'DOSOpen';
|
|
function DOSOpen(fileName:Pchar; var handle:longint):longint;cdecl;external 'clib' name 'DOSOpen';
|
|
function DOSPresent:longint;cdecl;external 'clib' name 'DOSPresent';
|
|
function DOSRead(handle,fileOffset:longint; buffer:pointer; numberOfBytesToRead:longint; numberOfBytesRead:Plongint):longint;cdecl;external 'clib' name 'DOSRead';
|
|
function DOSRead(handle,fileOffset:longint; var buffer; numberOfBytesToRead:longint; var numberOfBytesRead:longint):longint;cdecl;external 'clib' name 'DOSRead';
|
|
function DOSRemove(name:Pchar):longint;cdecl;external 'clib' name 'DOSRemove';
|
|
function DOSRename(srcName,dstName:Pchar):longint;cdecl;external 'clib' name 'DOSRename';
|
|
function DOSRmdir(Name:Pchar):longint;cdecl;external 'clib' name 'DOSRmdir';
|
|
function DOSSetDateAndTime(handle,date,time:longint):longint;cdecl;external 'clib' name 'DOSSetDateAndTime';
|
|
procedure DOSShutOffFloppyDrive;cdecl;external 'clib' name 'DOSShutOffFloppyDrive';
|
|
function DOSUnlink(Name:Pchar):longint;cdecl;external 'clib' name 'DOSUnlink';
|
|
function DOSWrite(handle,fileOffset:longint; buffer:pointer; numberOfBytesToWrite:longint; numberOfBytesWritten:Plongint):longint;cdecl;external 'clib' name 'DOSWrite';
|
|
function DOSWrite(handle,fileOffset:longint; var buffer; numberOfBytesToWrite:longint; var numberOfBytesWritten:longint):longint;cdecl;external 'clib' name 'DOSWrite';
|
|
{-nwfattr.h--------------------------------------------------------------------}
|
|
const
|
|
NWSH_PRE_401D_COMPAT = $80000000; // for multiple thread use, see documentation for sopen()...
|
|
{ Attribute values for use with existing files }
|
|
{ Normal (read/write) file }
|
|
_A_NORMAL = $00000000;
|
|
_A_RDONLY = $00000001;
|
|
_A_HIDDEN = $00000002;
|
|
_A_SYSTEM = $00000004;
|
|
_A_EXECUTE = $00000008;
|
|
_A_VOLID = $00000008; // Volume ID entry
|
|
_A_SUBDIR = $00000010;
|
|
_A_ARCH = $00000020;
|
|
_A_SHARE = $00000080;
|
|
_A_NO_SUBALLOC = $00000800; // Don't sub alloc. this file
|
|
_A_TRANS = $00001000; // Transactional file (TTS usable)
|
|
_A_READAUD = $00004000; // Read audit
|
|
_A_WRITAUD = $00008000; // Write audit
|
|
_A_IMMPURG = $00010000; // Immediate purge
|
|
_A_NORENAM = $00020000; // Rename inhibit
|
|
_A_NODELET = $00040000; // Delete inhibit
|
|
_A_NOCOPY = $00080000; // Copy inhibit
|
|
_A_FILE_MIGRATED = $00400000; // File has been migrated
|
|
_A_DONT_MIGRATE = $00800000; // Don't migrate this file
|
|
_A_IMMEDIATE_COMPRESS = $02000000; // Compress this file immediately
|
|
_A_FILE_COMPRESSED = $04000000; // File is compressed
|
|
_A_DONT_COMPRESS = $08000000; // Don't compress this file
|
|
_A_CANT_COMPRESS = $20000000; // Can't compress this file
|
|
_A_ATTR_ARCHIVE = $40000000; // Entry has had an EA modified
|
|
// an ownerID changed, or trustee
|
|
// info changed, etc.
|
|
|
|
// Attribute values usable during file creation
|
|
// Use: OR value with the file mode value to initialize the mode parameter
|
|
FA_NORMAL = _A_NORMAL shl 16;
|
|
FA_RDONLY = _A_RDONLY shl 16;
|
|
FA_HIDDEN = _A_HIDDEN shl 16;
|
|
FA_SYSTEM = _A_SYSTEM shl 16;
|
|
FA_EXECUTE = _A_EXECUTE shl 16;
|
|
FA_SUBDIR = _A_SUBDIR shl 16;
|
|
FA_ARCHIVE = _A_ARCH shl 16;
|
|
FA_SHARE = _A_SHARE shl 16;
|
|
{ Extended file attributes values }
|
|
FA_TRANSAC = _A_TRANS shl 12;
|
|
FA_READAUD = _A_READAUD shl 12;
|
|
FA_WRITEAUD= _A_WRITAUD shl 12;
|
|
FA_IMMPURG = _A_IMMPURG shl 12;
|
|
FA_NORENAM = _A_NORENAM shl 12;
|
|
FA_NODELET = _A_NODELET shl 12;
|
|
FA_NOCOPY = _A_NOCOPY shl 12;
|
|
{ Sharing values for sharable open functions }
|
|
{ compatibility mode }
|
|
SH_COMPAT = $00;
|
|
{ deny read/write mode }
|
|
SH_DENYRW = $10;
|
|
{ deny write mode }
|
|
SH_DENYWR = $20;
|
|
{ deny read mode }
|
|
SH_DENYRD = $30;
|
|
{ deny none mode }
|
|
SH_DENYNO = $40;
|
|
{ FEcreat/FEsopen flagBits parameter values used when creating a file }
|
|
DELETE_FILE_ON_CREATE_BIT = $0001;
|
|
NO_RIGHTS_CHECK_ON_CREATE_BIT = $0002;
|
|
{ FEsopen flagBits parameter values used when opening a file }
|
|
FILE_WRITE_THROUGH_BIT = $00000040;
|
|
ENABLE_IO_ON_COMPRESSED_DATA_BIT = $00000100;
|
|
LEAVE_FILE_COMPRESSED_DATA_BIT = $00000200;
|
|
DELETE_FILE_ON_CLOSE_BIT = $00000400;
|
|
NO_RIGHTS_CHECK_ON_OPEN_BIT = $00010000;
|
|
OK_TO_OPEN_DOS_FILE = $80000000;
|
|
{ Volume Flags used with NWGetVolumeFlags and NWSetVolumeFlags }
|
|
SUB_ALLOCATION_FLAG = $02; // if set sub allocation units valid on this volume
|
|
FILE_COMPRESSION_FLAG = $04; // if set file compression enabled on this volume
|
|
DATA_MIGRATION_FLAG = $08; // if set data migration is allowed on this volume
|
|
VOLUME_IMMEDIATE_PURGE_FLAG = $40; // if set volume is marked as immediate purge
|
|
{ Name space values }
|
|
DOSNameSpace = 0;
|
|
MACNameSpace = 1;
|
|
NFSNameSpace = 2;
|
|
FTAMNameSpace = 3;
|
|
OS2NameSpace = 4;
|
|
LONGNameSpace = 4;
|
|
NTNameSpace = 5;
|
|
MAX_NAMESPACES = 6;
|
|
NWDOS_NAME_SPACE = DOSNameSpace;
|
|
NWMAC_NAME_SPACE = MACNameSpace;
|
|
NWNFS_NAME_SPACE = NFSNameSpace;
|
|
NWFTAM_NAME_SPACE = FTAMNameSpace;
|
|
NWOS2_NAME_SPACE = OS2NameSpace;
|
|
NWLONG_NAME_SPACE = LONGNameSpace;
|
|
NWNT_NAME_SPACE = NTNameSpace;
|
|
{ Data stream values }
|
|
PrimaryDataStream = 0;
|
|
MACResourceForkDataStream = 1;
|
|
FTAMStructuringDataStream = 2;
|
|
{ File path length values }
|
|
_MAX_PATH = 255; // maximum length of full pathname
|
|
_MAX_SERVER = 48; // maximum length of server name
|
|
_MAX_VOLUME = 16; // maximum length of volume component
|
|
_MAX_DRIVE = 3; // maximum length of drive component
|
|
_MAX_DIR = 255; // maximum length of path component
|
|
_MAX_FNAME = 9; // maximum length of file name component
|
|
_MAX_EXT = 5; // maximum length of extension component
|
|
_MAX_NAME = 13; // maximum length of file name
|
|
NAME_MAX = 12; // maximum length of file name (alternate view)
|
|
|
|
{ Modify structure mask values }
|
|
MModifyNameBit = $0001;
|
|
MFileAttributesBit = $0002;
|
|
MCreateDateBit = $0004;
|
|
MCreateTimeBit = $0008;
|
|
MOwnerIDBit = $0010;
|
|
MLastArchivedDateBit = $0020;
|
|
MLastArchivedTimeBit = $0040;
|
|
MLastArchivedIDBit = $0080;
|
|
MLastUpdatedDateBit = $0100;
|
|
MLastUpdatedTimeBit = $0200;
|
|
MLastUpdatedIDBit = $0400;
|
|
MLastAccessedDateBit = $0800;
|
|
MInheritanceRestrictionMaskBit = $1000;
|
|
MMaximumSpaceBit = $2000;
|
|
MLastUpdatedInSecondsBit = $4000;
|
|
{$include npackon.inc}
|
|
type
|
|
PModifyStructure = ^TModifyStructure;
|
|
TModifyStructure = record
|
|
MModifyName : PBYTE;
|
|
MFileAttributes : longint;
|
|
MFileAttributesMask : longint;
|
|
MCreateDate : word;
|
|
MCreateTime : word;
|
|
MOwnerID : longint;
|
|
MLastArchivedDate : word;
|
|
MLastArchivedTime : word;
|
|
MLastArchivedID : longint;
|
|
MLastUpdatedDate : word;
|
|
MLastUpdatedTime : word;
|
|
MLastUpdatedID : longint;
|
|
MLastAccessedDate : word;
|
|
MInheritanceGrantMask : word;
|
|
MInheritanceRevokeMask : word;
|
|
MMaximumSpace : longint;
|
|
MLastUpdatedInSeconds : longint;
|
|
end;
|
|
|
|
{$include npackoff.inc}
|
|
|
|
{-nwadv.h----------------------------------------------------------------------}
|
|
{$include npackon.inc}
|
|
{ Resource tag signatures for AllocateResourceTag }
|
|
|
|
const
|
|
AllocSignature = $54524C41;
|
|
AESProcessSignature = $50534541;
|
|
CacheNonMovableMemorySignature = $544D4E43;
|
|
ConsoleCommandSignature = $4D4F4343;
|
|
HardwareInterruptSignature = $50544E49;
|
|
InterruptTimeCallBackSignature = $524D4954;
|
|
SemiPermMemorySignature = $454D5053;
|
|
DebuggerSignature = $47554244;
|
|
BreakpointSignature = $54504B42;
|
|
|
|
type
|
|
TCommandParserFunc = function (screenID : scr_t;
|
|
commandLine : PChar):longint;cdecl;
|
|
PcommandParserStructure = ^TcommandParserStructure;
|
|
TcommandParserStructure = record // Data structure for RegisterConsoleCommand
|
|
Link : PcommandParserStructure; // set by RegisterConsoleCommand
|
|
parseRoutine : TCommandParserFunc; // parsing routing (user defined)
|
|
RTag : longint; // set to resource tag
|
|
end;
|
|
|
|
{
|
|
Structures and constants for RegisterForEvent function. Unless otherwise
|
|
noted an event does NOT call a Warn routine.
|
|
}
|
|
|
|
const
|
|
EVENT_VOL_SYS_MOUNT = 0;
|
|
{ parameter is undefined. Report Routine will be called immediately
|
|
after vol SYS has been mounted.
|
|
}
|
|
EVENT_VOL_SYS_DISMOUNT = 1;
|
|
{ parameter is undefined. Warn Routine and Report Routine will be
|
|
called before vol SYS is dismounted.
|
|
}
|
|
EVENT_ANY_VOL_MOUNT = 2;
|
|
{ parameter is volume number. Report Routine will be called immediately
|
|
after any volume is mounted.
|
|
}
|
|
EVENT_ANY_VOL_DISMOUNT = 3;
|
|
{ parameter is volume number. Warn Routine and Report Routine will be
|
|
called before any volume is dismounted.
|
|
}
|
|
EVENT_DOWN_SERVER = 4;
|
|
{ parameter is undefined. Warn Routine and Report Routine will be
|
|
called before the server is shut down.
|
|
}
|
|
EVENT_EXIT_TO_DOS = 7;
|
|
{ parameter is undefined. The Report Routine will be called before the
|
|
server exits to DOS.
|
|
}
|
|
EVENT_MODULE_UNLOAD = 8;
|
|
{ parameter is module handle. Warn Routine and Report Routine will be
|
|
called when a module is unloaded from the console command line. Only
|
|
the Report Routine will be called when a module unloads itself.
|
|
}
|
|
EVENT_CLEAR_CONNECTION = 9;
|
|
{ parameter is connection number. Report Routine is called before the
|
|
connection is cleared.
|
|
}
|
|
EVENT_LOGIN_USER = 10;
|
|
{ parameter is connection number. Report Routine is called after the
|
|
connection has been allocated.
|
|
}
|
|
EVENT_CREATE_BINDERY_OBJ = 11;
|
|
{ parameter is object ID. Report Routine is called after the object is
|
|
created and entered in the bindery.
|
|
}
|
|
EVENT_DELETE_BINDERY_OBJ = 12;
|
|
{ parameter is object ID. Report Routine is called before the object is
|
|
removed from the bindery.
|
|
}
|
|
EVENT_CHANGE_SECURITY = 13;
|
|
{ parameter is a pointer a structure of type EventSecurityChangeStruct.
|
|
Report Routine is called after a security
|
|
equivalence change has occurred.
|
|
}
|
|
EVENT_ACTIVATE_SCREEN = 14;
|
|
{ Parameter is screen ID. Report routine is called after the
|
|
screen becomes the active screen.
|
|
}
|
|
EVENT_UPDATE_SCREEN = 15;
|
|
{ Parameter is screen ID. Report routine is called after a change is
|
|
made to the screen image.
|
|
}
|
|
EVENT_UPDATE_CURSOR = 16;
|
|
{ Parameter is screen ID. Report routine is called after a change to
|
|
the cursor position or state occurs.
|
|
}
|
|
EVENT_KEY_WAS_PRESSED = 17;
|
|
{ Parameter is undefined. Report routine is called whenever a
|
|
key on the keyboard is pressed (including shift/alt/control).
|
|
This routine is called at interrupt time.
|
|
}
|
|
EVENT_DEACTIVATE_SCREEN = 18;
|
|
{ Parameter is screen ID. Report routine is called when the
|
|
screen becomes inactive.
|
|
}
|
|
EVENT_TRUSTEE_CHANGE = 19;
|
|
{ Parameter is a pointer to type struct EventTrusteeChangeStruct. The
|
|
report routine is called everytime there is a change to a trustee in
|
|
the file system. Shouldn't sleep.
|
|
}
|
|
EVENT_OPEN_SCREEN = 20;
|
|
{ Parameter is the screen ID for the newly created screen. The report
|
|
routine will be called after the screen is created.
|
|
}
|
|
EVENT_CLOSE_SCREEN = 21;
|
|
{ Parameter is the screen ID for the screen that will be closed. The
|
|
report routine will be called before the screen is closed.
|
|
}
|
|
EVENT_MODIFY_DIR_ENTRY = 22;
|
|
{ Parameter is a pointer to a structure of type EventModifyDirEntryStruct
|
|
which contains the modify information. The report routine will be
|
|
called right after the entry is changed but before the directory
|
|
entry is unlocked. The report routine must not go to sleep.
|
|
}
|
|
EVENT_NO_RELINQUISH_CONTROL = 23;
|
|
{ Parameter is the running process. This will be called when the
|
|
timer detects that a process is hogging the processor. The report
|
|
routine must not sleep.
|
|
}
|
|
EVENT_THREAD_SWITCH = 25;
|
|
{ Parameter is the threadID of the thread that was executing when the
|
|
thread switch occurred. The report routine will be called when the
|
|
new thread begins executing. The report routine must not go to sleep.
|
|
}
|
|
EVENT_MODULE_LOAD = 27;
|
|
{ parameter is module handle. The report routine will be called
|
|
after a module has loaded.
|
|
}
|
|
EVENT_CREATE_PROCESS = 28;
|
|
{ parameter is the PID of the process being created. It is called
|
|
after the process is created. The report routine may not sleep.
|
|
}
|
|
EVENT_DESTROY_PROCESS = 29;
|
|
{ parameter is the PID of the process being destroyed. It is called
|
|
before the process is actually destroyed. The report routine may not
|
|
sleep.
|
|
}
|
|
EVENT_NEW_PUBLIC = 32;
|
|
{ Parameter is a pointer to a length preceded string which is the name
|
|
of the new public entry point. This event may not sleep.
|
|
}
|
|
EVENT_PROTOCOL_BIND = 33;
|
|
{ Parameter is a pointer to a structure of type EventProtocolBindStruct.
|
|
This event is generated every time a board is bound to a protocol.
|
|
This event may sleep.
|
|
}
|
|
EVENT_PROTOCOL_UNBIND = 34;
|
|
{ Parameter is a pointer to a structure of type EventProtocolBindStruct.
|
|
This event is generated every time a board is unbound from a protocol.
|
|
This event may sleep.
|
|
}
|
|
EVENT_ALLOCATE_CONNECTION = 37;
|
|
{ parameter is connection number. Report Routine is called after the
|
|
connection is allocated.
|
|
}
|
|
EVENT_LOGOUT_CONNECTION = 38;
|
|
{ parameter is connection number. Report Routine is called before the
|
|
connection is logged out. The event handler may sleep.
|
|
}
|
|
EVENT_MLID_REGISTER = 39;
|
|
{ parameter is board number. Report Routine is called after the MLID
|
|
is registered.
|
|
}
|
|
EVENT_MLID_DEREGISTER = 40;
|
|
{ parameter is board number. Report Routine is called before the MLID
|
|
is deregistered.
|
|
}
|
|
EVENT_DATA_MIGRATION = 41;
|
|
{ Parameter is a pointer to a structure of type EventDateMigrationInfo.
|
|
This event is generated when a file's data has been migrated.
|
|
}
|
|
EVENT_DATA_DEMIGRATION = 42;
|
|
{ Parameter is a pointer to a structure of type EventDateMigrationInfo.
|
|
This event is generated when a file's data has been de-migrated.
|
|
}
|
|
EVENT_QUEUE_ACTION = 43;
|
|
{ Parameter is a pointer to a structure of type EventQueueNote.
|
|
This event is generated when a queue is activated, deactivated,
|
|
created, or deleted.
|
|
}
|
|
EVENT_NETWARE_ALERT = 44;
|
|
{ Parameter is a pointer to a structure of type EventNetwareAlertStruct.
|
|
This event is generated anytime the following alert calls are
|
|
made:
|
|
NetWareAlert NW 4.X
|
|
|
|
The report routine may sleep.
|
|
}
|
|
EVENT_CREATE_OBJECT = 46;
|
|
{ Parameter is a pointer to a structure of type EventBinderyObject
|
|
or EventDSObject
|
|
}
|
|
EVENT_DELETE_OBJECT = 47;
|
|
{ Parameter is a pointer to a structure of type EventBinderyObject
|
|
or EventDSObject
|
|
}
|
|
EVENT_RENAME_OBJECT = 48;
|
|
{ Parameter is a pointer to a structure of type EventBinderyObject
|
|
or EventDSObject
|
|
}
|
|
EVENT_VALUE_CHANGE = 49;
|
|
{ Parameter is a pointer to a structure of type EventBinderyObject
|
|
or EventDSObject
|
|
}
|
|
EVENT_CLOSE_FILE = 50;
|
|
{ Parameter is a pointer to a structure of type EventCloseFileInfo. }
|
|
EVENT_CHANGE_TIME = 51;
|
|
{ This event is given when the time is changed or when Time
|
|
Synchronization schedules a nonuniform adjustment. The parameter is
|
|
the UTC time (in seconds) before the time change. The current time
|
|
is available from the OS. Since you have no way of knowing the
|
|
magnitudue of the time change, nor whether it has taken place or is
|
|
scheduled for the next clock interrupt, you must detect the time
|
|
change on your own. In general, if current time is less than old
|
|
time, or at least two seconds ahead of old time, then the time change
|
|
has been applied. You must wait for one of those conditions to be
|
|
sure that the time change has "settled down" before you can assume
|
|
that the event has "happened."
|
|
}
|
|
EVENT_MOVE_OBJECT = 52;
|
|
{ Parameter is a pointer to a structure of type EventBinderyObject
|
|
or EventDSObject
|
|
}
|
|
EVENT_VALUE_ADD = 53;
|
|
{ Parameter is a pointer to a structure of type EventBinderyObject
|
|
or EventDSObject
|
|
}
|
|
EVENT_VALUE_DEL = 54;
|
|
{ Parameter is a pointer to a structure of type EventBinderyObject
|
|
or EventDSObject
|
|
}
|
|
EVENT_DM_KEY_MODIFIED = 55;
|
|
{ Parameter is a pointer to a structure of type EventDMKeyModified
|
|
}
|
|
EVENT_MODULE_UNLOADED = 56;
|
|
{ Parameter is module handle. Report Routine will be called after the
|
|
NLM's exit routine has been called, after his resources have been
|
|
returned to the OS, and after he has been unlinked from the OS's lists.
|
|
The only thing left of this NLM is the memory for his load definition
|
|
structure, data image, and code image.
|
|
}
|
|
EVENT_REMOVE_PUBLIC = 57;
|
|
{ Parameter is the address of the public entry point. This only happens
|
|
on module unload.
|
|
}
|
|
EVENT_DS_EVENT = 58;
|
|
{ Parameter is the address of a DS defined event structure }
|
|
EVENT_UNICODE = 59;
|
|
{ Parameter is the address of a UNICODE defined event structure }
|
|
EVENT_SFT3_SERVER_STATE = 60;
|
|
{ Parameter is the ServerState Number
|
|
(Refer to messtype.h, server state codes)
|
|
IOEngineState 0
|
|
PrimaryNoSecondaryState 1
|
|
PrimarySyncingWithSecondaryState 2
|
|
PrimaryTransferingMemoryImageState 3
|
|
PrimaryWithSecondaryState 4
|
|
SecondaryTransferingMemoryImageState 5
|
|
SecondaryMirroredState 6
|
|
}
|
|
EVENT_SFT3_IMAGE_STATE = 61;
|
|
{ Parameter is memory mirror state }
|
|
{ 0 = Not mirrored }
|
|
{ 1 = Mirrored }
|
|
EVENT_SFT3_PRESYNC_STATE = 62;
|
|
{ called when the primary is about ready to synchronize }
|
|
{ with the secondary }
|
|
{ Parameter is unsed for now. }
|
|
{ This event report is allowed to sleep }
|
|
EVENT_ALTERNATE_MOUNT_VOLUME = 63;
|
|
{ called when NetWare is not aware of the volume name to be mounted, }
|
|
{ Parameter is used to pass a event structure EventAlternateMountVolume. }
|
|
{ This event report is allowed to sleep, also the return code is in the }
|
|
{ structre, after it has been processed. }
|
|
EVENT_CONSOLE_CONFIG_COMMAND = 64;
|
|
{ called when the console command CONFIG is typed on the server command }
|
|
{ line. The event report is allowed to sleep. The console screen handle }
|
|
{ pointer is passed as the only parameter }
|
|
EVENT_CONSOLE_VERSION_COMMAND = 65;
|
|
{ called when the console command VERSION is typed on the server command }
|
|
{ line. The event report is allowed to sleep. A pointer to the structure }
|
|
{ struct EventConfigVersionCmdInfo to help in the displaying to the screen }
|
|
EVENT_PRE_LOAD_NLM = 66;
|
|
{ called while an NLM is being loaded but before most of the work is
|
|
done. The data and code segments have not been allocated yet. The
|
|
event report is allowed to sleep. The parameter is a pointer to an
|
|
NLM Load File Header structure.
|
|
}
|
|
EVENT_LOW_MEMORY = 67;
|
|
{ called when the cache memory allocator tries to allocate a cache block
|
|
and fails; only one event per minute will be generated. It happens
|
|
in conjunction with the netware alert. The event report can block.
|
|
The parameter is a zero. This event is mainly for OS2 based NetWare
|
|
so it can try to borrow memory back from OS2.
|
|
}
|
|
{-----------------------------------------------------------
|
|
Flags for the trustee change event (EVENT_TRUSTEE_CHANGE)
|
|
----------------------------------------------------------- }
|
|
EVENT_NEW_TRUSTEE = 1;
|
|
EVENT_REMOVE_TRUSTEE = 2;
|
|
{-------------------------------------------------------------
|
|
Flags for the change security event (EVENT_CHANGE_SECURITY)
|
|
------------------------------------------------------------- }
|
|
EVENT_ADD_EQUIVALENCE = 1;
|
|
EVENT_REMOVE_EQUIVALENCE = 2;
|
|
{----------------------------------------------
|
|
Structure returned for EVENT_TRUSTEE_CHANGE
|
|
---------------------------------------------- }
|
|
{ flags are EVENT_NEW_TRUSTEE and EVENT_REMOVE_TRUSTEE }
|
|
type
|
|
PEventTrusteeChangeStruct = ^TEventTrusteeChangeStruct;
|
|
TEventTrusteeChangeStruct = record
|
|
objectID : longint;
|
|
entryID : longint;
|
|
volumeNumber : longint;
|
|
changeFlags : longint;
|
|
newRights : longint;
|
|
end;
|
|
|
|
{-----------------------------------------------
|
|
Structure returned for EVENT_CHANGE_SECURITY
|
|
----------------------------------------------- }
|
|
{ EVENT_ADD_EQUIVALENCE and EVENT_REMOVE_EQUIVALENCE }
|
|
PEventSecurityChangeStruct = ^TEventSecurityChangeStruct;
|
|
TEventSecurityChangeStruct = record
|
|
objectID : longint;
|
|
equivalentID : longint;
|
|
changeFlags : longint;
|
|
end;
|
|
|
|
{------------------------------------------------
|
|
Structure returned for EVENT_MODIFY_DIR_ENTRY
|
|
------------------------------------------------ }
|
|
PEventModifyDirEntryStruct = ^TEventModifyDirEntryStruct;
|
|
TEventModifyDirEntryStruct = record
|
|
primaryDirectoryEntry : longint;
|
|
nameSpace : longint;
|
|
modifyBits : longint;
|
|
modifyVector : PModifyStructure;
|
|
volumeNumber : longint;
|
|
directoryEntry : longint;
|
|
end;
|
|
|
|
{----------------------------------------------------
|
|
Structure returned for EVENT_PROTOCOL_BIND & UNBIND
|
|
---------------------------------------------------- }
|
|
PEventProtocolBindStruct = ^TEventProtocolBindStruct;
|
|
TEventProtocolBindStruct = record
|
|
boardNumber : longint;
|
|
protocolNumber : longint;
|
|
end;
|
|
|
|
{----------------------------------------------------------
|
|
Structure returned for EVENT_DATA_MIGRATION & DEMIGRATION
|
|
---------------------------------------------------------- }
|
|
{ 255 + 1 len byte }
|
|
PEventDateMigrationInfo = ^TEventDateMigrationInfo;
|
|
TEventDateMigrationInfo = record
|
|
FileSystemTypeID : longint;
|
|
Volume : longint;
|
|
DOSDirEntry : longint;
|
|
OwnerDirEntry : longint;
|
|
OwnerNameSpace : longint;
|
|
OwnerFileName : array[0..255] of byte;
|
|
end;
|
|
|
|
{------------------------------------------------
|
|
Structure returned for EVENT_QUEUE_ACTION
|
|
------------------------------------------------ }
|
|
{ 0=created, 1=deleted, 2 = activated, 3 = deactivated }
|
|
PEventQueueNote = ^TEventQueueNote;
|
|
TEventQueueNote = record
|
|
QAction : longint;
|
|
QID : longint;
|
|
QName : array[0..49] of byte;
|
|
end;
|
|
|
|
{------------------------------------------------
|
|
Structure returned for EVENT_NETWARE_ALERT
|
|
------------------------------------------------ }
|
|
PEventNetwareAlertStruct = ^TEventNetwareAlertStruct;
|
|
TEventNetwareAlertStruct = record
|
|
alertFlags : longint;
|
|
alertId : longint;
|
|
alertLocus : longint;
|
|
alertClass : longint;
|
|
alertSeverity : longint;
|
|
targetStationCount : longint;
|
|
targetStationList : array[0..31] of longint;
|
|
targetNotificationBits : longint;
|
|
alertParmCount : longint;
|
|
alertDataPtr : pointer;
|
|
NetWorkManagementAttributePointer : pointer;
|
|
alertUnused : array[0..1] of longint;
|
|
alertControlStringMessageNumber : longint;
|
|
alertControlString : array[0..255] of byte;
|
|
alertParameters : array[0..(256 + 256)-1] of byte;
|
|
alertModuleName : array[0..35] of byte;
|
|
alertModuleMajorVersion : longint;
|
|
alertModuleMinorVersion : longint;
|
|
alertModuleRevision : longint;
|
|
end;
|
|
|
|
{ set to 'BIND' for bindery }
|
|
PEventBinderyObject = ^TEventBinderyObject;
|
|
TEventBinderyObject = record
|
|
EventObjectType : longint;
|
|
ObjectID : longint;
|
|
ObjectType : longint;
|
|
end;
|
|
|
|
{ 'DNIB' }
|
|
|
|
const
|
|
EventBinderySignature = $444e4942;
|
|
{ 'CVSD' }
|
|
EventDSSignature = $43565344;
|
|
{ set to 'DSVC' for directory services }
|
|
{ add, delete, etc. }
|
|
{ DS defined entry structure }
|
|
type
|
|
PEventDSObject = ^TEventDSObject;
|
|
TEventDSObject = record
|
|
EventObjectType : longint;
|
|
EventType : longint;
|
|
entry : pointer;
|
|
end;
|
|
|
|
PEventCloseFileInfo = ^TEventCloseFileInfo;
|
|
TEventCloseFileInfo = record
|
|
fileHandle : longint;
|
|
station : longint;
|
|
task : longint;
|
|
fileHandleFlags : longint;
|
|
completionCode : longint;
|
|
end;
|
|
|
|
TreportProcedure = procedure (parameter:longint; userParameter:longint); cdecl;
|
|
TOutputRoutine = procedure (controlString:pointer; args:array of const); cdecl;
|
|
TWarnProcedure = function (OutputRoutine:TOutputRoutine; parameter,userParameter:longint):longint; cdecl;
|
|
|
|
{ struct EventCloseFileInfo's fileHandleFlags }
|
|
|
|
const
|
|
ECNotReadableBit = $00000001;
|
|
ECNotWriteableBit = $00000002;
|
|
ECWrittenBit = $00000004;
|
|
ECDetachedBit = $00000008;
|
|
ECDirectFileSystemBit = $00000020;
|
|
ECFileWriteThroughBit = $00000040;
|
|
HANDLEDCOMMAND = 0;
|
|
NOTMYCOMMAND = 1;
|
|
{$include npackoff.inc}
|
|
|
|
type
|
|
TRtag = longint;
|
|
PRtag = ^TRtag;
|
|
|
|
function AllocateResourceTag (NLMHandle:TNlmHandle;
|
|
descriptionString:PChar;
|
|
resourceType:longint):longint;cdecl;external 'clib' name 'AllocateResourceTag';
|
|
function DSAllocateEventTag (DSEventSignature:longint):pointer;cdecl;external 'clib' name 'DSAllocateEventTag';
|
|
function GetCurrentOSLanguageID:longint;cdecl;external 'clib' name 'GetCurrentOSLanguageID';
|
|
function GetFileHoleMap (handle:longint;
|
|
startingPosition:longint;
|
|
numberOfBlocks:longint;
|
|
replyBitMapP:PBYTE;
|
|
allocationUnitSizeP:Plongint):longint;cdecl;external 'clib' name 'GetFileHoleMap';
|
|
function GetFileHoleMap (handle:longint;
|
|
startingPosition:longint;
|
|
numberOfBlocks:longint;
|
|
var replyBitMapP;
|
|
var allocationUnitSizeP:longint):longint;cdecl;external 'clib' name 'GetFileHoleMap';
|
|
function GetSetableParameterValue (connectionNumber:longint;
|
|
setableParameterString:PChar;
|
|
returnValue:pointer):longint;cdecl;external 'clib' name 'GetSetableParameterValue';
|
|
function GetSettableParameterValue (connectionNumber:longint;
|
|
setableParameterString:PBYTE;
|
|
returnValue:pointer):longint;cdecl;external 'clib' name 'GetSetableParameterValue'; // use this define if the misspelling is too annoying
|
|
function GetThreadDataAreaPtr:pointer;cdecl;external 'clib' name 'GetThreadDataAreaPtr';
|
|
function ImportSymbol(NLMHandle:TNlmHandle; symbolName:Pchar):pointer;cdecl;external 'clib' name 'ImportSymbol';
|
|
function LoadLanguageMessageTable(messageTable:PPPchar; messageCount:Plongint; languageID:Plongint):longint;cdecl;external 'clib' name 'LoadLanguageMessageTable';
|
|
function LoadLanguageMessageTable(var messageTable; var messageCount:longint; languageID:Plongint):longint;cdecl;external 'clib' name 'LoadLanguageMessageTable';
|
|
function NWAddSearchPathAtEnd(searchPath:PChar; number:Plongint):longint;cdecl;external 'clib' name 'NWAddSearchPathAtEnd';
|
|
function NWAddSearchPathAtEnd(searchPath:PChar; var number:longint):longint;cdecl;external 'clib' name 'NWAddSearchPathAtEnd';
|
|
function NWDeleteSearchPath(searchPathNumber:longint):longint;cdecl;external 'clib' name 'NWDeleteSearchPath';
|
|
function NWGetSearchPathElement (searchPathNumber:longint;
|
|
isDOSSearchPath:Plongint;
|
|
searchPath:PChar):longint;cdecl;external 'clib' name 'NWGetSearchPathElement';
|
|
function NWGetSearchPathElement (searchPathNumber:longint;
|
|
var isDOSSearchPath:boolean;
|
|
searchPath:PChar):longint;cdecl;external 'clib' name 'NWGetSearchPathElement';
|
|
function NWInsertSearchPath(searchPathNumber:longint; path:PChar):longint;cdecl;external 'clib' name 'NWInsertSearchPath';
|
|
function RegisterConsoleCommand(newCommandParser:PcommandParserStructure):longint;cdecl;external 'clib' name 'RegisterConsoleCommand';
|
|
function RegisterConsoleCommand(var newCommandParser:TcommandParserStructure):longint;cdecl;external 'clib' name 'RegisterConsoleCommand';
|
|
function RegisterForEvent (eventType:longint;
|
|
reportProcedure:TreportProcedure;
|
|
warnProcedure:TwarnProcedure):longint;cdecl;external 'clib' name 'RegisterForEvent';
|
|
function RenameLanguage (languageID:longint;
|
|
newLanguageName:PChar;
|
|
showErrorsToConsole:longint):longint;cdecl;external 'clib' name 'RenameLanguage';
|
|
function ReturnLanguageName(languageID:longint; languageName:PChar):longint;cdecl;external 'clib' name 'ReturnLanguageName';
|
|
procedure SaveThreadDataAreaPtr(threadDataAreaPtr:pointer);cdecl;external 'clib' name 'SaveThreadDataAreaPtr';
|
|
{ -1 for all, COMMUNICATIONS, MEMORY, etc }
|
|
{ 0 for first time }
|
|
{ 0 = number, 1 = boolean, 2 = time ticks., etc }
|
|
{ STARTUP, HIDE, etc }
|
|
{ COMMUNICATIONS, MEMORY, etc }
|
|
{ description string }
|
|
function ScanSetableParameters (scanCategory:longint;
|
|
scanSequence:Plongint;
|
|
rParameterName:PBYTE;
|
|
rType:Plongint;
|
|
rFlags:Plongint;
|
|
rCategory:Plongint;
|
|
rParameterDescription:pointer;
|
|
rCurrentValue:pointer;
|
|
rLowerLimit:Plongint;
|
|
rUpperLimit:Plongint):longint;cdecl;external 'clib' name 'ScanSetableParameters';
|
|
function SetCurrentOSLanguageID(newLanguageID:longint):longint;cdecl;external 'clib' name 'SetCurrentOSLanguageID';
|
|
function SetSetableParameterValue (connectionNumber:longint;
|
|
setableParameterString:PBYTE;
|
|
newValue:pointer):longint;cdecl;external 'clib' name 'SetSetableParameterValue';
|
|
procedure SynchronizeStart;cdecl;external 'clib' name 'SynchronizeStart';
|
|
function UnimportSymbol (NLMHandle:TNlmHandle;
|
|
symbolName:Pchar):longint;cdecl;external 'clib' name 'UnimportSymbol';
|
|
function UnRegisterConsoleCommand (commandParserToDelete:PcommandParserStructure):longint;cdecl;external 'clib' name 'UnRegisterConsoleCommand';
|
|
function UnRegisterConsoleCommand (var commandParserToDelete:TcommandParserStructure):longint;cdecl;external 'clib' name 'UnRegisterConsoleCommand';
|
|
function UnregisterForEvent (eventHandle:longint):longint;cdecl;external 'clib' name 'UnregisterForEvent';
|
|
{-nwfileio.h-------------------------------------------------------------------}
|
|
type
|
|
PcacheBufferStructure = ^TcacheBufferStructure;
|
|
TcacheBufferStructure = record
|
|
cacheBufferPointer : Pchar;
|
|
cacheBufferLength : longint;
|
|
completionCode : longint;
|
|
end;
|
|
TT_cacheBufferStructure = TcacheBufferStructure;
|
|
PT_cacheBufferStructure = ^TT_cacheBufferStructure;
|
|
|
|
PmwriteBufferStructure = ^TmwriteBufferStructure;
|
|
TmwriteBufferStructure = record
|
|
mwriteBufferPointer : Pchar;
|
|
mwriteBufferLength : longint;
|
|
reserved : longint;
|
|
end;
|
|
TT_mwriteBufferStructure = TmwriteBufferStructure;
|
|
PT_mwriteBufferStructure = ^TT_mwriteBufferStructure;
|
|
|
|
{ NetWare additions to POSIX... }
|
|
|
|
function filelength(fildes:longint):longint;cdecl;external 'clib' name 'filelength';
|
|
function gwrite(fildes:longint; bufferP:PT_mwriteBufferStructure; numberBufs:longint; numberBufsWritten:plongint):longint;cdecl;external 'clib' name 'gwrite';
|
|
function gwrite(fildes:longint; var buffer:TT_mwriteBufferStructure; numberBufs:longint; var numberBufsWritten:longint):longint;cdecl;external 'clib' name 'gwrite';
|
|
function lock(fildes,offset,nbytes:longint):longint;cdecl;external 'clib' name 'lock';
|
|
function qread(fildes:longint; buffer:pointer; len,position:longint):longint;cdecl;external 'clib' name 'qread';
|
|
function qread(fildes:longint; var buffer; len,position:longint):longint;cdecl;external 'clib' name 'qread';
|
|
function qwrite(fildes:longint; buffer:pointer; len,position:longint):longint;cdecl;external 'clib' name 'qwrite';
|
|
function qwrite(fildes:longint; var buffer; len,position:longint):longint;cdecl;external 'clib' name 'qwrite';
|
|
function setmode(fildes,mode:longint):longint;cdecl;external 'clib' name 'setmode';
|
|
// sopen already in fcntl
|
|
//function sopen(path:Pchar; oflag,shflag:longint; args:array of const):longint;cdecl;external 'clib' name 'sopen';
|
|
//function sopen(path:Pchar; oflag,shflag:longint):longint;cdecl;external 'clib' name 'sopen';
|
|
function tell(fildes:longint):longint;cdecl;external 'clib' name 'tell';
|
|
function unlock(fildes,offset,nbytes:longint):longint;cdecl;external 'clib' name 'unlock';
|
|
{ other NetWare file I/O utilities... }
|
|
function AsyncRead(handle:longint;
|
|
startingOffset:longint;
|
|
numberBytesToRead:longint;
|
|
numberBytesRead:plongint;
|
|
localSemaHandle:longint;
|
|
cacheBufferInfo:PT_cacheBufferStructure;
|
|
numOfCacheBufs:plongint):longint;cdecl;external 'clib' name 'AsyncRead';
|
|
function AsyncRead(handle:longint;
|
|
startingOffset:longint;
|
|
numberBytesToRead:longint;
|
|
var numberBytesRead:longint;
|
|
localSemaHandle:longint;
|
|
var cacheBufferInfo:TT_cacheBufferStructure;
|
|
var numOfCacheBufs:longint):longint;cdecl;external 'clib' name 'AsyncRead';
|
|
|
|
procedure AsyncRelease(cacheBufferInfo:PT_cacheBufferStructure);cdecl;external 'clib' name 'AsyncRelease';
|
|
procedure AsyncRelease(var cacheBufferInfo:TT_cacheBufferStructure);cdecl;external 'clib' name 'AsyncRelease';
|
|
function CountComponents(pathString:PChar; len:longint):longint;cdecl;external 'clib' name 'CountComponents';
|
|
function GetExtendedFileAttributes(pathName:Pchar; extFileAttrs:PBYTE):longint;cdecl;external 'clib' name 'GetExtendedFileAttributes';
|
|
function GetExtendedFileAttributes(pathName:Pchar; var extFileAttrs):longint;cdecl;external 'clib' name 'GetExtendedFileAttributes';
|
|
procedure _makepath(path,drive,dir,fname,ext:Pchar);cdecl;external 'clib' name '_makepath';
|
|
function NWGetVolumeFlags(volume:longint; flags:plongint):longint;cdecl;external 'clib' name 'NWGetVolumeFlags';
|
|
function NWGetVolumeFlags(volume:longint; var flags:longint):longint;cdecl;external 'clib' name 'NWGetVolumeFlags';
|
|
function NWSetVolumeFlags(volume,flags:longint):longint;cdecl;external 'clib' name 'NWSetVolumeFlags';
|
|
function ParsePath(path,server,volume,directories:Pchar):longint;cdecl;external 'clib' name 'ParsePath';
|
|
// SetReaddirAttribute already defined in dirent
|
|
//function SetReaddirAttribute(dirP:PDIR; newAttribute:dword):longint;cdecl;external 'clib' name 'SetReaddirAttribute';
|
|
procedure _splitpath(path,drive,dir,fname,ext:Pchar);cdecl;external 'clib' name '_splitpath';
|
|
procedure UseAccurateCaseForPaths(yesno:longint);cdecl;external 'clib' name 'UseAccurateCaseForPaths';
|
|
procedure UnAugmentAsterisk(yesno:longint);cdecl;external 'clib' name 'UnAugmentAsterisk';
|
|
{-nwfileeng.h------------------------------------------------------------------}
|
|
{ values for flags parameter in FEGetOpenFileInfo()... }
|
|
const
|
|
_NotReadableBit = $00000001;
|
|
_NotWriteableBit = $00000002;
|
|
_WrittenBit = $00000004;
|
|
_DetachedBit = $00000008;
|
|
_SwitchingToDirectFileSystemModeBit = $00000010;
|
|
_DirectFileSystemModeBit = $00000020;
|
|
_FileWriteThroughBit = $00000040;
|
|
{ extra flags }
|
|
_DiskBlockReturnedBit = $00010000;
|
|
_IAmOnTheOpenFileListBit = $00020000;
|
|
_FileReadAuditBit = $00040000;
|
|
_FileWriteAuditBit = $00080000;
|
|
_FileCloseAuditBit = $00100000;
|
|
_DontFileWriteSystemAlertBit = $00200000;
|
|
_ReadAheadHintBit = $00400000;
|
|
_NotifyCompressionOnCloseBit = $00800000;
|
|
{ extra extra flags }
|
|
_IsWritingCompressedBit = $01000000;
|
|
_HasTimeDateBit = $02000000;
|
|
_DoingDeCompressionBit = $04000000;
|
|
_NoSubAllocBit = $08000000;
|
|
_IsATransactionFileBit = $10000000;
|
|
_HasFileWritePrivilegeBit = $20000000;
|
|
_TTSReadAuditBit = $40000000;
|
|
_TTSWriteAuditBit = $80000000;
|
|
|
|
type
|
|
TT_PathParseFunc = function (inputPath:Pchar;
|
|
var connectionIDp:word;
|
|
var volumeNumber:longint;
|
|
var directoryNumber:longint;
|
|
outPathStringP:PChar;
|
|
var outPathCount:longint):longint;cdecl;
|
|
TVolumeNameString = String [17];
|
|
|
|
function FEConvertDirectoryNumber(sourceNameSpace:longint;
|
|
volumeNumber:longint;
|
|
sourceDirectoryNumber:longint;
|
|
destinationNameSpace:longint;
|
|
destinationDirectoryNumberP:Plongint):longint;cdecl;external 'clib' name 'FEConvertDirectoryNumber';
|
|
function FEConvertDirectoryNumber(sourceNameSpace:longint;
|
|
volumeNumber:longint;
|
|
sourceDirectoryNumber:longint;
|
|
destinationNameSpace:longint;
|
|
var destinationDirectoryNumber:longint):longint;cdecl;external 'clib' name 'FEConvertDirectoryNumber';
|
|
function FEcreat(name:Pchar; permission,flagBits:longint):longint;cdecl;external 'clib' name 'FEcreat';
|
|
function FEFlushWrite(handle:longint):longint;cdecl;external 'clib' name 'FEFlushWrite';
|
|
function FEGetCWDnum:longint;cdecl;external 'clib' name 'FEGetCWDnum';
|
|
function FEGetCWVnum:longint;cdecl;external 'clib' name 'FEGetCWVnum';
|
|
function FEGetDirectoryEntry(volumeNumber,directoryNumber:longint; pathString:PChar;
|
|
pathCount,desiredNameSpace:longint;
|
|
namespaceDirectoryStructPp:Ppointer;
|
|
DOSdirectoryStructPp:Ppointer):longint;cdecl;external 'clib' name 'FEGetDirectoryEntry';
|
|
function FEGetDirectoryEntry(volumeNumber,directoryNumber:longint; pathString:PChar;
|
|
pathCount,desiredNameSpace:longint;
|
|
var namespaceDirectoryStructP:Pointer;
|
|
var DOSdirectoryStructP:Pointer):longint;cdecl;external 'clib' name 'FEGetDirectoryEntry';
|
|
function FEGetEntryVersion(volumeNumber,directoryNumber:longint; pathString:PChar; pathCount:longint; version:PWORD):longint;cdecl;external 'clib' name 'FEGetEntryVersion';
|
|
function FEGetEntryVersion(volumeNumber,directoryNumber:longint; pathString:PChar; pathCount:longint; var version:word):longint;cdecl;external 'clib' name 'FEGetEntryVersion';
|
|
function FEGetOpenFileInfo (connection:longint;
|
|
handle:longint;
|
|
volume:Plongint;
|
|
directoryNumber:Plongint;
|
|
dataStream:Plongint;
|
|
flags:Plongint):longint;cdecl;external 'clib' name 'FEGetOpenFileInfo';
|
|
function FEGetOpenFileInfo (connection:longint;
|
|
handle:longint;
|
|
var volume,directoryNumber,dataStream,flags:longint):longint;cdecl;external 'clib' name 'FEGetOpenFileInfo';
|
|
function FEGetOpenFileInfoForNS (connection, handle:longint;
|
|
volume,DOSdirectoryNumber,directoryNumber:Plongint;
|
|
nameSpace,dataStream,flags:Plongint):longint;cdecl;external 'clib' name 'FEGetOpenFileInfoForNS';
|
|
function FEGetOpenFileInfoForNS (connection, handle:longint;
|
|
var volume,DOSdirectoryNumber,directoryNumber:longint;
|
|
var nameSpace,dataStream,flags:longint):longint;cdecl;external 'clib' name 'FEGetOpenFileInfoForNS';
|
|
function FEGetOriginatingNameSpace(volumeNumber,directoryNumber:longint):longint;cdecl;external 'clib' name 'FEGetOriginatingNameSpace';
|
|
function FEMapConnsHandleToVolAndDir(connection,handle:longint; volumeNumberP,directoryNumberP:Plongint):longint;cdecl;external 'clib' name 'FEMapConnsHandleToVolAndDir';
|
|
function FEMapConnsHandleToVolAndDir(connection,handle:longint; var volumeNumber,directoryNumber:longint):longint;cdecl;external 'clib' name 'FEMapConnsHandleToVolAndDir';
|
|
function FEMapHandleToVolumeAndDirectory(handle:longint; volumeNumberP,directoryNumberP:PLongint):longint;cdecl;external 'clib' name 'FEMapHandleToVolumeAndDirectory';
|
|
function FEMapHandleToVolumeAndDirectory(handle:longint; var volumeNumberP,directoryNumberP:Longint):longint;cdecl;external 'clib' name 'FEMapHandleToVolumeAndDirectory';
|
|
function FEMapPathVolumeDirToVolumeDir(pathName:Pchar; volumeNumber,directoryNumber:longint; newVolumeNumberP,newDirectoryNumberP:Plongint):longint;cdecl;external 'clib' name 'FEMapPathVolumeDirToVolumeDir';
|
|
function FEMapPathVolumeDirToVolumeDir(pathName:Pchar; volumeNumber,directoryNumber:longint; var newVolumeNumberP,newDirectoryNumberP:longint):longint;cdecl;external 'clib' name 'FEMapPathVolumeDirToVolumeDir';
|
|
|
|
function FEMapVolumeAndDirectoryToPath(volumeNumber,directoryNumber:longint; pathString:PChar; pathCount:Plongint):longint;cdecl;external 'clib' name 'FEMapVolumeAndDirectoryToPath';
|
|
function FEMapVolumeAndDirectoryToPath(volumeNumber,directoryNumber:longint; pathString:PChar; var pathCount:longint):longint;cdecl;external 'clib' name 'FEMapVolumeAndDirectoryToPath';
|
|
|
|
function FEMapVolumeAndDirectoryToPathForNS(volumeNumber,directoryNumber:longint; nameSpace:longint; pathString:PBYTE; pathCount:Plongint):longint;cdecl;external 'clib' name 'FEMapVolumeAndDirectoryToPathForNS';
|
|
function FEMapVolumeNumberToName(volumeNumber:longint; volumeName:PChar):longint;cdecl;external 'clib' name 'FEMapVolumeNumberToName';
|
|
function FEMapVolumeNumberToName(volumeNumber:longint; var volumeName:TVolumeNameString):longint;cdecl;external 'clib' name 'FEMapVolumeNumberToName';
|
|
function FEQuickClose(connection,task,fileHandle:longint):longint;cdecl;external 'clib' name 'FEQuickClose';
|
|
function FEQuickFileLength(connection,handle:longint; fileSize:Plongint):longint;cdecl;external 'clib' name 'FEQuickFileLength';
|
|
function FEQuickFileLength(connection,handle:longint; var fileSize:longint):longint;cdecl;external 'clib' name 'FEQuickFileLength';
|
|
function FEQuickOpen (connection,task,volumeNumber,directoryNumber:longint;
|
|
pathString:PChar;
|
|
pathCount,nameSpace,attributeMatchBits,requestedAccessRights,dataStreamNumber:longint;
|
|
fileHandle:Plongint):longint;cdecl;external 'clib' name 'FEQuickOpen';
|
|
function FEQuickOpen (connection,task,volumeNumber,directoryNumber:longint;
|
|
pathString:PChar;
|
|
pathCount,nameSpace,attributeMatchBits,requestedAccessRights,dataStreamNumber:longint;
|
|
var fileHandle:longint):longint;cdecl;external 'clib' name 'FEQuickOpen';
|
|
|
|
function FEQuickRead (connection,handle,postition,bytesToRead:longint;
|
|
bytesRead:Plongint;
|
|
buffer:pointer):longint;cdecl;external 'clib' name 'FEQuickRead';
|
|
function FEQuickRead (connection,handle,postition,bytesToRead:longint;
|
|
var bytesRead:longint;
|
|
var buffer):longint;cdecl;external 'clib' name 'FEQuickRead';
|
|
|
|
function FEQuickWrite(connection,handle,position,bytesToWrite:longint; buffer:pointer):longint;cdecl;external 'clib' name 'FEQuickWrite';
|
|
function FEQuickWrite(connection,handle,position,bytesToWrite:longint; var buffer):longint;cdecl;external 'clib' name 'FEQuickWrite';
|
|
|
|
function FERegisterNSPathParser(normalFunc:TT_PathParseFunc):longint;cdecl;external 'clib' name 'FERegisterNSPathParser';
|
|
function FESetCWDnum(CWDnum:longint):longint;cdecl;external 'clib' name 'FESetCWDnum';
|
|
function FESetCWVandCWDnums(CWVnum:longint; CWDnum:longint):longint;cdecl;external 'clib' name 'FESetCWVandCWDnums';
|
|
function FESetCWVnum(CWVnum:longint):longint;cdecl;external 'clib' name 'FESetCWVnum';
|
|
function FESetOriginatingNameSpace(volumeNumber,directoryNumber,currentNameSpace,newNameSpace:longint):longint;cdecl;external 'clib' name 'FESetOriginatingNameSpace';
|
|
function FEsopen(name:Pchar; access,share,permission,flagBits:longint;
|
|
dataStream:byte):longint;cdecl;external 'clib' name 'FEsopen';
|
|
function NWGetDirBaseFromPath(path:Pchar; nameSpace:byte; volNum,NSDirBase,DOSDirBase:Plongint):longint;cdecl;external 'clib' name 'NWGetDirBaseFromPath';
|
|
function NWGetDirBaseFromPath(path:Pchar; nameSpace:byte; var volNum,NSDirBase,DOSDirBase:longint):longint;cdecl;external 'clib' name 'NWGetDirBaseFromPath';
|
|
{-nwfinfo.h--------------------------------------------------------------------}
|
|
function FileServerFileCopy (sourceFileHandle,destinationFileHandle:longint;
|
|
sourceFileOffset,destinationFileOffset,numberOfBytesToCopy:longint;
|
|
numberOfBytesCopied:Plongint):longint;cdecl;external 'clib' name 'FileServerFileCopy';
|
|
function FileServerFileCopy (sourceFileHandle,destinationFileHandle:longint;
|
|
sourceFileOffset,destinationFileOffset,numberOfBytesToCopy:longint;
|
|
var numberOfBytesCopied:longint):longint;cdecl;external 'clib' name 'FileServerFileCopy';
|
|
|
|
function NWGetCompressedFileLengths (handle:longint;
|
|
uncompressedLength,
|
|
compressedLength:Plongint):longint;cdecl;external 'clib' name 'NWGetCompressedFileLengths';
|
|
function NWGetCompressedFileLengths (handle:longint;
|
|
var uncompressedLength,
|
|
compressedLength:longint):longint;cdecl;external 'clib' name 'NWGetCompressedFileLengths';
|
|
|
|
function NWGetDiskIOsPending:longint;cdecl;external 'clib' name 'NWGetDiskIOsPending';
|
|
function NWSetCompressedFileLengths (handle,
|
|
uncompressedLength,
|
|
compressedLengt:longint):longint;cdecl;external 'clib' name 'NWSetCompressedFileLengths';
|
|
|
|
function PurgeErasedFile(pathName:Pchar; sequenceNumber:longint):longint;cdecl;external 'clib' name 'PurgeErasedFile';
|
|
function SalvageErasedFile(pathName:Pchar; sequenceNumber:longint; newFileName:Pchar):longint;cdecl;external 'clib' name 'SalvageErasedFile';
|
|
|
|
function ScanErasedFiles_411 (path : PChar;
|
|
nextEntryNumber: Plongint;
|
|
deletedFileInfo: PDIR):longint; cdecl;external 'clib' name 'ScanErasedFiles_411';
|
|
function ScanErasedFiles_411 (path : PChar;
|
|
var nextEntryNumber: longint;
|
|
var deletedFileInfo: TDIR):longint; cdecl;external 'clib' name 'ScanErasedFiles_411';
|
|
|
|
function SetExtendedFileAttributes(pathName:Pchar; extendedFileAttributes:byte):longint;cdecl;external 'clib' name 'SetExtendedFileAttributes';
|
|
function SetFileInfo(pathName:Pchar; searchAttributes:byte; fileAttributes:longint; creationDate:Pchar; lastAccessDate:Pchar;
|
|
lastUpdateDateAndTime:Pchar; lastArchiveDateAndTime:Pchar; fileOwnerID:longint):longint;cdecl;external 'clib' name 'SetFileInfo';
|
|
{-nwfshook.h-------------------------------------------------------------------}
|
|
{ ------------ File System Monitor Hook Call Back Numbers ------------
|
|
The defined constants below that have _GEN_ in the name represent call back
|
|
numbers that will hook Generic versions of the respective OS routines.
|
|
Namely, routines that support Name Spaces other than DOS.
|
|
--------------------------------------------------------------------- }
|
|
|
|
const
|
|
FSHOOK_PRE_ERASEFILE = 0;
|
|
FSHOOK_PRE_OPENFILE = 1;
|
|
FSHOOK_PRE_CREATEFILE = 2;
|
|
FSHOOK_PRE_CREATE_OPENFILE = 3;
|
|
FSHOOK_PRE_RENAME_OR_MOVE = 4;
|
|
FSHOOK_PRE_CLOSEFILE = 5;
|
|
FSHOOK_PRE_CREATEDIR = 6;
|
|
FSHOOK_PRE_DELETEDIR = 7;
|
|
FSHOOK_PRE_MODIFY_DIRENTRY = 8;
|
|
FSHOOK_PRE_SALVAGE_DELETED = 9;
|
|
FSHOOK_PRE_PURGE_DELETED = 10;
|
|
FSHOOK_PRE_RENAME_NS_ENTRY = 11;
|
|
FSHOOK_PRE_GEN_SALVAGE_DELETED = 12;
|
|
FSHOOK_PRE_GEN_PURGE_DELETED = 13;
|
|
FSHOOK_PRE_GEN_OPEN_CREATE = 14;
|
|
FSHOOK_PRE_GEN_RENAME = 15;
|
|
FSHOOK_PRE_GEN_ERASEFILE = 16;
|
|
FSHOOK_PRE_GEN_MODIFY_DOS_INFO = 17;
|
|
FSHOOK_PRE_GEN_MODIFY_NS_INFO = 18;
|
|
FSHOOK_POST_ERASEFILE = $80000000;
|
|
FSHOOK_POST_OPENFILE = $80000001;
|
|
FSHOOK_POST_CREATEFILE = $80000002;
|
|
FSHOOK_POST_CREATE_OPENFILE = $80000003;
|
|
FSHOOK_POST_RENAME_OR_MOVE = $80000004;
|
|
FSHOOK_POST_CLOSEFILE = $80000005;
|
|
FSHOOK_POST_CREATEDIR = $80000006;
|
|
FSHOOK_POST_DELETEDIR = $80000007;
|
|
FSHOOK_POST_MODIFY_DIRENTRY = $80000008;
|
|
FSHOOK_POST_SALVAGE_DELETED = $80000009;
|
|
FSHOOK_POST_PURGE_DELETED = $8000000A;
|
|
FSHOOK_POST_RENAME_NS_ENTRY = $8000000B;
|
|
FSHOOK_POST_GEN_SALVAGE_DELETED = $8000000C;
|
|
FSHOOK_POST_GEN_PURGE_DELETED = $8000000D;
|
|
FSHOOK_POST_GEN_OPEN_CREATE = $8000000E;
|
|
FSHOOK_POST_GEN_RENAME = $8000000F;
|
|
FSHOOK_POST_GEN_ERASEFILE = $80000010;
|
|
FSHOOK_POST_GEN_MODIFY_DOS_INFO = $80000011;
|
|
FSHOOK_POST_GEN_MODIFY_NS_INFO = $80000012;
|
|
|
|
{--------------------------------------------------------------------
|
|
Structure returned for
|
|
FSHOOK_PRE_ERASEFILE and FSHOOK_POST_ERASEFILE
|
|
-------------------------------------------------------------------- }
|
|
type
|
|
|
|
PEraseFileCallBackStruct = ^TEraseFileCallBackStruct;
|
|
TEraseFileCallBackStruct = record
|
|
connection,
|
|
task,
|
|
volume,
|
|
dirBase : Longint;
|
|
pathString : Pchar;
|
|
pathComponentCount,
|
|
nameSpace,
|
|
attributeMatchBits : Longint;
|
|
end;
|
|
{--------------------------------------------------------------------
|
|
Structure returned for
|
|
FSHOOK_PRE_OPENFILE and FSHOOK_POST_OPENFILE
|
|
-------------------------------------------------------------------- }
|
|
|
|
POpenFileCallBackStruct = ^TOpenFileCallBackStruct;
|
|
TOpenFileCallBackStruct = record
|
|
connection,
|
|
task,
|
|
volume,
|
|
dirBase : Longint;
|
|
pathString : Pchar;
|
|
pathComponentCount,
|
|
nameSpace,
|
|
attributeMatchBits,
|
|
requestedAccessRights,
|
|
dataStreamNumber : Longint;
|
|
fileHandle : PLongint;
|
|
end;
|
|
{--------------------------------------------------------------------
|
|
Structure returned for
|
|
FSHOOK_PRE_CREATEFILE and FSHOOK_POST_CREATEFILE
|
|
-------------------------------------------------------------------- }
|
|
|
|
PCreateFileCallBackStruct = ^TCreateFileCallBackStruct;
|
|
TCreateFileCallBackStruct = record
|
|
connection,
|
|
task,
|
|
volume,
|
|
dirBase : Longint;
|
|
pathString : Pchar;
|
|
pathComponentCount,
|
|
nameSpace,
|
|
createAttributeBits,
|
|
createFlagBits,
|
|
dataStreamNumber : Longint;
|
|
fileHandle : PLongint;
|
|
end;
|
|
{--------------------------------------------------------------------
|
|
Structure returned for
|
|
FSHOOK_PRE_CREATE_OPENFILE and FSHOOK_POST_CREATE_OPENFILE
|
|
-------------------------------------------------------------------- }
|
|
|
|
PCreateAndOpenCallBackStruct = ^TCreateAndOpenCallBackStruct;
|
|
TCreateAndOpenCallBackStruct = record
|
|
connection,
|
|
task,
|
|
volume,
|
|
dirBase : Longint;
|
|
pathString : Pchar;
|
|
pathComponentCount,
|
|
nameSpace,
|
|
createAttributeBits,
|
|
requestedAccessRights,
|
|
createFlagBits,
|
|
dataStreamNumber : Longint;
|
|
fileHandle : PLongint;
|
|
end;
|
|
{--------------------------------------------------------------------
|
|
Structure returned for
|
|
FSHOOK_PRE_RENAME_OR_MOVE and FSHOOK_POST_RENAME_OR_MOVE
|
|
-------------------------------------------------------------------- }
|
|
|
|
PRenameMoveEntryCallBackStruct = ^TRenameMoveEntryCallBackStruct;
|
|
TRenameMoveEntryCallBackStruct = record
|
|
connection,
|
|
task,
|
|
volume,
|
|
dirBase : Longint;
|
|
pathString : Pchar;
|
|
pathComponentCount,
|
|
nameSpace,
|
|
attributeMatchBits,
|
|
subDirsOnlyFlag,
|
|
newDirBase : Longint;
|
|
newPathString : Pchar;
|
|
originalNewCount,
|
|
compatibilityFlag,
|
|
allowRenamesToMyselfFlag: Longint;
|
|
end;
|
|
{--------------------------------------------------------------------
|
|
Structure returned for
|
|
FSHOOK_PRE_CLOSEFILE and FSHOOK_POST_CLOSEFILE
|
|
-------------------------------------------------------------------- }
|
|
|
|
PCloseFileCallBackStruct = ^TCloseFileCallBackStruct;
|
|
TCloseFileCallBackStruct = record
|
|
connection,
|
|
task,
|
|
fileHandle : Longint;
|
|
end;
|
|
{--------------------------------------------------------------------
|
|
Structure returned for
|
|
FSHOOK_PRE_CREATEDIR and FSHOOK_POST_CREATEDIR
|
|
-------------------------------------------------------------------- }
|
|
|
|
PCreateDirCallBackStruct = ^TCreateDirCallBackStruct;
|
|
TCreateDirCallBackStruct = record
|
|
connection,
|
|
volume,
|
|
dirBase : Longint;
|
|
pathString : Pchar;
|
|
pathComponentCount,
|
|
nameSpace,
|
|
directoryAccessMask : Longint;
|
|
end;
|
|
{--------------------------------------------------------------------
|
|
Structure returned for
|
|
FSHOOK_PRE_DELETEDIR and FSHOOK_POST_DELETEDIR
|
|
-------------------------------------------------------------------- }
|
|
|
|
PDeleteDirCallBackStruct = ^TDeleteDirCallBackStruct;
|
|
TDeleteDirCallBackStruct = record
|
|
connection,
|
|
volume,
|
|
dirBase : Longint;
|
|
pathString : PChar;
|
|
pathComponentCount,
|
|
nameSpace : Longint;
|
|
end;
|
|
{--------------------------------------------------------------------
|
|
Structure returned for
|
|
FSHOOK_PRE_MODIFYDIRENTRY and FSHOOK_POST_MODIFYDIRENTRY
|
|
-------------------------------------------------------------------- }
|
|
|
|
PModifyDirEntryCallBackStruct = ^TModifyDirEntryCallBackStruct;
|
|
TModifyDirEntryCallBackStruct = record
|
|
connection,
|
|
task,
|
|
volume,
|
|
dirBase : Longint;
|
|
pathString : PChar;
|
|
pathComponentCount,
|
|
nameSpace,
|
|
attributeMatchBits,
|
|
targetNameSpace : Longint;
|
|
modifyVector : PModifyStructure;
|
|
modifyBits,
|
|
allowWildCardsFlag : Longint;
|
|
end;
|
|
{--------------------------------------------------------------------
|
|
Structure returned for
|
|
FSHOOK_PRE_SALVAGE_DELETED and FSHOOK_POST_SALVAGE_DELETED
|
|
-------------------------------------------------------------------- }
|
|
|
|
PSalvageDeletedCallBackStruct = ^TSalvageDeletedCallBackStruct;
|
|
TSalvageDeletedCallBackStruct = record
|
|
connection,
|
|
volume,
|
|
dirBase,
|
|
toBeSalvagedDirBase,
|
|
nameSpace : Longint;
|
|
newName : PChar;
|
|
end;
|
|
{--------------------------------------------------------------------
|
|
Structure returned for
|
|
FSHOOK_PRE_PURGE_DELETED and FSHOOK_POST_PURGE_DELETED
|
|
-------------------------------------------------------------------- }
|
|
|
|
PPurgeDeletedCallBackStruct = ^TPurgeDeletedCallBackStruct;
|
|
TPurgeDeletedCallBackStruct = record
|
|
connection,
|
|
volume,
|
|
dirBase,
|
|
toBePurgedDirBase,
|
|
nameSpace : Longint;
|
|
end;
|
|
{--------------------------------------------------------------------
|
|
Structure returned for
|
|
FSHOOK_PRE_RENAME_NS_ENTRY and FSHOOK_POST_RENAME_NS_ENTRY
|
|
-------------------------------------------------------------------- }
|
|
|
|
PRenameNSEntryCallBackStruct = ^TRenameNSEntryCallBackStruct;
|
|
TRenameNSEntryCallBackStruct = record
|
|
connection,
|
|
task,
|
|
volume,
|
|
dirBase : Longint;
|
|
pathString : PChar;
|
|
pathComponentCount,
|
|
nameSpace,
|
|
matchBits : Longint;
|
|
newName : PChar;
|
|
end;
|
|
{--------------------------------------------------------------------
|
|
Structure returned for
|
|
FSHOOK_PRE_GEN_SALVAGE_DELETED and FSHOOK_POST_GEN_SALVAGE_DELETED
|
|
-------------------------------------------------------------------- }
|
|
|
|
PGenericSalvageDeletedCBStruct = ^TGenericSalvageDeletedCBStruct;
|
|
TGenericSalvageDeletedCBStruct = record
|
|
connection,
|
|
nameSpace,
|
|
sequence,
|
|
volume,
|
|
dirBase : Longint;
|
|
newName : PChar;
|
|
end;
|
|
{--------------------------------------------------------------------
|
|
Structure returned for
|
|
FSHOOK_PRE_GEN_PURGE_DELETED and FSHOOK_POST_GEN_PURGE_DELETED
|
|
-------------------------------------------------------------------- }
|
|
|
|
PGenericPurgeDeletedCBStruct = ^TGenericPurgeDeletedCBStruct;
|
|
TGenericPurgeDeletedCBStruct = record
|
|
connection,
|
|
nameSpace,
|
|
sequence,
|
|
volume,
|
|
dirBase : Longint;
|
|
end;
|
|
{--------------------------------------------------------------------
|
|
Structure returned for
|
|
FSHOOK_PRE_GEN_OPEN_CREATE and FSHOOK_POST_GEN_OPEN_CREATE
|
|
-------------------------------------------------------------------- }
|
|
|
|
PGenericOpenCreateCBStruct = ^TGenericOpenCreateCBStruct;
|
|
TGenericOpenCreateCBStruct = record
|
|
connection,
|
|
task,
|
|
volume,
|
|
pathComponentCount,
|
|
dirBase : Longint;
|
|
pathString : Pchar;
|
|
nameSpace,
|
|
dataStreamNumber,
|
|
openCreateFlags,
|
|
searchAttributes,
|
|
createAttributes,
|
|
requestedAccessRights,
|
|
returnInfoMask : Longint;
|
|
fileHandle : PLongint;
|
|
openCreateAction : Pointer;
|
|
end;
|
|
{--------------------------------------------------------------------
|
|
Structure returned for
|
|
FSHOOK_PRE_GEN_RENAME and FSHOOK_POST_GEN_RENAME
|
|
-------------------------------------------------------------------- }
|
|
|
|
PGenericRenameCBStruct = ^TGenericRenameCBStruct;
|
|
TGenericRenameCBStruct = record
|
|
connection,
|
|
task,
|
|
nameSpace,
|
|
renameFlag,
|
|
searchAttributes,
|
|
srcVolume,
|
|
srcPathComponentCount,
|
|
srcDirBase : Longint;
|
|
srcPathString : Pchar;
|
|
dstVolume,
|
|
dstPathComponentCount,
|
|
dstDirBase : Longint;
|
|
dstPathString : Pchar;
|
|
end;
|
|
{--------------------------------------------------------------------
|
|
Structure returned for
|
|
FSHOOK_PRE_GEN_ERASEFILE and FSHOOK_POST_GEN_ERASEFILE
|
|
-------------------------------------------------------------------- }
|
|
|
|
PGenericEraseFileCBStruct = ^TGenericEraseFileCBStruct;
|
|
TGenericEraseFileCBStruct = record
|
|
connection,
|
|
task,
|
|
volume,
|
|
pathComponentCount,
|
|
dirBase : Longint;
|
|
pathString : Pchar;
|
|
nameSpace,
|
|
searchAttributes : Longint;
|
|
end;
|
|
{--------------------------------------------------------------------
|
|
Structure returned for
|
|
FSHOOK_PRE_GEN_MODIFY_DOS_INFO and FSHOOK_POST_GEN_MODIFY_DOS_INFO
|
|
-------------------------------------------------------------------- }
|
|
|
|
PGenericModifyDOSInfoCBStruct = ^TGenericModifyDOSInfoCBStruct;
|
|
TGenericModifyDOSInfoCBStruct = record
|
|
connection,
|
|
task,
|
|
volume,
|
|
pathComponentCount,
|
|
dirBase : Longint;
|
|
pathString : Pchar;
|
|
nameSpace : Longint;
|
|
searchAttributes : Longint;
|
|
modifyMask : Longint;
|
|
modifyInfo : pointer;
|
|
end;
|
|
{--------------------------------------------------------------------
|
|
Structure returned for
|
|
FSHOOK_PRE_GEN_MODIFY_NS_INFO and FSHOOK_POST_GEN_MODIFY_NS_INFO
|
|
-------------------------------------------------------------------- }
|
|
|
|
PGenericModifyNSInfoCBStruct = ^TGenericModifyNSInfoCBStruct;
|
|
TGenericModifyNSInfoCBStruct = record
|
|
connection,
|
|
task,
|
|
dataLength,
|
|
srcNameSpace,
|
|
dstNameSpace,
|
|
volume,
|
|
dirBase,
|
|
modifyMask : Longint;
|
|
modifyInfo : pointer;
|
|
end;
|
|
|
|
function NWAddFSMonitorHook (callBackNumber:Longint;
|
|
callBackFunc:pointer;
|
|
callBackHandle:PLongint):Longint;cdecl;external 'clib' name 'NWAddFSMonitorHook';
|
|
function NWAddFSMonitorHook (callBackNumber:Longint;
|
|
callBackFunc:pointer;
|
|
var callBackHandle:Longint):Longint;cdecl;external 'clib' name 'NWAddFSMonitorHook';
|
|
function NWRemoveFSMonitorHook (callBackNumber,callBackHandle:Longint):Longint;cdecl;external 'clib' name 'NWRemoveFSMonitorHook';
|
|
{-nwipx.h----------------------------------------------------------------------}
|
|
{$include npackon.inc}
|
|
{ ECB status field completion codes }
|
|
|
|
const
|
|
STS_SPX_CONNECTION_TERMINATED = $FFEC;
|
|
STS_SPX_TERMINATED_POORLY = $FFED;
|
|
STS_SPX_INVALID_CONNECTION = $FFEE;
|
|
STS_SPX_CONNECTION_TABLE_FULL = $FFEF;
|
|
STS_SPX_SOCKET_NOT_OPEN = $FFF0;
|
|
STS_SPX_SOCKET_ALREADY_OPEN = $FFF1;
|
|
STS_SPX_ECB_CANNOT_BE_CANCELLED = $FFF9;
|
|
STS_SPX_NO_KNOWN_ROUTE_TO_DESTINATION = $FFFA;
|
|
STS_SPX_EVENT_CANCELLED = $FFFC;
|
|
STS_SPX_PACKET_OVERFLOW = $FFFD;
|
|
STS_SPX_MALFORMED_PACKET = $FFFE;
|
|
STS_SPX_TRANSMIT_FAILURE = $FFFF;
|
|
|
|
SPX_SSTATUS_ABORTED = $00;
|
|
SPX_SSTATUS_WAITING = $01;
|
|
SPX_SSTATUS_STARTING = $02;
|
|
SPX_SSTATUS_ESTABLISHED = $03;
|
|
SPX_SSTATUS_TERMINATING = $04;
|
|
|
|
|
|
{
|
|
This define is for the Queued IPX/SPX Calls. The return code passed in will
|
|
be set to this value until the packet is actually sent to IPX/SPX.
|
|
}
|
|
PACKET_IN_QUEUE = $0001;
|
|
{---------------------------------------------------------------------------
|
|
|
|
IPX_ECB status field busy (in-process) codes:
|
|
|
|
0x11 - AES (asynchronous event service) waiting
|
|
0x12 - Holding
|
|
0x13 - Session listen
|
|
0x14 - Processing
|
|
0x15 - Receiving
|
|
0x16 - Sending
|
|
0x17 - Waiting
|
|
|
|
-------------------------------------------------------------------------- }
|
|
{---------------------------------------------------------------------------
|
|
The comment characters in the IPX_ECB structure have the
|
|
following meanings
|
|
s - this field must be filled in prior to a send
|
|
r - this field must be filled in prior to a receive
|
|
R - this field is reserved
|
|
A - this field may be used when the ECB is not in use by IPX/SPX
|
|
q - the application may read this field
|
|
-------------------------------------------------------------------------- }
|
|
{ Packet type codes }
|
|
UNKNOWN_PACKET_TYPE = 0;
|
|
ROUTING_INFORMATION_PACKET = 1;
|
|
ECHO_PACKET = 2;
|
|
ERROR_PACKET = 3;
|
|
PACKET_EXCHANGE_PACKET = 4;
|
|
SEQUENCED_PACKET_PROTOCOL_PACKET = 5;
|
|
|
|
SPX_END_OF_MESSAGE = $10;
|
|
ENABLE_WATCHDOG = $ff;
|
|
|
|
{ various SAP definitions }
|
|
|
|
SAP_SOCKET = $0452;
|
|
GENERAL_SERVICE_QUERY = 1;
|
|
GENERAL_SERVICE_RESPONSE = 2;
|
|
NEAREST_SERVICE_QUERY = 3;
|
|
NEAREST_SERVICE_RESPONSE = 4;
|
|
PERIODIC_ID_PACKET = 2;
|
|
NOT_SUPPORTED = 1;
|
|
INVALID_QUERY_TYPE = 2;
|
|
SAP_RESPONSES_PER_PACKET = 8;
|
|
{ 'ELRS' }
|
|
QUERY_LIST_SIGNATURE = $454C5253;
|
|
{ type definitions }
|
|
type
|
|
TMisalignedLONG = longint;
|
|
TMisalignedWORD = word;
|
|
|
|
PtagECBFrag = ^TtagECBFrag;
|
|
TtagECBFrag = record
|
|
fragAddress : pointer;
|
|
fragSize : longint;
|
|
end;
|
|
TECBFrag = TtagECBFrag;
|
|
PECBFrag = ^TECBFrag;
|
|
|
|
PIPX_ECBStruct = ^TIPX_ECBStruct;
|
|
TIPX_ECBStruct = record
|
|
semHandleSave : longint;
|
|
queueHead : ^PIPX_ECBStruct;
|
|
next : PIPX_ECBStruct;
|
|
prev : PIPX_ECBStruct;
|
|
status : word;
|
|
semHandle : longint;
|
|
lProtID : word;
|
|
protID : array[0..5] of byte;
|
|
boardNumber : longint;
|
|
immediateAddress : array[0..5] of byte;
|
|
driverWS : array[0..3] of byte;
|
|
ESREBXValue : longint;
|
|
socket : word;
|
|
protocolWorkspace : word;
|
|
dataLen : longint;
|
|
fragCount : longint;
|
|
fragList : array[0..1] of TECBFrag;
|
|
end;
|
|
TIPX_ECB = TIPX_ECBStruct;
|
|
PIPX_ECB = ^TIPX_ECB;
|
|
PPIPX_ECB = ^PIPX_ECB;
|
|
|
|
TSPX_ECB = TIPX_ECBStruct;
|
|
PSPX_ECB = PIPX_ECBStruct;
|
|
|
|
|
|
PtagInternetAddress = ^TtagInternetAddress;
|
|
TtagInternetAddress = record
|
|
network : TMisalignedLONG;
|
|
node : array[0..5] of byte;
|
|
socket : TMisalignedWORD;
|
|
end;
|
|
TInternetAddress = TtagInternetAddress;
|
|
PInternetAddress = ^TInternetAddress;
|
|
|
|
PtagIPX_HEADER = ^TtagIPX_HEADER;
|
|
TtagIPX_HEADER = record
|
|
checksum : word;
|
|
packetLen : word;
|
|
transportCtl: byte;
|
|
packetType : byte;
|
|
destNet : TMisalignedLONG;
|
|
destNode : array[0..5] of byte;
|
|
destSocket : word;
|
|
sourceNet : TMisalignedLONG;
|
|
sourceNode : array[0..5] of byte;
|
|
sourceSocket: word;
|
|
end;
|
|
TIPX_HEADER = TtagIPX_HEADER;
|
|
PIPX_HEADER = ^TIPX_HEADER;
|
|
{ included only for compatibility }
|
|
|
|
PtagIPX_STATS = ^TtagIPX_STATS;
|
|
TtagIPX_STATS = record
|
|
dummy : char;
|
|
end;
|
|
TIPX_STATS = TtagIPX_STATS;
|
|
PIPX_STATS = ^TIPX_STATS;
|
|
|
|
PtagSPX_HEADER = ^TtagSPX_HEADER;
|
|
TtagSPX_HEADER = record
|
|
checksum : word;
|
|
packetLen : word;
|
|
transportCtl : byte;
|
|
packetType : byte;
|
|
destNet : TMisalignedLONG;
|
|
destNode : array[0..5] of byte;
|
|
destSocket : word;
|
|
sourceNet : TMisalignedLONG;
|
|
sourceNode : array[0..5] of byte;
|
|
sourceSocket : word;
|
|
connectionCtl : byte;
|
|
dataStreamType : byte;
|
|
sourceConnectID : word;
|
|
destConnectID : word;
|
|
sequenceNumber : word;
|
|
ackNumber : word;
|
|
allocNumber : word;
|
|
end;
|
|
TSPX_HEADER = TtagSPX_HEADER;
|
|
PSPX_HEADER = ^TSPX_HEADER;
|
|
|
|
PSPX_ConnStruct = ^TSPX_ConnStruct;
|
|
TSPX_ConnStruct = record
|
|
sStatus : byte;
|
|
sFlags : byte;
|
|
sSourceConnectID : word;
|
|
sDestConnectID : word;
|
|
sSequenceNumber : word;
|
|
sAckNumber : word;
|
|
sAllocNumber : word;
|
|
sRemoteAckNumber : word;
|
|
sRemoteAllocNumber : word;
|
|
sLocalSocket : word;
|
|
sImmediateAddress : array[0..5] of byte;
|
|
sRemoteNet : longint;
|
|
sRemoteNode : array[0..5] of byte;
|
|
sRemoteSocket : word;
|
|
sRetransmitCount : byte;
|
|
sRetransmitMax : byte;
|
|
sRoundTripTimer : word;
|
|
sRetransmittedPackets : word;
|
|
sSuppressedPackets : word;
|
|
sLastReceiveTime : word;
|
|
sLastSendTime : word;
|
|
sRoundTripMax : word;
|
|
sWatchdogTimeout : word;
|
|
sSessionXmitQHead : array[0..3] of byte;
|
|
sSessionXmitECBp : array[0..3] of byte;
|
|
end;
|
|
TSPX_SESSION = TSPX_ConnStruct;
|
|
PSPX_SESSION = ^TSPX_SESSION;
|
|
|
|
|
|
type
|
|
|
|
PT_SAP_ID_PACKET = ^TT_SAP_ID_PACKET;
|
|
TT_SAP_ID_PACKET = record
|
|
SAPPacketType : word; // 2 or 4
|
|
serverType : word; // assigned by novell
|
|
serverName : array[0..47] of byte; // Service name
|
|
serverAddress : TInternetAddress;
|
|
interveningNetworks : word; // # of networks packets must pass
|
|
end;
|
|
|
|
PSERVICE_QUERY_PACKET = ^TSERVICE_QUERY_PACKET;
|
|
TSERVICE_QUERY_PACKET = record
|
|
queryType, // 1 or 3
|
|
serverType : word; // assigned by novell
|
|
end;
|
|
|
|
PSAPResponse = ^TSAPResponse;
|
|
TSAPResponse = record
|
|
SAPPacketType : word; // 2 or 4
|
|
responses : array[0..(SAP_RESPONSES_PER_PACKET)-1] of record
|
|
serverType : word;
|
|
serverName : array[0..47] of byte;
|
|
serverAddress : TInternetAddress;
|
|
interveningNetworks : word;
|
|
end;
|
|
next : PSAPResponse;
|
|
signature : longint;
|
|
count : longint;
|
|
end;
|
|
TSAP_RESPONSE_LIST_ENTRY = TSAPResponse;
|
|
PSAP_RESPONSE_LIST_ENTRY = ^TSAP_RESPONSE_LIST_ENTRY;
|
|
{$include npackoff.inc}
|
|
|
|
|
|
{ IPX function prototypes... }
|
|
|
|
function IpxCheckSocket(socket:word):longint;cdecl;external 'clib' name 'IpxCheckSocket';
|
|
function IpxCancelEvent(ECBp:PIPX_ECB):longint;cdecl;external 'clib' name 'IpxCancelEvent';
|
|
function IpxCloseSocket(socket:word):longint;cdecl;external 'clib' name 'IpxCloseSocket';
|
|
function IpxConnect(ECBp:PIPX_ECB):longint;cdecl;external 'clib' name 'IpxConnect';
|
|
function IpxDisconnect(ECBp:PIPX_ECB):longint;cdecl;external 'clib' name 'IpxDisconnect';
|
|
function IpxGetAndClearQ(replyQptr:PPIPX_ECB):PIPX_ECB;cdecl;external 'clib' name 'IpxGetAndClearQ';
|
|
function IpxGetInternetworkAddress(address:PBYTE):longint;cdecl;external 'clib' name 'IpxGetInternetworkAddress';
|
|
function IpxGetLocalTarget(address:PBYTE; ECBp:PIPX_ECB; timeToNet:Plongint):longint;cdecl;external 'clib' name 'IpxGetLocalTarget';
|
|
function IpxGetStatistics(ipxStats:PIPX_STATS):longint;cdecl;external 'clib' name 'IpxGetStatistics';
|
|
function IpxGetVersion(majorVersion:PBYTE; minorVersion:PBYTE; revision:PWORD):longint;cdecl;external 'clib' name 'IpxGetVersion';
|
|
function IpxGetVersion(var majorVersion,minorVersion:byte; var revision:word):longint;cdecl;external 'clib' name 'IpxGetVersion';
|
|
function IpxOpenSocket(socketP:PWORD):longint;cdecl;external 'clib' name 'IpxOpenSocket';
|
|
function IpxOpenSocket(var socket:word):longint;cdecl;external 'clib' name 'IpxOpenSocket';
|
|
function IpxQueuedSend(socket:word; ECBp:PIPX_ECB; rcode:Plongint):longint;cdecl;external 'clib' name 'IpxQueuedSend';
|
|
function IpxQueuedSend(socket:word; ECBp:PIPX_ECB; var rcode:longint):longint;cdecl;external 'clib' name 'IpxQueuedSend';
|
|
function IpxQueuedReceive(socket:word; ECBp:PIPX_ECB; rcode:Plongint):longint;cdecl;external 'clib' name 'IpxQueuedReceive';
|
|
function IpxQueuedReceive(socket:word; ECBp:PIPX_ECB; var rcode:longint):longint;cdecl;external 'clib' name 'IpxQueuedReceive';
|
|
function IpxReceive(socket:word; ECBp:PIPX_ECB):longint;cdecl;external 'clib' name 'IpxReceive';
|
|
function IpxResetStatistics:longint;cdecl;external 'clib' name 'IpxResetStatistics';
|
|
function IpxSend(socket:word; ECBp:PIPX_ECB):longint;cdecl;external 'clib' name 'IpxSend';
|
|
{ SPX function prototypes... }
|
|
function SpxAbortConnection(connection:word):longint;cdecl;external 'clib' name 'SpxAbortConnection';
|
|
function SpxCancelEvent(ecb:PSPX_ECB):longint;cdecl;external 'clib' name 'SpxCancelEvent';
|
|
function SpxCheckSocket(socket:word):longint;cdecl;external 'clib' name 'SpxCheckSocket';
|
|
function SpxCloseSocket(socket:word):longint;cdecl;external 'clib' name 'SpxCloseSocket';
|
|
function SpxEstablishConnection(socket:word; ecb:PSPX_ECB; retryCount:byte; watchDogFlag:byte; connection:PWORD):longint;cdecl;external 'clib' name 'SpxEstablishConnection';
|
|
function SpxEstablishConnection(socket:word; ecb:PSPX_ECB; retryCount:byte; watchDogFlag:byte; var connection:word):longint;cdecl;external 'clib' name 'SpxEstablishConnection';
|
|
function SpxGetConfiguration(maxConn,availConn:Plongint):longint;cdecl;external 'clib' name 'SpxGetConfiguration';
|
|
function SpxGetConfiguration(var maxConn,availConn:longint):longint;cdecl;external 'clib' name 'SpxGetConfiguration';
|
|
function SpxGetConnectionStatus(connection:word; buffer:PSPX_SESSION):longint;cdecl;external 'clib' name 'SpxGetConnectionStatus';
|
|
{ (56 bytes) }
|
|
function SpxGetTime(marker:Plongint):longint;cdecl;external 'clib' name 'SpxGetTime';
|
|
function SpxGetTime(var marker:longint):longint;cdecl;external 'clib' name 'SpxGetTime';
|
|
function SpxGetVersion(major,minor:PBYTE; revision:PWORD; revDate:Plongint):longint;cdecl;external 'clib' name 'SpxGetVersion';
|
|
function SpxGetVersion(var major,minor:byte; var revision:word; var revDate:longint):longint;cdecl;external 'clib' name 'SpxGetVersion';
|
|
function SpxListenForConnection(socket:word; ecb:PSPX_ECB; retryCount:byte; watchDogFlag:byte; connection:PWORD):longint;cdecl;external 'clib' name 'SpxListenForConnection';
|
|
function SpxListenForConnection(socket:word; ecb:PSPX_ECB; retryCount:byte; watchDogFlag:byte; var connection:word):longint;cdecl;external 'clib' name 'SpxListenForConnection';
|
|
function SpxListenForConnectedPacket(socket:word; ecb:PSPX_ECB; connection:word):longint;cdecl;external 'clib' name 'SpxListenForConnectedPacket';
|
|
function SpxListenForSequencedPacket(socket:word; ecb:PSPX_ECB):longint;cdecl;external 'clib' name 'SpxListenForSequencedPacket';
|
|
function SpxOpenSocket(socket:PWORD):longint;cdecl;external 'clib' name 'SpxOpenSocket';
|
|
function SpxOpenSocket(var socket:word):longint;cdecl;external 'clib' name 'SpxOpenSocket';
|
|
function SpxQueuedListenForSequencedPacket(socket:word; ecb:PSPX_ECB; rcode:Plongint):longint;cdecl;external 'clib' name 'SpxQueuedListenForSequencedPacket';
|
|
function SpxQueuedListenForSequencedPacket(socket:word; ecb:PSPX_ECB; var rcode:longint):longint;cdecl;external 'clib' name 'SpxQueuedListenForSequencedPacket';
|
|
function SpxQueuedSendSequencedPacket(connection:word; ecb:PSPX_ECB; rcode:Plongint):longint;cdecl;external 'clib' name 'SpxQueuedSendSequencedPacket';
|
|
function SpxQueuedSendSequencedPacket(connection:word; ecb:PSPX_ECB; var rcode:longint):longint;cdecl;external 'clib' name 'SpxQueuedSendSequencedPacket';
|
|
function SpxSendSequencedPacket(connection:word; ecb:PSPX_ECB):longint;cdecl;external 'clib' name 'SpxSendSequencedPacket';
|
|
function SpxTerminateConnection(connection:word; ecb:PSPX_ECB):longint;cdecl;external 'clib' name 'SpxTerminateConnection';
|
|
{ SAP function prototypes... }
|
|
function AdvertiseService(serviceType:word; serviceName:Pchar; serviceSocket:word):longint;cdecl;external 'clib' name 'AdvertiseService';
|
|
function FreeQueryServicesList(listP:PSAP_RESPONSE_LIST_ENTRY):longint;cdecl;external 'clib' name 'FreeQueryServicesList';
|
|
function QueryServices(queryType,serviceType:word):PSAP_RESPONSE_LIST_ENTRY;cdecl;external 'clib' name 'QueryServices';
|
|
function ShutdownAdvertising(advertisingHandle:longint):longint;cdecl;external 'clib' name 'ShutdownAdvertising';
|
|
{-nwlib.h----------------------------------------------------------------------}
|
|
type
|
|
TLibraryCleanupFunc = function (dataAreaPtr:pointer):longint; cdecl;
|
|
|
|
function __get_thread_data_area_ptr:Plongint;cdecl;external 'clib' name '__get_thread_data_area_ptr';
|
|
function GetDataAreaPtr(libraryHandle:longint):pointer;cdecl;external 'clib' name 'GetDataAreaPtr';
|
|
function DeregisterLibrary(libraryHandle:longint):longint;cdecl;external 'clib' name 'DeregisterLibrary';
|
|
function RegisterLibrary(cleanupFunc:TLibraryCleanupFunc):longint;cdecl;external 'clib' name 'RegisterLibrary';
|
|
function SaveDataAreaPtr(libraryHandle:longint; dataAreaPtr:pointer):longint;cdecl;external 'clib' name 'SaveDataAreaPtr';
|
|
// function Thread_Data_Area : pointer; Thread_Data_Area (*__get_thread_data_area_ptr())
|
|
{-nwmalloc.h-------------------------------------------------------------------}
|
|
procedure NWGarbageCollect (NLMHandle:TNlmHandle); cdecl; external 'clib' name 'NWGarbageCollect';
|
|
function NWGetAllocPageOverhead (pageCount:longint):longint;cdecl; external 'clib' name 'NWGetAllocPageOverhead';
|
|
function NWGetAvailableMemory : longint; cdecl; external 'clib' name 'NWGetAvailableMemory';
|
|
function NWGetPageSize : longint; cdecl; external 'clib' name 'NWGetPageSize';
|
|
function NWMemorySizeAddressable (addr:pointer; size:longint):longint;cdecl; external 'clib' name 'NWMemorySizeAddressable';
|
|
function alloca (size:longint):pointer; cdecl; external 'clib' name 'alloca';
|
|
function _msize (buffer:pointer):longint; cdecl; external 'clib' name '_msize';
|
|
function __qcalloc (num,siz:longint):pointer; cdecl; external 'clib' name '__qcalloc';
|
|
function __qmalloc (siz:longint):pointer; cdecl; external 'clib' name '__qmalloc';
|
|
function __qrealloc (old:pointer; siz:longint):pointer;cdecl; external 'clib' name '__qrealloc';
|
|
function stackavail:longint; cdecl; external 'clib' name 'stackavail';
|
|
|
|
function calloc (num,siz:longint):pointer; cdecl; external 'clib' name 'calloc';
|
|
procedure free (p:pointer); cdecl; external 'clib' name 'free';
|
|
function malloc (siz:longint):pointer; cdecl; external 'clib' name 'malloc';
|
|
function realloc (oldMemP:pointer;
|
|
newsize:longint):pointer; cdecl; external 'clib' name 'realloc';
|
|
{-nwncpx.h---------------------------------------------------------------------}
|
|
const
|
|
MAX_NCP_EXTENSION_NAME_BYTES = 33;
|
|
BEGIN_SCAN_NCP_EXTENSIONS = $FFFFFFFF;
|
|
REPLY_BUFFER_IS_FRAGGED = $FFFFFFFF;
|
|
CONNECTION_BEING_RESTARTED = $01101001;
|
|
CONNECTION_BEING_KILLED = $02202002;
|
|
CONNECTION_BEING_LOGGED_OUT = $03303003;
|
|
CONNECTION_BEING_FREED = $04404004;
|
|
type
|
|
PNCPExtensionClient = ^TNCPExtensionClient;
|
|
TNCPExtensionClient = record
|
|
connection : longint;
|
|
task : longint;
|
|
end;
|
|
|
|
PFragElement = ^TFragElement;
|
|
TFragElement = record
|
|
ptr : pointer;
|
|
size : longint;
|
|
end;
|
|
|
|
PNCPExtensionMessageFrag = ^TNCPExtensionMessageFrag;
|
|
TNCPExtensionMessageFrag = record
|
|
totalMessageSize : longint;
|
|
fragCount : longint;
|
|
fragList : array[0..3] of TFragElement;
|
|
end;
|
|
|
|
TNCPExtensionHandlerFunc =
|
|
function (NCPExtensionClient:PNCPExtensionClient;
|
|
requestData:pointer;
|
|
requestDataLen:longint;
|
|
replyData:pointer;
|
|
replyDataLen:Plongint):byte; cdecl;
|
|
TConnectionEventHandlerProc =
|
|
procedure (connection:longint; eventType:longint); cdecl;
|
|
|
|
TReplyBufferManagerProc =
|
|
procedure (NCPExtensionClient:PNCPExtensionClient; replyBuffer:pointer); cdecl;
|
|
|
|
function NWDeRegisterNCPExtension(queryData:pointer):longint;cdecl;external name 'NWDeRegisterNCPExtension';
|
|
function NWGetNCPExtensionInfo(NCPExtensionName:Pchar; NCPExtensionID:Plongint; majorVersion:PBYTE; minorVersion:PBYTE; revision:PBYTE;
|
|
queryData:pointer):longint;cdecl;external name 'NWGetNCPExtensionInfo';
|
|
function NWGetNCPExtensionInfoByID(NCPExtensionID:longint; NCPExtensionName:Pchar; majorVersion:PBYTE; minorVersion:PBYTE; revision:PBYTE;
|
|
queryData:pointer):longint;cdecl;external name 'NWGetNCPExtensionInfoByID';
|
|
function NWRegisterNCPExtension(NCPExtensionName:Pchar;
|
|
NCPExtensionHandler:TNCPExtensionHandlerFunc;
|
|
ConnectionEventHandler:TConnectionEventHandlerProc;
|
|
ReplyBufferManager:TReplyBufferManagerProc;
|
|
majorVersion,minorVersion,revision:byte;
|
|
queryData:Ppointer):longint;cdecl;external name 'NWRegisterNCPExtension';
|
|
|
|
function NWRegisterNCPExtensionByID(NCPExtensionID:longint;
|
|
NCPExtensionName:Pchar;
|
|
NCPExtensionHandler:TNCPExtensionHandlerFunc;
|
|
ConnectionEventHandler:TConnectionEventHandlerProc;
|
|
ReplyBufferManager:TReplyBufferManagerProc;
|
|
majorVersion,minorVersion,revision:byte; queryData:Ppointer):longint;cdecl;external name 'NWRegisterNCPExtensionByID';
|
|
|
|
function NWScanNCPExtensions(NCPExtensionID:Plongint; NCPExtensionName:Pchar; majorVersion:PBYTE; minorVersion:PBYTE; revision:PBYTE;
|
|
queryData:pointer):longint;cdecl;external name 'NWScanNCPExtensions';
|
|
function NWSendNCPExtensionFraggedRequest(NCPExtensionID:longint; requestFrag:PNCPExtensionMessageFrag; replyFrag:PNCPExtensionMessageFrag):longint;cdecl;external name 'NWSendNCPExtensionFraggedRequest';
|
|
function NWSendNCPExtensionRequest(NCPExtensionID:longint; requestData:pointer; requestDataLen:longint; replyData:pointer; replyDataLen:Plongint):longint;cdecl;external name 'NWSendNCPExtensionRequest';
|
|
{-nwnspace.h-------------------------------------------------------------------}
|
|
{$include npackon.inc}
|
|
type
|
|
|
|
PNWNSINFO = ^TNWNSINFO;
|
|
TNWNSINFO = record
|
|
nsInfoBitMask,
|
|
fixedBitMask,
|
|
reservedBitMask,
|
|
extendedBitMask : longint;
|
|
fixedBitsDefined,
|
|
reservedBitsDefined,
|
|
extendedBitsDefined : word;
|
|
fieldsLenTable : array[0..31] of longint;
|
|
hugeStateInfo : array[0..15] of byte;
|
|
hugeDataLength : longint;
|
|
end;
|
|
TNW_NS_INFO = TNWNSINFO;
|
|
PNW_NS_INFO = ^TNW_NS_INFO;
|
|
|
|
{$include npackoff.inc}
|
|
|
|
function GetDataStreamName(volume:longint; dataStream:byte; name:Pchar; numberOfDataStreams:Plongint):longint;cdecl;external 'clib' name 'GetDataStreamName';
|
|
function GetDataStreamName(volume:longint; dataStream:byte; name:Pchar; var numberOfDataStreams:longint):longint;cdecl;external 'clib' name 'GetDataStreamName';
|
|
function GetNameSpaceName(volume:longint; nameSpace:longint; name:Pchar; numberOfNameSpaces:Plongint):longint;cdecl;external 'clib' name 'GetNameSpaceName';
|
|
function GetNameSpaceName(volume:longint; nameSpace:longint; name:Pchar; var numberOfNameSpaces:longint):longint;cdecl;external 'clib' name 'GetNameSpaceName';
|
|
function NWGetHugeNSInfo(volNum,nameSpace:byte; dirBase,hugeInfoMask:longint;
|
|
hugeStateInfo:PBYTE;
|
|
hugeData:PBYTE;
|
|
hugeDataLen:PLongint;
|
|
nextHugeStateInfo:PBYTE):longint;cdecl;external 'clib' name 'NWGetHugeNSInfo';
|
|
function NWGetHugeNSInfo(volNum,nameSpace:byte; dirBase,hugeInfoMask:longint;
|
|
var hugeStateInfo;
|
|
var hugeData;
|
|
var hugeDataLen:longint;
|
|
var nextHugeStateInfo):longint;cdecl;external 'clib' name 'NWGetHugeNSInfo';
|
|
function NWGetNameSpaceEntryName(path:PBYTE; nameSpace:longint; maxNameBufferLength:longint; nameSpaceEntryName:PChar):longint;cdecl;external 'clib' name 'NWGetNameSpaceEntryName';
|
|
function NWGetNameSpaceEntryName(var path:byte; nameSpace:longint; maxNameBufferLength:longint; nameSpaceEntryName:PChar):longint;cdecl;external 'clib' name 'NWGetNameSpaceEntryName';
|
|
function NWGetNSInfo(volNum:byte; srcNameSpace:byte; dstNameSpace:byte; dirBase:longint; nsInfoMask:longint;
|
|
nsSpecificInfo:PBYTE):longint;cdecl;external 'clib' name 'NWGetNSInfo';
|
|
function NWGetNSLoadedList(volNum:byte; loadListSize:word; NSLoadedList:PBYTE; returnListSize:PWORD):longint;cdecl;external 'clib' name 'NWGetNSLoadedList';
|
|
function NWQueryNSInfoFormat(nameSpace,volNum:byte; nsInfo:PNW_NS_INFO):longint;cdecl;external 'clib' name 'NWQueryNSInfoFormat';
|
|
function NWQueryNSInfoFormat(nameSpace,volNum:byte; var nsInfo:TNW_NS_INFO):longint;cdecl;external 'clib' name 'NWQueryNSInfoFormat';
|
|
function NWSetHugeNSInfo(volNum,nameSpace:byte; dirBase:longint;
|
|
hugeInfoMask:longint; hugeStateInfo:PBYTE;
|
|
hugeDataLen:longint;
|
|
hugeData:PBYTE;
|
|
nextHugeStateInfo:PBYTE;
|
|
hugeDataUsed:PLongint):longint;cdecl;external 'clib' name 'NWSetHugeNSInfo';
|
|
function NWSetHugeNSInfo(volNum,nameSpace:byte; dirBase:longint;
|
|
hugeInfoMask:longint; var hugeStateInfo;
|
|
hugeDataLen:longint;
|
|
var hugeData;
|
|
var nextHugeStateInfo;
|
|
var hugeDataUsed:longint):longint;cdecl;external 'clib' name 'NWSetHugeNSInfo';
|
|
|
|
function NWSetNameSpaceEntryName(path:PChar; nameSpace:longint; nameSpaceEntryName:PChar):longint;cdecl;external 'clib' name 'NWSetNameSpaceEntryName';
|
|
function NWSetNSInfo(volNum,srcNameSpace,dstNameSpace:byte; dirBase:longint;
|
|
nsInfoMask:longint;
|
|
nsSpecificInfoLen:longint;
|
|
nsSpecificInfo:Pointer):longint;cdecl;external 'clib' name 'NWSetNSInfo';
|
|
function NWSetNSInfo(volNum,srcNameSpace,dstNameSpace:byte; dirBase:longint;
|
|
nsInfoMask:longint;
|
|
nsSpecificInfoLen:longint;
|
|
var nsSpecificInfo):longint;cdecl;external 'clib' name 'NWSetNSInfo';
|
|
function SetCurrentNameSpace(newNameSpace:byte):byte;cdecl;external 'clib' name 'SetCurrentNameSpace';
|
|
function SetTargetNameSpace(newNameSpace:byte):byte;cdecl;external 'clib' name 'SetTargetNameSpace';
|
|
{-nwproc.h---------------------------------------------------------------------}
|
|
type TStdfds = array[0..2] of longint;
|
|
|
|
function CreateChildProcess (func:pointer;
|
|
threadName:PChar;
|
|
cmdLine:PChar;
|
|
arg:PChar;
|
|
stack:pointer;
|
|
stackSize:longint;
|
|
stdfds:TStdfds;
|
|
clearenv:longint;
|
|
procName:PChar;
|
|
enableApp:longint):Tpid_t;cdecl;external 'clib' name 'CreateChildProcess';
|
|
function KillChildProcess(pid:Tpid_t):longint;cdecl;external 'clib' name 'KillChildProcess';
|
|
function WaitOnChildProcess(pid:Tpid_t; statloc:Plongint; options:longint):longint;cdecl;external 'clib' name 'WaitOnChildProcess';
|
|
function WaitOnChildProcess(pid:Tpid_t; var statloc:longint; options:longint):longint;cdecl;external 'clib' name 'WaitOnChildProcess';
|
|
{-nwsemaph.h-------------------------------------------------------------------}
|
|
function CloseLocalSemaphore (semaHandle : longint) : longint; cdecl; external 'clib' name 'CloseLocalSemaphore';
|
|
function ExamineLocalSemaphore (semaHandle : longint) : longint; cdecl; external 'clib' name 'ExamineLocalSemaphore';
|
|
function OpenLocalSemaphore (initValue : longint) : longint; cdecl; external 'clib' name 'OpenLocalSemaphore';
|
|
function SignalLocalSemaphore (semaHandle : longint) : longint; cdecl; external 'clib' name 'SignalLocalSemaphore';
|
|
function TimedWaitOnLocalSemaphore (semaHandle,Timeout:longint) : longint; cdecl; external 'clib' name 'TimedWaitOnLocalSemaphore';
|
|
function WaitOnLocalSemaphore (semaHandle : longint) : longint; cdecl; external 'clib' name 'WaitOnLocalSemaphore';
|
|
{-signal.h---------------------------------------------------------------------}
|
|
{ #define SIG_IGN (void (*)(int)) 1 }
|
|
{ #define SIG_DFL (void (*)(int)) 2 }
|
|
{ #define SIG_ERR (void (*)(int)) 3 }
|
|
const
|
|
SIGABRT = 1;
|
|
SIGFPE = 2;
|
|
SIGILL = 3;
|
|
SIGINT = 4;
|
|
SIGSEGV = 5;
|
|
SIGTERM = 6;
|
|
SIGPOLL = 7;
|
|
{ currently unimplemented POSIX-mandated signals }
|
|
SIGKILL = 101;
|
|
SA_NOCLDSTOP = 102;
|
|
SIGALRM = 103;
|
|
SIGCHILD = 104;
|
|
SIGCONT = 105;
|
|
SIGHUP = 106;
|
|
SIGPIPE = 107;
|
|
SIGQUIT = 108;
|
|
SIGSTOP = 109;
|
|
SIGTSTP = 110;
|
|
SIGTTIN = 111;
|
|
SIGTTOU = 112;
|
|
SIGUSR1 = 113;
|
|
SIGUSR2 = 114;
|
|
SIG_BLOCK = 115;
|
|
SIG_SETMASK = 116;
|
|
SIG_UNBLOCK = 117;
|
|
{ Novell-defined signals }
|
|
SIG_FINI = 500;
|
|
SIG_IPBIND = 501;
|
|
SIG_IPUNBIND = 502;
|
|
SIG_IPXBIND = 503;
|
|
SIG_IPXUNBIND = 504;
|
|
SIG_IPREGISTER = 505;
|
|
SIG_IPUNREGISTER = 506;
|
|
SIG_IPXREGISTER = 507;
|
|
SIG_IPXUNREGISTER = 508;
|
|
SIG_LOCALECHANGE = 510;
|
|
|
|
type
|
|
Psig_atomic_t = ^Tsig_atomic_t;
|
|
Tsig_atomic_t = longint;
|
|
TSigHandlerProc = procedure (Sig:longint); cdecl;
|
|
|
|
function _raise(para1:longint):longint;cdecl;external 'clib' name 'raise';
|
|
function signal(sig:longint; func:TSigHandlerProc):longint;cdecl;external 'clib' name 'signal';
|
|
|
|
function nw_raise(para1:longint):longint;cdecl;external 'clib' name 'raise';
|
|
function nw_signal(sig:longint; func:TSigHandlerProc):longint;cdecl;external 'clib' name 'signal';
|
|
{-nwstring.h-------------------------------------------------------------------}
|
|
function ASCIIZToLenStr (lenString,ASCIIZstring:Pchar) : longint; cdecl;external 'clib' name 'ASCIIZToLenStr';
|
|
function ASCIIZToMaxLenStr (lenString,ASCIIZstring:Pchar; maximumLength:longint):longint; cdecl;external 'clib' name 'ASCIIZToMaxLenStr';
|
|
function IntSwap (w:word):word; cdecl;external 'clib' name 'IntSwap';
|
|
function LenStrCat (destStr,srcStr:Pchar):Pchar; cdecl;external 'clib' name 'LenStrCat';
|
|
function LenStrCmp (s1,s2:Pchar):longint; cdecl;external 'clib' name 'LenStrCmp';
|
|
function LenStrCpy (dest,src:Pchar):Pchar; cdecl;external 'clib' name 'LenStrCpy';
|
|
function LenToASCIIZStr (ASCIIZstring,lenString:Pchar) : longint; cdecl;external 'clib' name 'LenToASCIIZStr';
|
|
function LongSwap (l:longint) : longint; cdecl;external 'clib' name 'LongSwap';
|
|
{-nwtoolib.h-------------------------------------------------------------------}
|
|
type
|
|
TreadFunc = function :longint; cdecl;
|
|
TNLMBeginFunc = procedure (NLMID:longint; commandLine:Pchar); cdecl;
|
|
TNLMPreEndFunc = procedure (NLMID:longint); cdecl;
|
|
TNLMPostEndFunc = procedure (NLMID:longint); cdecl;
|
|
TNLMEndNoContextFunc= procedure (NLMID:longint); cdecl;
|
|
TthreadGroupBeginFunc=function (threadGroupID:longint; argc:longint; const argv:array of Pchar):longint; cdecl;
|
|
TthreadGroupEndFunc = procedure (threadGroupID:longint); cdecl;
|
|
TthreadBeginFunc = function (threadID:longint):longint; cdecl;
|
|
TthreadEndFunc = procedure (threadID:longint); cdecl;
|
|
TthreadReleaseFileResourcesFunc = procedure (threadID:longint); cdecl;
|
|
|
|
function _NWGetErrno:longint;cdecl;external 'clib' name '_NWGetErrno';
|
|
function _NWGetNWErrno:longint;cdecl;external 'clib' name '_NWGetNWErrno';
|
|
function _NWGetNLMLevelLibDataPtr(NLMID:longint):pointer;cdecl;external 'clib' name '_NWGetNLMLevelLibDataPtr';
|
|
function _NWGetThreadGroupLevelLibDataPtr(threadGroupID:longint):pointer;cdecl;external 'clib' name '_NWGetThreadGroupLevelLibDataPtr';
|
|
function _NWGetThreadLevelLibDataPtr(threadID:longint):pointer;cdecl;external 'clib' name '_NWGetThreadLevelLibDataPtr';
|
|
function _NWLoadNLMMessageTable(NLMHandle:TNlmHandle; messageTable:PPPchar; messageCount:Plongint; languageID:Plongint):longint;cdecl;external 'clib' name '_NWLoadNLMMessageTable';
|
|
function _NWRegisterNLMLibrary (NLMHandle:TNlmHandle;
|
|
NLMFileHandle:longint;
|
|
readFunc:TReadFunc;
|
|
NLMBegin:TNLMBeginFunc;
|
|
NLMPreEnd:TNLMPreEndFunc;
|
|
NLMPostEnd:TNLMPostEndFunc;
|
|
NLMEndNoContext:TNLMEndNoContextFunc;
|
|
threadGroupBegin:TthreadGroupBeginFunc;
|
|
threadGroupEnd:TthreadGroupEndFunc;
|
|
threadBegin:TthreadBeginFunc;
|
|
threadEnd:TthreadEndFunc;
|
|
threadReleaseFileResources:TthreadReleaseFileResourcesFunc ):longint;cdecl;external 'clib' name '_NWRegisterNLMLibrary';
|
|
procedure _NWSetErrno (errnoValue : longint);cdecl;external 'clib' name '_NWSetErrno';
|
|
procedure _NWSetNWErrno (NWErrnoValue : longint);cdecl;external 'clib' name '_NWSetNWErrno';
|
|
procedure _NWSetNLMLevelLibDataPtr (NLMID : longint; dataPtr : pointer);cdecl;external 'clib' name '_NWSetNLMLevelLibDataPtr';
|
|
procedure _NWSetThreadGroupLevelLibDataPtr (threadGroupID : longint; dataPtr : pointer);cdecl;external 'clib' name '_NWSetThreadGroupLevelLibDataPtr';
|
|
procedure _NWSetThreadLevelLibDataPtr (threadID : longint; dataPtr : pointer);cdecl;external 'clib' name '_NWSetThreadLevelLibDataPtr';
|
|
{-stdio.h----------------------------------------------------------------------}
|
|
type
|
|
Tva_list = pointer; // dont know what this is
|
|
|
|
Pfpos_t = ^Tfpos_t;
|
|
Tfpos_t = longint;
|
|
|
|
Pwchar_t = ^Twchar_t;
|
|
Twchar_t = word;
|
|
|
|
Pwint_t = ^Twint_t;
|
|
Twint_t = longint;
|
|
{ values for fseek()' whence argument }
|
|
{ add 'offset' to beginning of file }
|
|
|
|
const
|
|
SEEK_SET = 0;
|
|
{ add 'offset' to current position in file }
|
|
SEEK_CUR = 1;
|
|
{ add 'offset' to end of file }
|
|
SEEK_END = 2;
|
|
{ miscellaneous definitions }
|
|
{ at least this many FILEs available }
|
|
FOPEN_MAX = 20;
|
|
{ (extreme) default buffer size }
|
|
BUFSIZ = 1024;
|
|
{ max number of characters in a path name }
|
|
FILENAME_MAX = 1024;
|
|
{ definitions for tmpnam() and tmpfil() }
|
|
{ "_T-00000.TMP" to "_T-99999.TMP" }
|
|
TMP_MAX = 100000;
|
|
{ 8 + 1 + 3 + 1 (always DOS namespace) }
|
|
L_tmpnam = 13;
|
|
{ values for field '_flag' in FILE below }
|
|
{ currently reading }
|
|
_IOREAD = $0001;
|
|
{ currently writing }
|
|
_IOWRT = $0002;
|
|
{ opened for reading and writing }
|
|
_IORW = $0004;
|
|
{ binary file (O_BINARY) }
|
|
_IOBIN = $0008;
|
|
{ unbuffered (e.g.: stdout and stderr) }
|
|
_IONBF = $0010;
|
|
{ line buffered (e.g.: stdin) }
|
|
_IOLBF = $0020;
|
|
{ fully buffered (most files) }
|
|
_IOFBF = $0040;
|
|
{ EOF reached on read }
|
|
_IOEOF = $0080;
|
|
{ I/O error from system }
|
|
_IOERR = $0100;
|
|
{ stdio code malloc()'d this buffer }
|
|
_IOBUF = $0200;
|
|
{ was a temporary file by tmpfile() }
|
|
_IOTMP = $0400;
|
|
{ file stream structure }
|
|
type
|
|
Piobuf = ^Tiobuf;
|
|
Tiobuf = record
|
|
_signature : dword; { identifies this structure }
|
|
_avail : longint; { available (unused/unread) room in buffer }
|
|
_ptr : Pbyte; { next character from/to here in buffer }
|
|
_base : Pbyte; { the buffer (not really) }
|
|
_oflag : dword; { pre-CLib.NLM v4.11 compatibility }
|
|
_file : dword; { file descriptor }
|
|
_flag : dword; { state of stream }
|
|
_buf : array[0..3] of
|
|
byte; { fake, micro buffer as a fall-back }
|
|
_env : dword; { Macintosh or UNIX text file signature }
|
|
end;
|
|
TFILE = Tiobuf;
|
|
PFILE = ^TFILE;
|
|
PPFILE = ^PFILE;
|
|
|
|
|
|
{ ISO/ANSI C defined functions... }
|
|
procedure clearerr(para1:PFILE);cdecl;external 'clib' name 'clearerr';
|
|
procedure clearerr(var para1:TFILE);cdecl;external 'clib' name 'clearerr';
|
|
function fclose(para1:PFILE):longint;cdecl;external 'clib' name 'fclose';
|
|
function fclose(var para1:TFILE):longint;cdecl;external 'clib' name 'fclose';
|
|
function feof(para1:PFILE):longint;cdecl;external 'clib' name 'feof';
|
|
function feof(var para1:TFILE):longint;cdecl;external 'clib' name 'feof';
|
|
function ferror(para1:PFILE):longint;cdecl;external 'clib' name 'ferror';
|
|
function ferror(var para1:TFILE):longint;cdecl;external 'clib' name 'ferror';
|
|
function fflush(para1:PFILE):longint;cdecl;external 'clib' name 'fflush';
|
|
function fflush(var para1:TFILE):longint;cdecl;external 'clib' name 'fflush';
|
|
function fgetc(para1:PFILE):char;cdecl;external 'clib' name 'fgetc';
|
|
function fgetc(var para1:TFILE):char;cdecl;external 'clib' name 'fgetc';
|
|
function fgetpos(para1:PFILE; para2:Pfpos_t):longint;cdecl;external 'clib' name 'fgetpos';
|
|
function fgetpos(var para1:TFILE; var para2:Tfpos_t):longint;cdecl;external 'clib' name 'fgetpos';
|
|
function fgets(para1:Pchar; para2:longint; para3:PFILE):Pchar;cdecl;external 'clib' name 'fgets';
|
|
function fgets(para1:Pchar; para2:longint; var para3:TFILE):Pchar;cdecl;external 'clib' name 'fgets';
|
|
function fopen(para1,para2:Pchar):PFILE;cdecl;external 'clib' name 'fopen';
|
|
function fprintf(para1:PFILE; para2:Pchar; args:array of const):longint;cdecl;external 'clib' name 'fprintf';
|
|
function fprintf(var para1:TFILE; para2:Pchar; args:array of const):longint;cdecl;external 'clib' name 'fprintf';
|
|
function fprintf(para1:PFILE; para2:Pchar):longint;cdecl;external 'clib' name 'fprintf';
|
|
function fprintf(var para1:TFILE; para2:Pchar):longint;cdecl;external 'clib' name 'fprintf';
|
|
function fputc(para1:longint; para2:PFILE):longint;cdecl;external 'clib' name 'fputc';
|
|
function fputs(para1:Pchar; para2:PFILE):longint;cdecl;external 'clib' name 'fputs';
|
|
function fread(para1:pointer; para2:Tsize_t; para3:Tsize_t; para4:PFILE):Tsize_t;cdecl;external 'clib' name 'fread';
|
|
function freopen(para1:Pchar; para2:Pchar; para3:PFILE):PFILE;cdecl;external 'clib' name 'freopen';
|
|
function fscanf(para1:PFILE; para2:Pchar; args:array of const):longint;cdecl;external 'clib' name 'fscanf';
|
|
function fscanf(var para1:TFILE; para2:Pchar; args:array of const):longint;cdecl;external 'clib' name 'fscanf';
|
|
function fscanf(para1:PFILE; para2:Pchar):longint;cdecl;external 'clib' name 'fscanf';
|
|
function fscanf(var para1:TFILE; para2:Pchar):longint;cdecl;external 'clib' name 'fscanf';
|
|
function fseek(fp:PFILE; offset:longint; whence:longint):longint;cdecl;external 'clib' name 'fseek';
|
|
function fseek(var fp:TFILE; offset:longint; whence:longint):longint;cdecl;external 'clib' name 'fseek';
|
|
(* Const before type ignored *)
|
|
function fsetpos(para1:PFILE; para2:Pfpos_t):longint;cdecl;external 'clib' name 'fsetpos';
|
|
function fsetpos(var para1:TFILE; para2:Pfpos_t):longint;cdecl;external 'clib' name 'fsetpos';
|
|
function ftell(para1:PFILE):longint;cdecl;external 'clib' name 'ftell';
|
|
function ftell(var para1:TFILE):longint;cdecl;external 'clib' name 'ftell';
|
|
|
|
function fwrite(para1:pointer; para2:Tsize_t; para3:Tsize_t; para4:PFILE):Tsize_t;cdecl;external 'clib' name 'fwrite';
|
|
|
|
function getc(para1:PFILE):char;cdecl;external 'clib' name 'getc';
|
|
function getc(var para1:TFILE):char;cdecl;external 'clib' name 'getc';
|
|
|
|
function getchar:char;cdecl;external 'clib' name 'getchar';
|
|
function gets(para1:Pchar):Pchar;cdecl;external 'clib' name 'gets';
|
|
procedure perror(para1:Pchar);cdecl;external 'clib' name 'perror';
|
|
function printf(para1:Pchar; args:array of const):longint;cdecl;external 'clib' name 'printf';
|
|
function printf(para1:Pchar):longint;cdecl;external 'clib' name 'printf';
|
|
function putc(para1:char; para2:PFILE):longint;cdecl;external 'clib' name 'putc';
|
|
function putc(para1:char; var para2:TFILE):longint;cdecl;external 'clib' name 'putc';
|
|
|
|
function putchar(para1:char):longint;cdecl;external 'clib' name 'putchar';
|
|
|
|
function puts(para1:Pchar):longint;cdecl;external 'clib' name 'puts';
|
|
function remove(para1:Pchar):longint;cdecl;external 'clib' name 'remove';
|
|
function rename(para1, para2:Pchar):longint;cdecl;external 'clib' name 'rename';
|
|
procedure rewind(para1:PFILE);cdecl;external 'clib' name 'rewind';
|
|
procedure rewind(var para1:TFILE);cdecl;external 'clib' name 'rewind';
|
|
|
|
function scanf(para1:Pchar; args:array of const):longint;cdecl;external 'clib' name 'scanf';
|
|
function scanf(para1:Pchar):longint;cdecl;external 'clib' name 'scanf';
|
|
procedure setbuf(para1:PFILE; para2:Pchar);cdecl;external 'clib' name 'setbuf';
|
|
procedure setbuf(var para1:TFILE; para2:Pchar);cdecl;external 'clib' name 'setbuf';
|
|
function setvbuf(para1:PFILE; para2:Pchar; para3:longint; para4:Tsize_t):longint;cdecl;external 'clib' name 'setvbuf';
|
|
function setvbuf(para1:TFILE; para2:Pchar; para3:longint; para4:Tsize_t):longint;cdecl;external 'clib' name 'setvbuf';
|
|
|
|
function sprintf(para1,para2:Pchar; args:array of const):longint;cdecl;external 'clib' name 'sprintf';
|
|
function sprintf(para1,para2:Pchar):longint;cdecl;external 'clib' name 'sprintf';
|
|
function sscanf(para1, para2:Pchar; args:array of const):longint;cdecl;external 'clib' name 'sscanf';
|
|
function sscanf(para1, para2:Pchar):longint;cdecl;external 'clib' name 'sscanf';
|
|
function tmpfile:PFILE;cdecl;external 'clib' name 'tmpfile';
|
|
function tmpnam(para1:Pchar):Pchar;cdecl;external 'clib' name 'tmpnam';
|
|
function ungetc(para1:longint; para2:PFILE):longint;cdecl;external 'clib' name 'ungetc';
|
|
function ungetc(para1:longint; var para2:TFILE):longint;cdecl;external 'clib' name 'ungetc';
|
|
|
|
function vfprintf(para1:PFILE; para2:Pchar; para3:Tva_list):longint;cdecl;external 'clib' name 'vfprintf';
|
|
function vfprintf(var para1:TFILE; para2:Pchar; para3:Tva_list):longint;cdecl;external 'clib' name 'vfprintf';
|
|
|
|
function vfscanf(para1:PFILE; para2:Pchar; para3:Tva_list):longint;cdecl;external 'clib' name 'vfscanf';
|
|
function vfscanf(var para1:TFILE; para2:Pchar; para3:Tva_list):longint;cdecl;external 'clib' name 'vfscanf';
|
|
|
|
function vprintf(para1:Pchar; para2:Tva_list):longint;cdecl;external 'clib' name 'vprintf';
|
|
function vscanf(para1:Pchar; para2:Tva_list):longint;cdecl;external 'clib' name 'vscanf';
|
|
function vsprintf(para1,para2:Pchar; para3:Tva_list):longint;cdecl;external 'clib' name 'vsprintf';
|
|
function vsscanf(para1, para2:Pchar; para3:Tva_list):longint;cdecl;external 'clib' name 'vsscanf';
|
|
{ POSIX-defined additions... }
|
|
function fdopen(para1:longint; para2:Pchar):PFILE;cdecl;external 'clib' name 'fdopen';
|
|
function fileno(fp:PFILE):longint;cdecl;external 'clib' name 'fileno';
|
|
function fileno(var f:TFILE):longint;cdecl;external 'clib' name 'fileno';
|
|
//function cgets(para1:Pchar):Pchar;cdecl;external 'clib' name 'cgets';
|
|
//function cprintf(para1:Pchar; args:array of const):longint;cdecl;external 'clib' name 'cprintf';
|
|
//function cprintf(para1:Pchar):longint;cdecl;external 'clib' name 'cprintf';
|
|
//function cputs(para1:Pchar):longint;cdecl;external 'clib' name 'cputs';
|
|
//function cscanf(para1:Pchar; args:array of const):longint;cdecl;external 'clib' name 'cscanf';
|
|
//function cscanf(para1:Pchar):longint;cdecl;external 'clib' name 'cscanf';
|
|
function fcloseall:longint;cdecl;external 'clib' name 'fcloseall';
|
|
function fgetchar:longint;cdecl;external 'clib' name 'fgetchar';
|
|
function flushall:longint;cdecl;external 'clib' name 'flushall';
|
|
function fputchar(para1:longint):longint;cdecl;external 'clib' name 'fputchar';
|
|
function vcprintf(para1:Pchar; para2:Tva_list):longint;cdecl;external 'clib' name 'vcprintf';
|
|
function vcscanf(para1:Pchar; para2:Tva_list):longint;cdecl;external 'clib' name 'vcscanf';
|
|
function NWfprintf(var para1:TFILE; para2:Pchar; args:array of const):longint;cdecl;external 'clib' name 'NWfprintf';
|
|
function NWfprintf(var para1:TFILE; para2:Pchar):longint;cdecl;external 'clib' name 'NWfprintf';
|
|
function NWvcprintf(para1:Pchar; para2:Tva_list):longint;cdecl;external 'clib' name 'NWvcprintf';
|
|
function NWvfprintf(para1:PFILE; para2:Pchar; para3:Tva_list):longint;cdecl;external 'clib' name 'NWvfprintf';
|
|
function NWvprintf(para1:Pchar; para2:Tva_list):longint;cdecl;external 'clib' name 'NWvprintf';
|
|
function NWvsprintf(para1:Pchar; para2:Pchar; para3:Tva_list):longint;cdecl;external 'clib' name 'NWvsprintf';
|
|
{
|
|
For the following support, open the file without 'b' in the mode. Additions
|
|
for transparent Macintosh text file support ('\r' on lines) and additions
|
|
for transparent UNIX text file support ('\n' on lines).
|
|
}
|
|
function IsMacintoshTextFile(para1:PFILE):longint;cdecl;external 'clib' name 'IsMacintoshTextFile';
|
|
function SetMacintoshTextMode(para1:PFILE):longint;cdecl;external 'clib' name 'SetMacintoshTextMode';
|
|
function UnsetMacintoshTextMode(para1:PFILE):longint;cdecl;external 'clib' name 'UnsetMacintoshTextMode';
|
|
|
|
function IsMacintoshTextFile(var para1:TFILE):longint;cdecl;external 'clib' name 'IsMacintoshTextFile';
|
|
function SetMacintoshTextMode(var para1:TFILE):longint;cdecl;external 'clib' name 'SetMacintoshTextMode';
|
|
function UnsetMacintoshTextMode(var para1:TFILE):longint;cdecl;external 'clib' name 'UnsetMacintoshTextMode';
|
|
|
|
{ back to '\r\n' }
|
|
function is_unix_text_file(para1:PFILE):longint;cdecl;external 'clib' name 'is_unix_text_file';
|
|
function set_unix_text_mode(para1:PFILE):longint;cdecl;external 'clib' name 'set_unix_text_mode';
|
|
function unset_unix_text_mode(para1:PFILE):longint;cdecl;external 'clib' name 'unset_unix_text_mode';
|
|
|
|
function is_unix_text_file(var para1:TFILE):longint;cdecl;external 'clib' name 'is_unix_text_file';
|
|
function set_unix_text_mode(var para1:TFILE):longint;cdecl;external 'clib' name 'set_unix_text_mode';
|
|
function unset_unix_text_mode(var para1:TFILE):longint;cdecl;external 'clib' name 'unset_unix_text_mode';
|
|
|
|
{ back to '\r\n' }
|
|
{ functions underlying macro support... }
|
|
function __get_stdin:PPFILE;cdecl;external 'clib' name '__get_stdin';
|
|
function __get_stdout:PPFILE;cdecl;external 'clib' name '__get_stdout';
|
|
function __get_stderr:PPFILE;cdecl;external 'clib' name '__get_stderr';
|
|
|
|
function __stdin : PFILE;
|
|
function __stdout : PFILE;
|
|
function __stderr : PFILE;
|
|
{-stdlib.h---------------------------------------------------------------------}
|
|
{$PACKRECORDS C}
|
|
|
|
|
|
const
|
|
EXIT_FAILURE = -(1);
|
|
EXIT_SUCCESS = 0;
|
|
RAND_MAX = 32767;
|
|
type
|
|
Pdiv_t = ^Tdiv_t;
|
|
Tdiv_t = record
|
|
quot : longint;
|
|
rem : longint;
|
|
end;
|
|
|
|
Pldiv_t = ^Tldiv_t;
|
|
Tldiv_t = record
|
|
quot : longint;
|
|
rem : longint;
|
|
end;
|
|
|
|
TCdeclProcedure = procedure; cdecl;
|
|
TBSearchFunc = function (para1:pointer; para2:pointer):longint; cdecl;
|
|
TQSortFunc = function (para1:pointer; para2:pointer):longint; cdecl;
|
|
|
|
//?? var __ctype : array of byte;cvar;external;
|
|
|
|
procedure abort;cdecl;external 'clib' name 'abort';
|
|
function abs(para1:longint):longint;cdecl;external 'clib' name 'abs';
|
|
function atexit(proc:TCdeclProcedure):longint;cdecl;external 'clib' name 'atexit';
|
|
function atof(para1:Pchar):double;cdecl;external 'clib' name 'atof';
|
|
function atoi(para1:Pchar):longint;cdecl;external 'clib' name 'atoi';
|
|
function atol(para1:Pchar):longint;cdecl;external 'clib' name 'atol';
|
|
function bsearch(para1,para2:pointer; para3,para4:Tsize_t; para5:TBsearchFunc):pointer;cdecl;external 'clib' name 'bsearch';
|
|
function calloc(para1:Tsize_t; para2:Tsize_t):pointer;cdecl;external 'clib' name 'calloc';
|
|
function _div(para1,para2:longint):Tdiv_t;cdecl;external 'clib' name 'div';
|
|
//procedure exit(para1:longint);cdecl;external 'clib' name 'exit';
|
|
procedure _exit(para1:longint);cdecl;external 'clib' name '_exit';
|
|
function getenv(para1:Pchar):Pchar;cdecl;external 'clib' name 'getenv';
|
|
function labs(para1:longint):longint;cdecl;external 'clib' name 'labs';
|
|
function ldiv(para1:longint; para2:longint):Tldiv_t;cdecl;external 'clib' name 'ldiv';
|
|
function malloc(para1:Tsize_t):pointer;cdecl;external 'clib' name 'malloc';
|
|
function mblen(para1:Pchar; para2:Tsize_t):longint;cdecl;external 'clib' name 'mblen';
|
|
function mbstowcs(para1:Pwchar_t; para2:Pchar; para3:Tsize_t):Tsize_t;cdecl;external 'clib' name 'mbstowcs';
|
|
function mbtowc(para1:Pwchar_t; para2:Pchar; para3:Tsize_t):longint;cdecl;external 'clib' name 'mbtowc';
|
|
procedure qsort(para1:pointer; para2,para3:Tsize_t; para4:TQSortFunc);cdecl;external 'clib' name 'qsort';
|
|
function rand:longint;cdecl;external 'clib' name 'rand';
|
|
function realloc(para1:pointer; para2:Tsize_t):pointer;cdecl;external 'clib' name 'realloc';
|
|
procedure srand(para1:dword);cdecl;external 'clib' name 'srand';
|
|
function strtod(para1:Pchar; para2:PPchar):double;cdecl;external 'clib' name 'strtod';
|
|
function strtol(para1:Pchar; para2:PPchar; para3:longint):longint;cdecl;external 'clib' name 'strtol';
|
|
function strtoul(para1:Pchar; para2:PPchar; para3:longint):dword;cdecl;external 'clib' name 'strtoul';
|
|
function _system(para1:Pchar):longint;cdecl;external 'clib' name 'system';
|
|
function wcstombs(para1:Pchar; para2:Pwchar_t; para3:Tsize_t):Tsize_t;cdecl;external 'clib' name 'wcstombs';
|
|
function wctomb(para1:Pchar; para2:Twchar_t):longint;cdecl;external 'clib' name 'wctomb';
|
|
function clearenv:longint;cdecl;external 'clib' name 'clearenv';
|
|
function ecvt(para1:double; para2:longint; para3:Plongint; para4:Plongint):Pchar;cdecl;external 'clib' name 'ecvt';
|
|
function fcvt(para1:double; para2:longint; para3:Plongint; para4:Plongint):Pchar;cdecl;external 'clib' name 'fcvt';
|
|
function gcvt(para1:double; para2:longint; para3:Pchar):Pchar;cdecl;external 'clib' name 'gcvt';
|
|
function htol(para1:Pchar):dword;cdecl;external 'clib' name 'htol';
|
|
function itoa(para1:longint; para2:Pchar; para3:longint):Pchar;cdecl;external 'clib' name 'itoa';
|
|
function itoab(para1:dword; para2:Pchar):Pchar;cdecl;external 'clib' name 'itoab';
|
|
function ltoa(para1:longint; para2:Pchar; para3:longint):Pchar;cdecl;external 'clib' name 'ltoa';
|
|
function max(para1:longint; para2:longint):longint;cdecl;external 'clib' name 'max';
|
|
function min(para1:longint; para2:longint):longint;cdecl;external 'clib' name 'min';
|
|
function putenv(name:Pchar):longint;cdecl;external 'clib' name 'putenv';
|
|
function rand_r(seed:Pdword; result:Plongint):longint;cdecl;external 'clib' name 'rand_r';
|
|
function _rotl(para1:dword; para2:dword):dword;cdecl;external 'clib' name '_rotl';
|
|
function _rotr(para1:dword; para2:dword):dword;cdecl;external 'clib' name '_rotr';
|
|
function scanenv(sequence:Plongint; variable:Pchar; length:Psize_t; value:Pchar):longint;cdecl;external 'clib' name 'scanenv';
|
|
function setenv(name:Pchar; value:Pchar; overwrite:longint):longint;cdecl;external 'clib' name 'setenv';
|
|
// double strtod_ld( const char *, char **, long double *);
|
|
function strtoi(para1:Pchar; para2:longint):longint;cdecl;external 'clib' name 'strtoi';
|
|
function ultoa(para1:dword; para2:Pchar; para3:longint):Pchar;cdecl;external 'clib' name 'ultoa';
|
|
function unsetenv(name:Pchar):longint;cdecl;external 'clib' name 'unsetenv';
|
|
function utoa(para1:dword; para2:Pchar; para3:longint):Pchar;cdecl;external 'clib' name 'utoa';
|
|
function _lrotl(para1:dword; para2:dword):dword;cdecl;external 'clib' name '_lrotl';
|
|
function _lrotr(para1:dword; para2:dword):dword;cdecl;external 'clib' name '_lrotr';
|
|
{-unistd.h---------------------------------------------------------------------}
|
|
const
|
|
F_OK = 0;
|
|
R_OK = 4;
|
|
W_OK = 2;
|
|
X_OK = 1;
|
|
{ test using effective ids }
|
|
EFF_ONLY_OK = 8;
|
|
STDIN_FILENO = 0;
|
|
STDOUT_FILENO = 1;
|
|
STDERR_FILENO = 2;
|
|
|
|
type TPipeFiledes = array [0..1] of longint;
|
|
|
|
function access(path:Pchar; mode:longint):longint;cdecl;external 'clib' name 'access';
|
|
function _chdir(path:Pchar):longint;cdecl;external 'clib' name 'chdir';
|
|
function Fpchdir(path:Pchar):longint;cdecl;external 'clib' name 'chdir';
|
|
function chsize(fildes:longint; size:dword):longint;cdecl;external 'clib' name 'chsize';
|
|
function _close(fildes:longint):longint;cdecl;external 'clib' name 'close';
|
|
function Fpclose(fildes:longint):longint;cdecl;external 'clib' name 'close';
|
|
function dup(fildes:longint):longint;cdecl;external 'clib' name 'dup';
|
|
function fpdup(fildes:longint):longint;cdecl;external 'clib' name 'dup';
|
|
function dup2(fildes1:longint; fildes2:longint):longint;cdecl;external 'clib' name 'dup2';
|
|
function fpdup2(fildes1:longint; fildes2:longint):longint;cdecl;external 'clib' name 'dup2';
|
|
function _eof(fildes:longint):longint;cdecl;external 'clib' name 'eof';
|
|
function Fpeof(fildes:longint):longint;cdecl;external 'clib' name 'eof';
|
|
function getcwd(path:Pchar; len:Tsize_t):Pchar;cdecl;external 'clib' name 'getcwd';
|
|
function isatty(fildes:longint):longint;cdecl;external 'clib' name 'isatty';
|
|
function lseek(fildes:longint; offset:Toff_t; whence:longint):Toff_t;cdecl;external 'clib' name 'lseek';
|
|
function pipe(fildes:TPipeFiledes):longint;cdecl;external 'clib' name 'pipe';
|
|
function _read(fildes:longint; buf:pointer; nbytes:Tsize_t):Tssize_t;cdecl;external 'clib' name 'read';
|
|
function Fpread(fildes:longint; buf:pointer; nbytes:Tsize_t):Tssize_t;cdecl;external 'clib' name 'read';
|
|
function rmdir(path:Pchar):longint;cdecl;external 'clib' name 'rmdir';
|
|
function unlink(path:Pchar):longint;cdecl;external 'clib' name 'unlink';
|
|
function _write(fildes:longint; buf:pointer; nbytes:Tsize_t):Tssize_t;cdecl;external 'clib' name 'write';
|
|
function Fpwrite(fildes:longint; buf:pointer; nbytes:Tsize_t):Tssize_t;cdecl;external 'clib' name 'write';
|
|
function pread(fildes:longint; buf:pointer; nbytes:Tsize_t; offset:Toff_t):Tssize_t;cdecl;external 'clib' name 'pread';
|
|
function pwrite(fildes:longint; buf:pointer; nbytes:Tsize_t; offset:Toff_t):Tssize_t;cdecl;external 'clib' name 'pwrite';
|
|
|
|
function _write(fildes:longint; var buf; nbytes:Tsize_t):Tssize_t;cdecl;external 'clib' name 'write';
|
|
function Fpwrite(fildes:longint; var buf; nbytes:Tsize_t):Tssize_t;cdecl;external 'clib' name 'write';
|
|
function pread(fildes:longint; var buf; nbytes:Tsize_t; offset:Toff_t):Tssize_t;cdecl;external 'clib' name 'pread';
|
|
function pwrite(fildes:longint; var buf; nbytes:Tsize_t; offset:Toff_t):Tssize_t;cdecl;external 'clib' name 'pwrite';
|
|
{-libcclib.h-------------------------------------------------------------------}
|
|
{$PACKRECORDS C}
|
|
|
|
type
|
|
Tstart_routineProc = procedure (arg:pointer); cdecl;
|
|
Pclibctx_t = ^Tclibctx_t;
|
|
Tclibctx_t = record
|
|
ThreadGroupGetID : function :longint;cdecl;
|
|
ThreadGroupCreate : function (name:Pchar; threadGroupID:Plongint):longint; cdecl;
|
|
ThreadGroupDispose : function (threadGroupID:longint):longint; cdecl;
|
|
ThreadGroupUnwrap : function (threadGroupID:longint; restoredThreadGroupID:longint):longint; cdecl;
|
|
ThreadGroupWrap : function (threadGroupID:longint):longint; cdecl;
|
|
ThreadCreate : function (threadGroupID:longint;
|
|
start_routine:Tstart_routineProc;
|
|
arg:pointer;
|
|
stackSize:Tsize_t;
|
|
flags:dword;
|
|
threadID:Plongint):longint; cdecl;
|
|
__UnloadBroker : procedure ; cdecl;
|
|
reserved1 : pointer;
|
|
reserved : array[0..7] of pointer;
|
|
end;
|
|
|
|
function CLibLoadContextBroker(module:pointer; callback:Pchar):longint;cdecl;external 'clib' name 'CLibLoadContextBroker';
|
|
function CLibUnloadContextBroker(broker:Pclibctx_t):longint;cdecl;external 'clib' name 'CLibUnloadContextBroker';
|
|
function MyCallBack(broker:Pclibctx_t):longint;cdecl;external 'clib' name 'MyCallBack';
|
|
{-nwtime.h---------------------------------------------------------------------}
|
|
const
|
|
CLOCK_IS_SYNCHRONIZED = $01;
|
|
type
|
|
|
|
PclockAndStatus = ^TclockAndStatus;
|
|
TclockAndStatus = longint;
|
|
|
|
const
|
|
CLOCK_IS_NETWORK_SYNCHRONIZED = $02;
|
|
CLOCK_SYNCHRONIZATION_IS_ACTIVE = $04;
|
|
|
|
{$include npackon.inc}
|
|
type
|
|
PDOSTime = ^TDOSTime;
|
|
TDOSTime = record
|
|
flag0 : word;
|
|
end;
|
|
|
|
const
|
|
bm_TDOSTime_bisecond = $1F;
|
|
bp_TDOSTime_bisecond = 0;
|
|
bm_TDOSTime_minute = $7E0;
|
|
bp_TDOSTime_minute = 5;
|
|
bm_TDOSTime_hour = $F800;
|
|
bp_TDOSTime_hour = 11;
|
|
function bisecond(var a : TDOSTime) : word;
|
|
procedure set_bisecond(var a : TDOSTime; __bisecond : word);
|
|
function minute(var a : TDOSTime) : word;
|
|
procedure set_minute(var a : TDOSTime; __minute : word);
|
|
function hour(var a : TDOSTime) : word;
|
|
procedure set_hour(var a : TDOSTime; __hour : word);
|
|
type
|
|
PDOSDate = ^TDOSDate;
|
|
TDOSDate = record
|
|
flag0 : word;
|
|
end;
|
|
T_DOSDate = TDOSDate;
|
|
|
|
const
|
|
bm_TDOSDate_day = $1F;
|
|
bp_TDOSDate_day = 0;
|
|
bm_TDOSDate_month = $1E0;
|
|
bp_TDOSDate_month = 5;
|
|
bm_TDOSDate_yearsSince80 = $FE00;
|
|
bp_TDOSDate_yearsSince80 = 9;
|
|
function day(var a : TDOSDate) : word;
|
|
procedure set_day(var a : TDOSDate; __day : word);
|
|
function month(var a : TDOSDate) : word;
|
|
procedure set_month(var a : TDOSDate; __month : word);
|
|
function yearsSince80(var a : TDOSDate) : word;
|
|
procedure set_yearsSince80(var a : TDOSDate; __yearsSince80 : word);
|
|
type
|
|
P_DOSTime = ^T_DOSTime;
|
|
T_DOSTime = record
|
|
flag0 : word;
|
|
end;
|
|
|
|
const
|
|
bm_T_DOSTime_bisecond = $1F;
|
|
bp_T_DOSTime_bisecond = 0;
|
|
bm_T_DOSTime_minute = $7E0;
|
|
bp_T_DOSTime_minute = 5;
|
|
bm_T_DOSTime_hour = $F800;
|
|
bp_T_DOSTime_hour = 11;
|
|
function bisecond(var a : T_DOSTime) : word;
|
|
procedure set_bisecond(var a : T_DOSTime; __bisecond : word);
|
|
function minute(var a : T_DOSTime) : word;
|
|
procedure set_minute(var a : T_DOSTime; __minute : word);
|
|
function hour(var a : T_DOSTime) : word;
|
|
procedure set_hour(var a : T_DOSTime; __hour : word);
|
|
|
|
const
|
|
bm_T_DOSDate_day = $1F;
|
|
bp_T_DOSDate_day = 0;
|
|
bm_T_DOSDate_month = $1E0;
|
|
bp_T_DOSDate_month = 5;
|
|
bm_T_DOSDate_yearsSince80 = $FE00;
|
|
bp_T_DOSDate_yearsSince80 = 9;
|
|
|
|
|
|
{$include npackoff.inc}
|
|
|
|
function _ConvertDOSTimeToCalendar(dateTime:longint):Ttime_t;cdecl;external 'clib' name '_ConvertDOSTimeToCalendar';
|
|
procedure _ConvertTimeToDOS(calendarTime:Ttime_t; filDatP:PDOSDate; filTimP:PDOSTime);cdecl;external 'clib' name '_ConvertTimeToDOS';
|
|
procedure GetClockStatus(_dataPtr:TclockAndStatus);cdecl;external 'clib' name 'GetClockStatus';
|
|
function GetCurrentTicks:longint;cdecl;external 'clib' name 'GetCurrentTicks';
|
|
function GetHighResolutionTimer:longint;cdecl;external 'clib' name 'GetHighResolutionTimer';
|
|
function GetSuperHighResolutionTimer:longint;cdecl;external 'clib' name 'GetSuperHighResolutionTimer';
|
|
function NWGetHighResolutionTimer:longint;cdecl;external 'clib' name 'NWGetHighResolutionTimer';
|
|
function NWGetSuperHighResolutionTimer:longint;cdecl;external 'clib' name 'NWGetSuperHighResolutionTimer';
|
|
function __get_altzone:Ptime_t;cdecl;external 'clib' name '__get_altzone';
|
|
function altzone:Ptime_t;cdecl;external 'clib' name '__get_altzone';
|
|
function __get_daylight:Plongint;cdecl;external 'clib' name '__get_daylight';
|
|
function daylight:Plongint;cdecl;external 'clib' name '__get_daylight';
|
|
function __get_daylightOffset:Ptime_t;cdecl;external 'clib' name '__get_daylightOffset';
|
|
function daylightOffset:Ptime_t;cdecl;external 'clib' name '__get_daylightOffset';
|
|
function __get_daylightOnOff:Plongint;cdecl;external 'clib' name '__get_daylightOnOff';
|
|
function daylightOnOff:Plongint;cdecl;external 'clib' name '__get_daylightOnOff';
|
|
function __get_timezone:Ptime_t;cdecl;external 'clib' name '__get_timezone';
|
|
function timezone:Ptime_t;cdecl;external 'clib' name '__get_timezone';
|
|
procedure SecondsToTicks(Seconds:longint; TenthsOfSeconds:longint; Ticks:Plongint);cdecl;external 'clib' name 'SecondsToTicks';
|
|
procedure TicksToSeconds(Ticks:longint; Seconds:Plongint; TenthsOfSeconds:Plongint);cdecl;external 'clib' name 'TicksToSeconds';
|
|
{-nwthread.h-------------------------------------------------------------------}
|
|
{ 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):TNlmHandle; cdecl;external ThreadsNlm name 'FindNLMHandle';
|
|
function getcmd(cmdLine:Pchar):Pchar; cdecl;external ThreadsNlm name 'getcmd';
|
|
function GetNLMHandle:TNlmHandle; 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:TNlmHandle;
|
|
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 GetThreadName(threadID:longint; var tName):longint; cdecl;external ThreadsNlm name 'GetThreadName';
|
|
function MapNLMIDToHandle(NLMID:longint):TNlmHandle; 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:Plongint;
|
|
minorVersion:Plongint;
|
|
revision:Plongint;
|
|
year:Plongint;
|
|
month:Plongint;
|
|
day:Plongint;
|
|
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:TNlmHandle;
|
|
majorVersion,minorVersion,revision,year,month,day:Plongint;
|
|
copyrightString:pchar; description:pchar):longint;cdecl;external NlmLibNlm name 'ReturnNLMVersionInformation';
|
|
function ReturnNLMVersionInformation(NLMHandle:TNlmHandle;
|
|
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';
|
|
{-nwmediam.h-------------------------------------------------------------------}
|
|
{$include npackon.inc}
|
|
|
|
const
|
|
FORMAT_MEDIA = $0000;
|
|
TAPE_CONTROL = $0001;
|
|
ACTIVATE_FUNCTIONS = $0003;
|
|
MOUNT_FUNCTIONS = $0004;
|
|
SELECT_FUNCTIONS = $0005;
|
|
INSERTION_FUNCTIONS = $0006;
|
|
LOCK_FUNCTIONS = $0007;
|
|
MOVE_FUNCTIONS = $0008;
|
|
STAMP_FUNCTIONS = $0009;
|
|
SCAN_FUNCTIONS = $000A;
|
|
MAGAZINE_FUNCTIONS = $000D;
|
|
{ IO Functions }
|
|
RANDOM_READ = $0020;
|
|
RANDOM_WRITE = $0021;
|
|
RANDOM_WRITE_ONCE = $0022;
|
|
SEQUENTIAL_READ = $0023;
|
|
SEQUENTIAL_WRITE = $0024;
|
|
RESET_END_OF_TAPE = $0025;
|
|
SINGLE_FILE_MARK = $0026;
|
|
MULTIPLE_FILE_MARK = $0027;
|
|
SINGLE_SET_MARK = $0028;
|
|
MULTIPLE_SET_MARK = $0029;
|
|
SPACE_DATA_BLOCKS = $002A;
|
|
LOCATE_DATA_BLOCKS = $002B;
|
|
POSITION_PARTITION = $002C;
|
|
POSITION_MEDIA = $002D;
|
|
DEVICE_GENERIC_IOCTL = $003E;
|
|
{ Object Types }
|
|
UNKNOWN_OBJECT = $FFFF;
|
|
ADAPTER_OBJECT = 0;
|
|
CHANGER_OBJECT = 1;
|
|
DEVICE_OBJECT = 2;
|
|
MEDIA_OBJECT = 4;
|
|
PARTITION_OBJECT = 5;
|
|
SLOT_OBJECT = 6;
|
|
HOTFIX_OBJECT = 7;
|
|
MIRROR_OBJECT = 8;
|
|
PARITY_OBJECT = 9;
|
|
VOLUME_SEG_OBJECT = 10;
|
|
VOLUME_OBJECT = 11;
|
|
CLONE_OBJECT = 12;
|
|
MAGAZINE_OBJECT = 14;
|
|
UNIDENTIFIABLE_MEDIA = $00000001;
|
|
HIGH_SIERRA_CDROM_MEDIA = $00000002;
|
|
ISO_CDROM_MEDIA = $00000003;
|
|
MAC_CDROM_MEDIA = $00000004;
|
|
NETWARE_FILE_SYSTEM_MEDIA = $00000005;
|
|
INTERNAL_IDENTIFY_TYPE = $00000007;
|
|
SMS_MEDIA_TYPE = $00000008;
|
|
{ Notify Event Bits }
|
|
NOTIFY_OBJECT_CREATION = $0001;
|
|
NOTIFY_OBJECT_DELETION = $0002;
|
|
NOTIFY_OBJECT_ACTIVATED = $0004;
|
|
NOTIFY_OBJECT_DEACTIVATED = $0008;
|
|
NOTIFY_OBJECT_RESERVATION = $0010;
|
|
NOTIFY_OBJECT_UNRESERVATION = $0020;
|
|
{ Object Status Bits }
|
|
OBJECT_ACTIVATED = $00000001;
|
|
OBJECT_PHANTOM = $00000002;
|
|
OBJECT_ASSIGNABLE = $00000004;
|
|
OBJECT_ASSIGNED = $00000008;
|
|
OBJECT_RESERVED = $00000010;
|
|
OBJECT_BEING_IDENTIFIED = $00000020;
|
|
OBJECT_MAGAZINE_LOADED = $00000040;
|
|
OBJECT_FAILURE = $00000080;
|
|
OBJECT_REMOVABLE = $00000100;
|
|
OBJECT_READ_ONLY = $00000200;
|
|
OBJECT_IN_DEVICE = $00010000;
|
|
OBJECT_ACCEPTS_MAGAZINES = $00020000;
|
|
OBJECT_IS_IN_A_CHANGER = $00040000;
|
|
OBJECT_LOADABLE = $00080000;
|
|
OBJECT_BEING_LOADED = $00080000;
|
|
OBJECT_DEVICE_LOCK = $01000000;
|
|
OBJECT_CHANGER_LOCK = $02000000;
|
|
OBJECT_REMIRRORING = $04000000;
|
|
OBJECT_SELECTED = $08000000;
|
|
{ Resource Tag Allocation Signatures }
|
|
{ 'PAMM' }
|
|
MMApplicationSignature = $50424D4D;
|
|
{ 'ONMM' }
|
|
MMNotifySignature = $4F4E4D4D;
|
|
{ 'DIMM' }
|
|
MMIdentifySignature = $44494D4D;
|
|
{ AlertTypes }
|
|
ALERT_MESSAGE = $00000001;
|
|
ALERT_ACTIVATE = $00000002;
|
|
ALERT_DEACTIVATE = $00000003;
|
|
ALERT_DELETE = $00000004;
|
|
{ AlertReasons }
|
|
ALERT_HOTFIX_ERROR = $00000000;
|
|
ALERT_DRIVER_UNLOAD = $00000001;
|
|
ALERT_DEVICE_FAILURE = $00000002;
|
|
ALERT_PROGRAM_CONTROL = $00000003;
|
|
ALERT_MEDIA_DISMOUNT = $00000004;
|
|
ALERT_MEDIA_EJECT = $00000005;
|
|
ALERT_SERVER_DOWN = $00000006;
|
|
ALERT_SERVER_FAILURE = $00000007;
|
|
ALERT_MEDIA_LOAD = $00000008;
|
|
ALERT_MEDIA_MOUNT = $00000009;
|
|
ALERT_DRIVER_LOAD = $0000000A;
|
|
ALERT_LOST_SOFTWARE_FAULT_TOLERANCE = $0000000B;
|
|
ALERT_INTERNAL_OBJECT_DELETE = $0000000C;
|
|
ALERT_MAGAZINE_LOAD = $0000000D;
|
|
ALERT_MAGAZINE_UNLOAD = $0000000E;
|
|
ALERT_DEVICE_GOING_TO_BE_REMOVED = $0000000F;
|
|
ALERT_CHECK_DEVICE = $00000010;
|
|
ALERT_CONFIGURATION_CHANGE = $00000011;
|
|
ALERT_APPLICATION_UNREGISTER = $00000012;
|
|
ALERT_DAI_EMMULATION = $00000013;
|
|
ALERT_LOST_HARDWARE_FAULT_TOLERANCE = $00000014;
|
|
ALERT_INTERNAL_OBJECT_CREATE = $00000015;
|
|
ALERT_INTERNAL_MANAGER_REMOVE = $00000016;
|
|
ALERT_DEVICE_GOING_TO_BE_DEACTIVATED = $00000017;
|
|
ALERT_DEVICE_END_OF_MEDIA = $00000018;
|
|
ALERT_MEDIA_INSERTED = $00000019;
|
|
ALERT_UNKNOWN_DEVICE_ALERT = $0000001A;
|
|
ALERT_UNKNOWN_ADAPTER_ALERT = $0000001B;
|
|
{ Function Control (Priority) Bits }
|
|
PRIORITY_1 = $0001;
|
|
PRIORITY_2 = $0002;
|
|
ACCELERATED_BIT = $0004;
|
|
ELEVATOR_OFF_BIT = $0008;
|
|
RETURN_RAW_COMPLETION = $0010;
|
|
SCRAMBLE_BIT = $0020;
|
|
{ Application Alert Codes }
|
|
GOING_TO_BE_DEACTIVATED = $0001;
|
|
OBJECT_BEING_DEACTIVATED = $0002;
|
|
OBJECT_SIZE_CHANGED = $0003;
|
|
OBJECT_BEING_ACTIVATED = $0004;
|
|
OBJECT_BEING_DELETED = $0005;
|
|
OBJECT_LOST_FAULT_TOLERANCE = $0006;
|
|
{ Initial Completion Codes }
|
|
MESSAGE_PROCESSED = $00;
|
|
MESSAGE_DATA_MISSING = $01;
|
|
MESSAGE_POSTPONE = $02;
|
|
MESSAGE_ABORTED = $03;
|
|
MESSAGE_INVALID_PARAMETERS = $04;
|
|
MESSAGE_OBJECT_NOT_ACTIVE = $05;
|
|
MESSAGE_INVALID_OJECT = $06;
|
|
MESSAGE_FUNCTION_NOT_SUPPORTED = $07;
|
|
MESSAGE_INVALID_MODE = $08;
|
|
MESSAGE_INTERNAL_ERROR = $09;
|
|
{ FinalCompletion Codes }
|
|
FUNCTION_OK = $00;
|
|
FUNCTION_CORRECTED_MEDIA_ERROR = $10;
|
|
FUNCTION_MEDIA_ERROR = $11;
|
|
FUNCTION_DEVICE_ERROR = $12;
|
|
FUNCTION_ADAPTER_ERROR = $13;
|
|
FUNCTION_NOT_SUPPORTED_BY_DEVICE = $14;
|
|
FUNCTION_NOT_SUPPORTED_BY_DRIVER = $15;
|
|
FUNCTION_PARAMETER_ERROR = $16;
|
|
FUNCTION_MEDIA_NOT_PRESENT = $17;
|
|
FUNCTION_MEDIA_CHANGED = $18;
|
|
FUNCTION_PREVIOUSLY_WRITTEN = $19;
|
|
FUNCTION_MEDIA_NOT_FORMATED = $1A;
|
|
FUNCTION_BLANK_MEDIA = $1B;
|
|
{end of partition }
|
|
FUNCTION_END_OF_MEDIA = $1C;
|
|
FUNCTION_FILE_MARK_DETECTED = $1D;
|
|
FUNCTION_SET_MARK_DETECTED = $1E;
|
|
FUNCTION_WRITE_PROTECTED = $1F;
|
|
FUNCTION_OK_EARLY_WARNING = $20;
|
|
FUNCTION_BEGINNING_OF_MEDIA = $21;
|
|
FUNCTION_MEDIA_NOT_FOUND = $22;
|
|
FUNCTION_MEDIA_NOT_REMOVED = $23;
|
|
FUNCTION_UNKNOWN_COMPLETION = $24;
|
|
FUNCTION_DATA_MISSING = $25;
|
|
FUNCTION_HOTFIX_ERROR = $26;
|
|
FUNCTION_HOTFIX_UPDATE_ERROR = $27;
|
|
FUNCTION_IO_ERROR = $28;
|
|
FUNCTION_CHANGER_SOURCE_EMPTY = $29;
|
|
FUNCTION_CHANGER_DEST_FULL = $2A;
|
|
FUNCTION_CHANGER_JAMMED = $2B;
|
|
FUNCTION_MAGAZINE_NOT_PRESENT = $2D;
|
|
FUNCTION_MAGAZINE_SOURCE_EMPTY = $2E;
|
|
FUNCTION_MAGAZINE_DEST_FULL = $2F;
|
|
FUNCTION_MAGAZINE_JAMMED = $30;
|
|
FUNCTION_ABORT_CAUSED_BY_PRIOR_ERROR = $31;
|
|
FUNCTION_CHANGER_ERROR = $32;
|
|
FUNCTION_MAGAZINE_ERROR = $33;
|
|
{ ErrorCodes }
|
|
MM_OK = $00;
|
|
MM_INVALID_OBJECT = $01;
|
|
MM_INVALID_APPLICATION = $02;
|
|
MM_INVALID_RESOURCETAG = $03;
|
|
MM_MEMORY_ALLOCATION_ERROR = $04;
|
|
MM_INVALID_MODE = $05;
|
|
MM_RESERVATION_CONFLICT = $06;
|
|
MM_PARAMETER_ERROR = $07;
|
|
MM_OBJECT_NOT_FOUND = $08;
|
|
MM_ATTRIBUTE_NOT_SETABLE = $09;
|
|
MM_FAILURE = $0A;
|
|
{ Console Human Jukebox Definitions }
|
|
HJ_INSERT_MESSAGE = 0;
|
|
HJ_EJECT_MESSAGE = 1;
|
|
HJ_ACK_MESSAGE = 2;
|
|
HJ_NACK_MESSAGE = 3;
|
|
HJ_ERROR = 4;
|
|
{ Media Manager Structures }
|
|
type
|
|
PMM_F1_Structure = ^TMM_F1_Structure;
|
|
TMM_F1_Structure = record
|
|
code : word;
|
|
control : word;
|
|
end;
|
|
|
|
PPrivateIOConfigurationStucture = ^TPrivateIOConfigurationStucture;
|
|
TPrivateIOConfigurationStucture = record
|
|
f1 : longint;
|
|
f2 : word;
|
|
f3 : word;
|
|
f4 : array[0..3] of word;
|
|
f5 : longint;
|
|
f6 : word;
|
|
f7 : longint;
|
|
f8 : word;
|
|
f9 : array[0..1] of byte;
|
|
f10 : array[0..1] of byte;
|
|
f11 : longint;
|
|
f12 : longint;
|
|
f13 : longint;
|
|
f14 : array[0..17] of byte;
|
|
f15 : array[0..1] of longint;
|
|
f16 : word;
|
|
f17 : array[0..5] of byte;
|
|
end;
|
|
|
|
PAdapterInfoDef = ^TAdapterInfoDef;
|
|
TAdapterInfoDef = record
|
|
systemtype : byte;
|
|
processornumber : byte;
|
|
uniquetag : word;
|
|
systemnumber : longint;
|
|
devices : array[0..31] of longint;
|
|
configinfo : TPrivateIOConfigurationStucture;
|
|
drivername : array[0..35] of byte;
|
|
systemname : array[0..63] of byte;
|
|
numberofdevices : longint;
|
|
reserved : array[0..6] of longint;
|
|
end;
|
|
|
|
PAttributeInfoDef = ^TAttributeInfoDef;
|
|
TAttributeInfoDef = record
|
|
name : array[0..63] of byte;
|
|
attributetype : longint;
|
|
nextattributeid : longint;
|
|
attributesize : longint;
|
|
end;
|
|
|
|
PChangerInfoDef = ^TChangerInfoDef;
|
|
TChangerInfoDef = record
|
|
numberofdevices : longint;
|
|
numberofslots : longint;
|
|
numberofmailslots : longint;
|
|
reserved : array[0..7] of longint;
|
|
slotmappingtable : array[0..0] of longint;
|
|
end;
|
|
|
|
PDeviceInfoDef = ^TDeviceInfoDef;
|
|
TDeviceInfoDef = record
|
|
status : longint;
|
|
controllernumber : byte;
|
|
drivenumber : byte;
|
|
cardnumber : byte;
|
|
systemtype : byte;
|
|
accessflags : byte;
|
|
_type : byte;
|
|
blocksize : byte;
|
|
sectorsize : byte;
|
|
heads : byte;
|
|
sectors : byte;
|
|
cylinders : word;
|
|
capacity : longint;
|
|
mmadapternumber : longint;
|
|
mmmedianumber : longint;
|
|
rawname : array[0..39] of byte;
|
|
reserved : array[0..7] of longint;
|
|
end;
|
|
|
|
PPrivateMediaInfoDef = ^TPrivateMediaInfoDef;
|
|
TPrivateMediaInfoDef = record
|
|
f1 : array[0..63] of byte;
|
|
f2 : longint;
|
|
f3 : longint;
|
|
end;
|
|
|
|
PGenericInfoDef = ^TGenericInfoDef;
|
|
TGenericInfoDef = record
|
|
mediainfo : TPrivateMediaInfoDef;
|
|
mediatype : longint;
|
|
cartridgetype : longint;
|
|
unitsize : longint;
|
|
blocksize : longint;
|
|
capacity : longint;
|
|
preferredunitsize : longint;
|
|
name : array[0..63] of byte;
|
|
_type : longint;
|
|
status : longint;
|
|
functionmask : longint;
|
|
controlmask : longint;
|
|
parentcount : longint;
|
|
siblingcount : longint;
|
|
childcount : longint;
|
|
specificinfosize : longint;
|
|
objectuniqueid : longint;
|
|
mediaslot : longint;
|
|
end;
|
|
|
|
PHotfixInfoDef = ^THotfixInfoDef;
|
|
THotfixInfoDef = record
|
|
hotfixoffset : longint;
|
|
hotfixidentifier : longint;
|
|
numberoftotalblocks : longint;
|
|
numberofusedblocks : longint;
|
|
numberofavailableblocks : longint;
|
|
numberofsystemblocks : longint;
|
|
reserved : array[0..7] of longint;
|
|
end;
|
|
|
|
PIdentifierInfoDef = ^TIdentifierInfoDef;
|
|
TIdentifierInfoDef = record
|
|
applicationtype : longint;
|
|
mediatype : longint;
|
|
cartridgetype : longint;
|
|
name : array[0..63] of byte;
|
|
stampflag : longint;
|
|
end;
|
|
|
|
PInsertRequestDef = ^TInsertRequestDef;
|
|
TInsertRequestDef = record
|
|
devicenumber : longint;
|
|
mailslot : longint;
|
|
medianumber : longint;
|
|
mediacount : longint;
|
|
end;
|
|
|
|
PMagazineInfoDef = ^TMagazineInfoDef;
|
|
TMagazineInfoDef = record
|
|
numberofslots : longint;
|
|
reserved : array[0..7] of longint;
|
|
slotmappingtable : array[0..0] of longint;
|
|
end;
|
|
|
|
PMappintInfoHeaderDef = ^TMappintInfoHeaderDef;
|
|
TMappintInfoHeaderDef = record
|
|
parentcount : longint;
|
|
siblingcount : longint;
|
|
childcount : longint;
|
|
end;
|
|
|
|
PMediaInfoDef = ^TMediaInfoDef;
|
|
TMediaInfoDef = record
|
|
_label : array[0..63] of byte;
|
|
identificationtype : longint;
|
|
identificationtimestamp : longint;
|
|
end;
|
|
|
|
PMediaRequestDef = ^TMediaRequestDef;
|
|
TMediaRequestDef = record
|
|
devicenumber : longint;
|
|
mailslot : longint;
|
|
medianumber : longint;
|
|
mediacount : longint;
|
|
end;
|
|
|
|
PMirrorInfoDef = ^TMirrorInfoDef;
|
|
TMirrorInfoDef = record
|
|
mirrorcount : longint;
|
|
mirroridentifier : longint;
|
|
mirrormembers : array[0..7] of longint;
|
|
mirrorsynchflags : array[0..7] of byte;
|
|
reserved : array[0..7] of longint;
|
|
end;
|
|
|
|
PPartitionInfoDef = ^TPartitionInfoDef;
|
|
TPartitionInfoDef = record
|
|
partitionertype : longint;
|
|
partitiontype : longint;
|
|
partitionoffset : longint;
|
|
partitionsize : longint;
|
|
reserved : array[0..7] of longint;
|
|
end;
|
|
|
|
{ these also correspond to offsets in struct ObjectDef }
|
|
PResourceTagDef = ^TResourceTagDef;
|
|
TResourceTagDef = record
|
|
reserved : array[0..1] of longint;
|
|
resourcetagtype : longint;
|
|
resourcetagcount : longint;
|
|
resourcenext : PResourceTagDef;
|
|
resourcelast : PResourceTagDef;
|
|
end;
|
|
|
|
{$include npackoff.inc}
|
|
|
|
function HJ_Media_Request_Ack(minfo:PInsertRequestDef; ackcode:longint; uniqueid:longint):longint;cdecl;external 'clib' name 'HJ_Media_Request_Ack';
|
|
function MM_Abort_Function(messagehandle:longint):longint;cdecl;external 'clib' name 'MM_Abort_Function';
|
|
function MM_Check_For_Pending_Aborts(OSRequestHandle:longint):longint;cdecl;external 'clib' name 'MM_Check_For_Pending_Aborts';
|
|
function MM_Create_Media_Object(objectnumber:longint; mediainfo:PMediaInfoDef):longint;cdecl;external 'clib' name 'MM_Create_Media_Object';
|
|
procedure MM_ExecuteMessages;cdecl;external 'clib' name 'MM_ExecuteMessages';
|
|
function MM_Find_Identifier(lastidentifiernumber:Plongint):longint;cdecl;external 'clib' name 'MM_Find_Identifier';
|
|
function MM_Find_Identifier(var lastidentifiernumber:longint):longint;cdecl;external 'clib' name 'MM_Find_Identifier';
|
|
function MM_Find_Object_Type(typ:longint; nextindicator:Plongint):longint;cdecl;external 'clib' name 'MM_Find_Object_Type';
|
|
function MM_Find_Object_Type(typ:longint; var nextindicator:longint):longint;cdecl;external 'clib' name 'MM_Find_Object_Type';
|
|
function MM_Object_Blocking_IO (returnparameter:Plongint;
|
|
objecthandle:longint;
|
|
_function:TMM_F1_Structure;
|
|
parameter0:longint;
|
|
parameter1:longint;
|
|
parameter2:longint;
|
|
bufferlength:longint;
|
|
buffer:pointer):longint;cdecl;external 'clib' name 'MM_Object_Blocking_IO';
|
|
function MM_Object_Blocking_IO (var returnparameter:longint;
|
|
objecthandle:longint;
|
|
_function:TMM_F1_Structure;
|
|
parameter0:longint;
|
|
parameter1:longint;
|
|
parameter2:longint;
|
|
bufferlength:longint;
|
|
var buffer):longint;cdecl;external 'clib' name 'MM_Object_Blocking_IO';
|
|
// This call is not handled by the server libraries
|
|
//function MM_Object_IO(messagehandle:Plongint; applicationrequesthandle:longint; objecthandle:longint; _function:TMM_F1_Structure; parameter0:longint;
|
|
// parameter1:longint; parameter2:longint; bufferlength:longint; buffer:pointer; callbackroutine:procedure ):longint;cdecl;external 'clib' name 'MM_Object_IO';
|
|
|
|
type TLongintCDeclFunc = function :longint; cdecl;
|
|
TCdeclProc = procedure; cdecl;
|
|
|
|
function MM_Register_Application (applicationhandle:Plongint;
|
|
applicationid:longint;
|
|
name:PChar;
|
|
reserved:longint;
|
|
mediaconsoleroutine:TLongintCDeclFunc;
|
|
resourcetag:PResourceTagDef):longint;cdecl;external 'clib' name 'MM_Register_Application';
|
|
|
|
function MM_Register_Identification_Routines (oshandle:Plongint;
|
|
applicationhandle:longint;
|
|
identifyroutine:TLongintCDeclFunc;
|
|
unstamproutine:TLongintCDeclFunc;
|
|
stamproutine:TLongintCDeclFunc;
|
|
identifiertype:longint;
|
|
identifiername:PBYTE;
|
|
resourcetag:PResourceTagDef):longint;cdecl;external 'clib' name 'MM_Register_Identification_Routines';
|
|
function MM_Register_Notify_Routine (oshandle:Plongint;
|
|
applicationhandle:longint;
|
|
notifyroutine:TCdeclProc;
|
|
objectclass:longint;
|
|
eventmask:longint;
|
|
resourcetag:PResourceTagDef):longint;cdecl;external 'clib' name 'MM_Register_Notify_Routine';
|
|
// This call is not handled by the server libraries
|
|
//function MM_Release_Object(objecthandle:longint; applicationhandle:longint):longint;cdecl;external 'clib' name 'MM_Release_Object';
|
|
|
|
function MM_Release_Unload_Semaphore(currentinstance:longint):longint;cdecl;external 'clib' name 'MM_Release_Unload_Semaphore';
|
|
function MM_Rename_Object(objectID:longint; para2:PBYTE):longint;cdecl;external 'clib' name 'MM_Rename_Object';
|
|
// This call is not handled by the server libraries
|
|
//function MM_Reserve_Object(objecthandle:Plongint; applicationidentifier:longint; objectid:longint; iomode:longint; applicationhandle:longint;
|
|
// notifyroutine:function :longint):longint;cdecl;external 'clib' name 'MM_Reserve_Object';
|
|
|
|
function MM_Return_Identifier_Info(identifiernumber:longint; info:PIdentifierInfoDef):longint;cdecl;external 'clib' name 'MM_Return_Identifier_Info';
|
|
function MM_Return_Object_Attribute(objectid:longint; attributeid:longint; length:longint; info:pointer):longint;cdecl;external 'clib' name 'MM_Return_Object_Attribute';
|
|
function MM_Return_Object_Generic_Info(objectid:longint; info:PGenericInfoDef):longint;cdecl;external 'clib' name 'MM_Return_Object_Generic_Info';
|
|
function MM_Return_Object_Mapping_Info(objectid:longint; mappinginfolength:longint; mappinginfo:Plongint):longint;cdecl;external 'clib' name 'MM_Return_Object_Mapping_Info';
|
|
function MM_Return_Object_Specific_Info(objectid:longint; infolength:longint; info:pointer):longint;cdecl;external 'clib' name 'MM_Return_Object_Specific_Info';
|
|
function MM_Return_Object_Table_Size:longint;cdecl;external 'clib' name 'MM_Return_Object_Table_Size';
|
|
function MM_Return_Objects_Attributes(objectid:longint; attributeid:longint; info:PAttributeInfoDef):longint;cdecl;external 'clib' name 'MM_Return_Objects_Attributes';
|
|
function MM_Set_Object_Attribute(objecthandle:longint; attributeid:longint; length:longint; info:pointer):longint;cdecl;external 'clib' name 'MM_Set_Object_Attribute';
|
|
function MM_Set_Unload_Semaphore(currentinstance:Plongint):longint;cdecl;external 'clib' name 'MM_Set_Unload_Semaphore';
|
|
function MM_Special_Object_Blocking_IO(returnparameter:Plongint; objectnumber:longint; _function:TMM_F1_Structure; parameter0:longint; parameter1:longint;
|
|
parameter2:longint; bufferlength:longint; buffer:pointer):longint;cdecl;external 'clib' name 'MM_Special_Object_Blocking_IO';
|
|
function MM_Unregister_Application(applicationhandle,applicationid:longint):longint;cdecl;external 'clib' name 'MM_Unregister_Application';
|
|
function MM_Unregister_Identification_Routines(handle,applicationtype:longint):longint;cdecl;external 'clib' name 'MM_Unregister_Identification_Routines';
|
|
function MM_Unregister_Notify_Routine(oshandle, applicationhandle:longint):longint;cdecl;external 'clib' name 'MM_Unregister_Notify_Routine';
|
|
{-ioctl.h----------------------------------------------------------------------}
|
|
const
|
|
I_NWRITE = 101;
|
|
I_SETBUF = 102;
|
|
|
|
function ioctl(fd:longint; command:longint; args:array of const):longint;cdecl;external 'clib' name 'ioctl';
|
|
function ioctl(fd:longint; command:longint):longint;cdecl;external 'clib' name 'ioctl';
|
|
{-sys/socket.h-----------------------------------------------------------------}
|
|
{$PACKRECORDS C}
|
|
|
|
type
|
|
Piovec = ^Tiovec;
|
|
Tiovec = record
|
|
iov_base : Pchar;
|
|
iov_len : longint;
|
|
end;
|
|
|
|
{ Berkeley Sockets definitions and types }
|
|
|
|
const
|
|
FD_SETSIZE = 16;
|
|
type
|
|
|
|
Pfd_array = ^Tfd_array;
|
|
Tfd_array = longint;
|
|
|
|
Pfd_set = ^Tfd_set;
|
|
Tfd_set = record
|
|
fds : Tfd_array;
|
|
end;
|
|
|
|
Ptimeval = ^Ttimeval;
|
|
Ttimeval = record
|
|
tv_sec : longint;
|
|
tv_usec : longint;
|
|
end;
|
|
|
|
{ definitions related to sockets: types, address families, options }
|
|
{ types }
|
|
{ just NW OFSD, no socket }
|
|
|
|
const
|
|
SOCK_NULL = 0;
|
|
{ stream socket }
|
|
SOCK_STREAM = 1;
|
|
{ datagram socket }
|
|
SOCK_DGRAM = 2;
|
|
{ raw-protocol interface }
|
|
SOCK_RAW = 3;
|
|
{ reliably-delivered message }
|
|
SOCK_RDM = 4;
|
|
{ sequenced packet stream }
|
|
SOCK_SEQPACKET = 5;
|
|
{ option flags per-socket }
|
|
{ turn on debugging info recording }
|
|
SO_DEBUG = $0001;
|
|
{ socket has had listen() }
|
|
SO_ACCEPTCONN = $0002;
|
|
{ allow local address reuse }
|
|
SO_REUSEADDR = $0004;
|
|
{ keep connections alive }
|
|
SO_KEEPALIVE = $0008;
|
|
{ just use interface addresses }
|
|
SO_DONTROUTE = $0010;
|
|
{ permit sending of broadcast msgs }
|
|
SO_BROADCAST = $0020;
|
|
{ bypass hardware when possible }
|
|
SO_USELOOPBACK = $0040;
|
|
{ linger on close if data present }
|
|
SO_LINGER = $0080;
|
|
{ leave received OOB data in line }
|
|
SO_OOBINLINE = $0100;
|
|
{
|
|
N.B.: The following definition is present only for compatibility with
|
|
release 3.0. It will disappear in later releases.
|
|
}
|
|
{ ~SO_LINGER }
|
|
SO_DONTLINGER = not (SO_LINGER);
|
|
{ additional options, not kept in so_options }
|
|
{ send buffer size }
|
|
SO_SNDBUF = $1001;
|
|
{ receive buffer size }
|
|
SO_RCVBUF = $1002;
|
|
{ send low-water mark }
|
|
SO_SNDLOWAT = $1003;
|
|
{ receive low-water mark }
|
|
SO_RCVLOWAT = $1004;
|
|
{ send timeout }
|
|
SO_SNDTIMEO = $1005;
|
|
{ receive timeout }
|
|
SO_RCVTIMEO = $1006;
|
|
{ get error status and clear }
|
|
SO_ERROR = $1007;
|
|
{ get socket type }
|
|
SO_TYPE = $1008;
|
|
{ additional option to be used with level IPPROTO_TCP }
|
|
{ turn off the Nagle delay algorithm }
|
|
TCP_NODELAY = 1;
|
|
|
|
SIOCATMARK = 8; // at oob mark?
|
|
SIOCDGRAMSIZE = 500;
|
|
IP_INBOUND_IF = 501;
|
|
IP_OUTBOUND_IF = 502;
|
|
|
|
|
|
{ structure used for manipulating linger option }
|
|
{ option on/off }
|
|
{ linger time }
|
|
|
|
type
|
|
Plinger = ^Tlinger;
|
|
Tlinger = record
|
|
l_onoff : longint;
|
|
l_linger : longint;
|
|
end;
|
|
|
|
{ level number for get/setsockopt() to apply to socket itself }
|
|
{ options for socket level }
|
|
|
|
const
|
|
SOL_SOCKET = $ffff;
|
|
{ address families }
|
|
{ unspecified }
|
|
AF_UNSPEC = 0;
|
|
{ local to host (pipes, portals) }
|
|
AF_UNIX = 1;
|
|
{ internetwork: UDP, TCP, etc. }
|
|
AF_INET = 2;
|
|
{ Xerox NS protocols }
|
|
AF_NS = 6;
|
|
{ AppleTalk }
|
|
AF_APPLETALK = 16;
|
|
{ umbrella for all (e.g. protosw lookup) }
|
|
AF_OSI = 19;
|
|
{ U.S. Government OSI }
|
|
AF_GOSIP = 22;
|
|
AF_MAX = 21;
|
|
{ structure used by kernel to store most addresses }
|
|
{ address family }
|
|
{ up to 14 bytes of direct address }
|
|
type
|
|
Psockaddr = ^Tsockaddr;
|
|
Tsockaddr = record
|
|
sa_family : word;
|
|
sa_data : array[0..13] of char;
|
|
end;
|
|
|
|
{ structure used by kernel to pass protocol information in raw sockets }
|
|
{ address family }
|
|
{ protocol }
|
|
Psockproto = ^Tsockproto;
|
|
Tsockproto = record
|
|
sp_family : word;
|
|
sp_protocol : word;
|
|
end;
|
|
|
|
{ protocol families, same as address families for now }
|
|
|
|
const
|
|
PF_UNSPEC = AF_UNSPEC;
|
|
PF_UNIX = AF_UNIX;
|
|
PF_INET = AF_INET;
|
|
PF_NS = AF_NS;
|
|
PF_APPLETALK = AF_APPLETALK;
|
|
PF_OSI = AF_OSI;
|
|
PF_GOSIP = AF_GOSIP;
|
|
PF_MAX = AF_MAX;
|
|
{ test protocol "numbered pipe" }
|
|
TSTPROTO_NPIPE = 0;
|
|
{ maximum queue length specifiable by listen }
|
|
SOMAXCONN = 5;
|
|
{
|
|
Message header for recvmsg and sendmsg calls.
|
|
}
|
|
{ optional address }
|
|
{ size of address }
|
|
{ scatter/gather array }
|
|
{ number of elements in msg_iov }
|
|
{ access rights sent/received }
|
|
type
|
|
Pmsghdr = ^Tmsghdr;
|
|
Tmsghdr = record
|
|
msg_name : Pchar;
|
|
msg_namelen : longint;
|
|
msg_iov : Piovec;
|
|
msg_iovlen : longint;
|
|
msg_accrights : Pchar;
|
|
msg_accrightslen : longint;
|
|
end;
|
|
|
|
{ process out-of-band data }
|
|
|
|
const
|
|
MSG_OOB = $1;
|
|
{ peek at incoming message }
|
|
MSG_PEEK = $2;
|
|
{ send without using routing tables }
|
|
MSG_DONTROUTE = $4;
|
|
MSG_MAXIOVLEN = 16;
|
|
{ for NLM clients }
|
|
type TSKT = longint;
|
|
|
|
function accept(s:TSKT; addr:Psockaddr; addrlen:Plongint):longint;cdecl;external 'clib' name 'accept';
|
|
function accept(s:TSKT; var addr:Tsockaddr; var addrlen:longint):longint;cdecl;external 'clib' name 'accept';
|
|
function bind(s:TSKT; name:Psockaddr; namelen:longint):longint;cdecl;external 'clib' name 'bind';
|
|
function connect(s:TSKT; name:Psockaddr; namelen:longint):longint;cdecl;external 'clib' name 'connect';
|
|
function getpeername(s:TSKT; name:Psockaddr; namelen:Plongint):longint;cdecl;external 'clib' name 'getpeername';
|
|
function getsockname(s:TSKT; name:Psockaddr; namelen:Plongint):longint;cdecl;external 'clib' name 'getsockname';
|
|
function getsockopt(s:TSKT; level:longint; name:longint; val:Pchar; len:Plongint):longint;cdecl;external 'clib' name 'getsockopt';
|
|
function getsockopt(s:TSKT; level:longint; name:longint; val:Pchar; var len:longint):longint;cdecl;external 'clib' name 'getsockopt';
|
|
|
|
function listen(s:TSKT; backlog:longint):longint;cdecl;external 'clib' name 'listen';
|
|
function readv(s:TSKT; iov:Piovec; iovcnt:longint):longint;cdecl;external 'clib' name 'readv';
|
|
function recv(s:TSKT; msg:Pchar; len:longint; flags:longint):longint;cdecl;external 'clib' name 'recv';
|
|
function recv(s:TSKT; var data; len:longint; flags:longint):longint;cdecl;external 'clib' name 'recv';
|
|
|
|
function recvfrom(s:TSKT; msg:Pchar; len:longint; flags:longint; from:Psockaddr;
|
|
fromlen:Plongint):longint;cdecl;external 'clib' name 'recvfrom';
|
|
function recvfrom(s:TSKT; var data; len:longint; flags:longint; from:Psockaddr;
|
|
var fromlen:longint):longint;cdecl;external 'clib' name 'recvfrom';
|
|
|
|
function recvmsg(s:TSKT; msg:Pmsghdr; flags:longint):longint;cdecl;external 'clib' name 'recvmsg';
|
|
function send(s:TSKT; msg:Pchar; len:longint; flags:longint):longint;cdecl;external 'clib' name 'send';
|
|
function send(s:TSKT; var data; len:longint; flags:longint):longint;cdecl;external 'clib' name 'send';
|
|
function sendto(s:TSKT; msg:Pchar; len:longint; flags:longint; _to:Psockaddr;
|
|
tolen:longint):longint;cdecl;external 'clib' name 'sendto';
|
|
function sendto(s:TSKT; var data; len:longint; flags:longint; _to:Psockaddr;
|
|
tolen:longint):longint;cdecl;external 'clib' name 'sendto';
|
|
|
|
function sendmsg(s:TSKT; msg:Pmsghdr; flags:longint):longint;cdecl;external 'clib' name 'sendmsg';
|
|
function setsockopt(s:TSKT; level:longint; name:longint; val:Pchar; len:longint):longint;cdecl;external 'clib' name 'setsockopt';
|
|
function setsockopt(s:TSKT; level:longint; name:longint; var value; len:longint):longint;cdecl;external 'clib' name 'setsockopt';
|
|
function shutdown(s:TSKT; how:longint):longint;cdecl;external 'clib' name 'shutdown';
|
|
function socket(domain:longint; _type:longint; protocol:longint):longint;cdecl;external 'clib' name 'socket';
|
|
function writev(s:TSKT; iov:Piovec; iovcnt:longint):longint;cdecl;external 'clib' name 'writev';
|
|
function select(width:longint; readfds:Pfd_set; writefds:Pfd_set; exceptfds:Pfd_set; timeout:Ptimeval):longint;cdecl;external 'clib' name 'select';
|
|
|
|
{-sys/time.h-------------------------------------------------------------------}
|
|
{$PACKRECORDS C}
|
|
|
|
{ commonly-used definitions... }
|
|
|
|
const
|
|
SEC = 1;
|
|
MILLISEC = 1000;
|
|
MICROSEC = 1000000;
|
|
NANOSEC = 1000000000;
|
|
{ wall clock, bound to LWP }
|
|
__CLOCK_REALTIME0 = 0;
|
|
{ user CPU usage clock }
|
|
CLOCK_VIRTUAL = 1;
|
|
{ user and system CPU usage clock }
|
|
CLOCK_PROF = 2;
|
|
{ wall clock, not bound }
|
|
__CLOCK_REALTIME3 = 3;
|
|
CLOCK_REALTIME = __CLOCK_REALTIME3;
|
|
{ set timer relative }
|
|
TIMER_RELTIME = $0;
|
|
{ set timer absolute }
|
|
TIMER_ABSTIME = $1;
|
|
{ time expressed in seconds and nanoseconds }
|
|
{ seconds }
|
|
{ and nanoseconds }
|
|
type
|
|
|
|
Ptimespec = ^Ttimespec;
|
|
Ttimespec = record
|
|
tv_sec : Ttime_t;
|
|
tv_nsec : longint;
|
|
end;
|
|
Ttimespec_t = Ttimespec;
|
|
Ptimespec_t = ^Ttimespec_t;
|
|
Ttimestrc_t = Ttimespec;
|
|
Ptimestrc_t = ^Ttimestrc_t;
|
|
|
|
{-sys/utsname.h----------------------------------------------------------------}
|
|
const
|
|
_SYS_NMLN = 260;
|
|
|
|
type
|
|
Putsname = ^Tutsname;
|
|
Tutsname = record
|
|
sysname : array[0..(_SYS_NMLN)-1] of char; // name of operating system implementation
|
|
release : array[0..(_SYS_NMLN)-1] of char;
|
|
version : array[0..(_SYS_NMLN)-1] of char;
|
|
nodename : array[0..(_SYS_NMLN)-1] of char;
|
|
machine : array[0..(_SYS_NMLN)-1] of char;
|
|
_library : array[0..(_SYS_NMLN)-1] of char;
|
|
end;
|
|
|
|
function uname(name:Putsname):longint;cdecl;external 'clib' name 'uname';
|
|
function uname(var name:Tutsname):longint;cdecl;external 'clib' name 'uname';
|
|
|
|
{-sys/stat.h-------------------------------------------------------------------}
|
|
{$PACKRECORDS C}
|
|
|
|
{ POSIX file types }
|
|
{ type of file (mask for following) }
|
|
|
|
const
|
|
S_IFMT = 0170000;
|
|
{ first-in/first-out (pipe) }
|
|
S_IFIFO = 0010000;
|
|
{ character-special file }
|
|
S_IFCHR = 0020000;
|
|
{ directory }
|
|
S_IFDIR = 0040000;
|
|
{ blocking device (not used on NetWare) }
|
|
S_IFBLK = 0060000;
|
|
{ regular }
|
|
S_IFREG = 0100000;
|
|
{ symbolic link (not used on NetWare) }
|
|
S_IFLNK = 0120000;
|
|
{ Berkeley socket }
|
|
S_IFSOCK = 0140000;
|
|
|
|
{ POSIX file modes: owner (user) permission }
|
|
|
|
const
|
|
S_IRWXU = 0000700;
|
|
S_IRUSR = 0000400;
|
|
S_IWUSR = 0000200;
|
|
S_IXUSR = 0000100;
|
|
S_IREAD = S_IRUSR;
|
|
S_IWRITE = S_IWUSR;
|
|
S_IEXEC = S_IXUSR;
|
|
{ POSIX file modes: group permission }
|
|
S_IRWXG = 0000070;
|
|
S_IRGRP = 0000040;
|
|
S_IWGRP = 0000020;
|
|
S_IXGRP = 0000010;
|
|
{ POSIX file modes: other permission }
|
|
S_IRWXO = 0000007;
|
|
S_IROTH = 0000004;
|
|
S_IWOTH = 0000002;
|
|
S_IXOTH = 0000001;
|
|
{ Novell-defined additional directory modes for mkdir() }
|
|
{ system directory }
|
|
S_DSYSTEM = $00100000;
|
|
{ hidden directory }
|
|
S_DHIDE = $00200000;
|
|
{ delete-inhibit }
|
|
S_DDEL_INH = $00400000;
|
|
{ rename-inhibit }
|
|
S_DREN_INH = $00800000;
|
|
{ purge-immediate }
|
|
S_DPURGE_IMM = $01000000;
|
|
{ compress-immediate }
|
|
S_DCOMP_IMM = $02000000;
|
|
{ no compression }
|
|
S_DCOMP_NO = $04000000;
|
|
{ equivalent to mode = 0 }
|
|
S_DALL = $01FB;
|
|
{ POSIX setuid, setgid, and sticky }
|
|
S_ISUID = 0004000;
|
|
S_ISGID = 0002000;
|
|
S_ISVTX = 0001000;
|
|
|
|
type
|
|
Pstat = ^Tstat;
|
|
Tstat = record
|
|
st_dev : Tdev_t;
|
|
st_ino : Tino_t;
|
|
st_mode : word;
|
|
st_pad1 : word;
|
|
st_nlink : dword;
|
|
st_uid : dword;
|
|
st_gid : dword;
|
|
st_rdev : Tdev_t;
|
|
st_size : Toff_t;
|
|
st_atime : Ttime_t;
|
|
st_mtime : Ttime_t;
|
|
st_ctime : Ttime_t;
|
|
st_btime : Ttime_t;
|
|
st_attr : dword;
|
|
st_archivedID : dword;
|
|
st_updatedID : dword;
|
|
st_inheritedRightsMask : word;
|
|
st_pad2 : word;
|
|
st_originatingNameSpace : dword;
|
|
st_blksize : Tsize_t;
|
|
st_blocks : Tsize_t;
|
|
st_flags : dword;
|
|
st_spare : array[0..3] of dword;
|
|
st_name : array[0..(255 + 1)-1] of byte;
|
|
end;
|
|
|
|
{ definitions of older structure technology are mostly for reference }
|
|
{ v4.11 }
|
|
{----------------- new fields starting in v4.11 ------------------------- }
|
|
Pstat411 = ^Tstat411;
|
|
Tstat411 = record
|
|
st_dev : Tdev_t;
|
|
st_ino : Tino_t;
|
|
st_mode : word;
|
|
st_nlink : smallint;
|
|
st_uid : dword;
|
|
st_gid : smallint;
|
|
st_rdev : Tdev_t;
|
|
st_size : Toff_t;
|
|
st_atime : Ttime_t;
|
|
st_mtime : Ttime_t;
|
|
st_ctime : Ttime_t;
|
|
st_btime : Ttime_t;
|
|
st_attr : dword;
|
|
st_archivedID : dword;
|
|
st_updatedID : dword;
|
|
st_inheritedRightsMask : word;
|
|
st_originatingNameSpace : byte;
|
|
st_name : array[0..(255 + 1)-1] of byte;
|
|
st_blksize : Tsize_t;
|
|
st_blocks : Tsize_t;
|
|
st_flags : dword;
|
|
st_spare : array[0..3] of dword;
|
|
end;
|
|
|
|
{ v3.12, v4.0, v4.01, v4.02 and v4.10 }
|
|
Pstat410 = ^Tstat410;
|
|
Tstat410 = record
|
|
st_dev : Tdev_t;
|
|
st_ino : Tino_t;
|
|
st_mode : word;
|
|
st_nlink : smallint;
|
|
st_uid : dword;
|
|
st_gid : smallint;
|
|
st_rdev : Tdev_t;
|
|
st_size : Toff_t;
|
|
st_atime : Ttime_t;
|
|
st_mtime : Ttime_t;
|
|
st_ctime : Ttime_t;
|
|
st_btime : Ttime_t;
|
|
st_attr : dword;
|
|
st_archivedID : dword;
|
|
st_updatedID : dword;
|
|
st_inheritedRightsMask : word;
|
|
st_originatingNameSpace : byte;
|
|
st_name : array[0..12] of byte;
|
|
end;
|
|
|
|
function chmod(path:Pchar; mode:Tmode_t):longint;cdecl;external 'clib' name 'chmod';
|
|
function mkdir(path:Pchar):longint;cdecl;external 'clib' name 'mkdir';
|
|
function mkdir_510(pathname:Pchar; mode:Tmode_t):longint;cdecl;external 'clib' name 'mkdir_510';
|
|
function umask(cmask:Tmode_t):Tmode_t;cdecl;external 'clib' name 'umask';
|
|
function fstat_410(fildes:longint; buf:Pstat410):longint;cdecl;external 'clib' name 'fstat_410';
|
|
function fstat_410(fildes:longint; var buf:Tstat410):longint;cdecl;external 'clib' name 'fstat_410';
|
|
function fstat_411(fildes:longint; buf:Pstat411):longint;cdecl;external 'clib' name 'fstat_411';
|
|
function fstat_411(fildes:longint; var buf:Tstat411):longint;cdecl;external 'clib' name 'fstat_411';
|
|
function fstat_500(fildes:longint; buf:Pstat):longint;cdecl;external 'clib' name 'fstat_500';
|
|
function fstat_500(fildes:longint; var buf:Tstat):longint;cdecl;external 'clib' name 'fstat_500';
|
|
function fstat (fildes:longint; buf:Pstat):longint;cdecl;external 'clib' name 'fstat_500';
|
|
function fstat (fildes:longint; var buf:Tstat):longint;cdecl;external 'clib' name 'fstat_500';
|
|
|
|
function stat_410(path:Pchar; buf:Pstat410):longint;cdecl;external 'clib' name 'stat_410';
|
|
function stat_410(path:Pchar; var buf:Tstat410):longint;cdecl;external 'clib' name 'stat_410';
|
|
function stat_411(path:Pchar; buf:Pstat411):longint;cdecl;external 'clib' name 'stat_411';
|
|
function stat_411(path:Pchar; var buf:Tstat411):longint;cdecl;external 'clib' name 'stat_411';
|
|
function stat_500(path:Pchar; buf:Pstat):longint;cdecl;external 'clib' name 'stat_500';
|
|
function stat_500(path:Pchar; var buf:Tstat):longint;cdecl;external 'clib' name 'stat_500';
|
|
function stat (path:Pchar; buf:Pstat):longint;cdecl;external 'clib' name 'stat_500';
|
|
function stat (path:Pchar; var buf:Tstat):longint;cdecl;external 'clib' name 'stat_500';
|
|
{------------------------------------------------------------------------------}
|
|
{definitions for netwareAlert, not documented, found that on the novell developer newsgroup}
|
|
const
|
|
// ModuleNumbers for 'nwAlertID' in TNetWareAlertStructure
|
|
ALERT_BINDERY = $01020000; // Bindery Subject
|
|
ALERT_OS = $01030000; // OS Event Subject
|
|
ALERT_LLC = $01040000; // LLC
|
|
ALERT_SDLC = $01050000; // SDLC Stack
|
|
ALERT_REMOTE = $01060000; // RConsole
|
|
ALERT_MLID = $01070000; // MLID LAN Drivers
|
|
ALERT_QLLC = $01080000; // QLLC
|
|
ALERT_UPS = $01090000; // UPS Monitor
|
|
ALERT_DS = $010a0000; // Directory Service
|
|
ALERT_RSPX = $010c0000; // RSPX
|
|
ALERT_R232 = $010d0000; // R232
|
|
ALERT_TIME_SYNC = $010e0000; // TimeSync
|
|
ALERT_CLIB = $010f0000; // CLib
|
|
ALERT_PRINT = $01100000; // Print
|
|
ALERT_NRS = $01200000; // Novell Replication Services
|
|
ALERT_DNS = $01300000; // IP/Domain Name Services
|
|
ALERT_DHCP = $01400000; // DHCP Services
|
|
ALERT_MM = $01500000; // Media Manager
|
|
|
|
// OS-defined AlertNumber values for nwAlertID in TNetWareAlertStructure
|
|
// starting with NetWare 4...
|
|
nmAllocFailed = 1;
|
|
nmErrWrtExtDir = 2;
|
|
nmSysErrWrtDSnoFN = 3;
|
|
nmStaErrWrtDSnoFN = 4;
|
|
nmSysErrWrtDSwithFN = 5;
|
|
nmStaErrWrtDSwithFN = 6;
|
|
nmSysErrRdDSnoFN = 7;
|
|
nmStaErrRdDSnoFN = 8;
|
|
nmSysErrRdDSwithFN = 9;
|
|
nmStaErrRdDSwithFN = 10;
|
|
nmSysWrtPreRDnoFN = 11;
|
|
nmStaWrtPreRDnoFN = 12;
|
|
nmSysWrtPreRDwithFN = 13;
|
|
nmStaWrtPreRDwithFN = 14;
|
|
nmCacheMemLimitExceded = 15;
|
|
nmCacheMemOutOfMem = 16;
|
|
nmCacheBufsGetLo = 17;
|
|
nmDskSpcNoDelFiles = 18;
|
|
nmDskSpcNoLimbo = 19;
|
|
nmVolSpcAlmostGone = 20;
|
|
nmFATWrtErr = 21;
|
|
nmDirWrtErr = 22;
|
|
nmDirCopyRdErr = 23;
|
|
nmDirDblRdErr = 24;
|
|
nmAllocDirWrtErr = 25;
|
|
nmDirExpansionErr = 26;
|
|
nmDirTooLarge = 27;
|
|
nmErrExpandingDir = 28;
|
|
nmErrExpandingMem = 29;
|
|
nmErrDirGetTooLarge = 30;
|
|
nmDskBottleneck = 31;
|
|
nmWDClearedConn = 32;
|
|
nmCpyrtViolation = 33;
|
|
nmReadFault = 35;
|
|
nmPktTooSmall = 36;
|
|
nmCreatingVolLog = 37;
|
|
nmWrtVolLog = 38;
|
|
nmVolDmtDevDeact = 39;
|
|
nmLoginDisabled = 40;
|
|
nmLoginEnabled = 41;
|
|
nmClrSta = 42;
|
|
nmClrStaByUsr = 43;
|
|
nmFSDownByUser = 44;
|
|
nmRIPAlreadyOpn = 45;
|
|
nmRouterConfigErr = 46;
|
|
nmLANLoopbackErr = 47;
|
|
nmRouterConfigErrNoInfo = 48;
|
|
nmIPXUnreachable = 49;
|
|
nmIPXUnbind = 50;
|
|
nmSAPAlreadyOpn = 51;
|
|
nmRouterConfigErrNameInfo = 52;
|
|
nmSpuriousInt = 53;
|
|
nmChecksumInvalidAlert = 54;
|
|
nmPrimaryPicLostInt = 55;
|
|
nmSecondaryPicLostInt = 56;
|
|
nmCompErrHoleCountMismatch = 57;
|
|
nmInvalidScreen = 58;
|
|
nmRelinquishControl = 59;
|
|
nmFSUserDeleted = 60;
|
|
nmAccDelByUser = 61;
|
|
nmInvalidRTag = 62;
|
|
nmDeactUnknown = 63;
|
|
nmDeactDriveUnld = 64;
|
|
nmDeactDevFailure = 65;
|
|
nmDeactUsrRequest = 66;
|
|
nmDeactMediaDismount = 67;
|
|
nmDeactMediaEject = 68;
|
|
nmDeactServerDown = 69;
|
|
nmDeactServerFailure = 70;
|
|
nmResourceRelErr = 71;
|
|
nmMirrorsNotSync = 72;
|
|
nmMirrorsSyncUp = 73;
|
|
nmPartMirrorSync = 74;
|
|
nmPartMirrorNotSync = 75;
|
|
nmReMirroringPart = 76;
|
|
nmReMirroringPartAborted = 77;
|
|
nmLogPartMirrorInconsist = 78;
|
|
nmSysFileLockThresh = 79;
|
|
nmStaFileLockThresh = 80;
|
|
nmSysRecLockThresh = 81;
|
|
nmStaRecLockThresh = 82;
|
|
nmOpnNETACCTFailed = 83;
|
|
nmNCPSearchLimitSys = 84;
|
|
nmNCPSearchLimitSta = 85;
|
|
nmInsMediaAck = 86;
|
|
nmInsMediaAborted = 87;
|
|
nmRemMediaAck = 88;
|
|
nmRemMediaAbort = 89;
|
|
nmInsMediaInto = 90;
|
|
nmRemMediaFrom = 91;
|
|
nmReDirectedBlockPart = 92;
|
|
nmReDirectedBlockPartErr = 93;
|
|
nmOutOfHotFixBlocks = 94;
|
|
nmLowWarningHotFixBlocks = 95;
|
|
nmReDirectInconsistNoFix = 96;
|
|
nmReDirectInconsistFixed = 97;
|
|
nmInvalidRTagHOptions = 98;
|
|
nmCheckAndAddHWNoGetRTag = 99;
|
|
nmRemHWBadPtr = 100;
|
|
nmErrUnldNLM = 101;
|
|
nmIvldRTagCrProc = 102;
|
|
nmCrProcStkTooSmall = 103;
|
|
nmCrProcNoPCB = 104;
|
|
nmDelToLimboFileErr = 105;
|
|
nmDelToLimboNoSpace = 106;
|
|
nmMLIDResetLanBd = 107;
|
|
nmRouterReset = 108;
|
|
nmVolWrongDOSType = 109;
|
|
nmNoOwnerNSfound = 110;
|
|
nmRTDMDefSMchanged = 111;
|
|
nmErrOpnTTSLOG = 112;
|
|
nmErrWrtTTSLOG = 113;
|
|
nmTTSdownVolDismount = 114;
|
|
nmTTSdisableByStaUsr = 115;
|
|
nmTTSdisByOp = 116;
|
|
nmTTSdisErrRdBackFile = 117;
|
|
nmTTSdisErrWrBackFile = 118;
|
|
nmTTSdisTooManyDefVol = 119;
|
|
nmTTSdisWrtVolDefInfo = 120;
|
|
nmTTSdisErrRdBkFlRecGen = 121;
|
|
nmTTSdisGrowMemTables = 122;
|
|
nmTTSdisErrAllDiskSp = 123;
|
|
nmTTSdisDirErrOnBkFile = 124;
|
|
nmTTSEnableByStaUsr = 125;
|
|
nmTTStransAbortedForSta = 126;
|
|
nmTTStooManyTransDelaying = 127;
|
|
nmTTSNoMemForExpTransNodes = 128;
|
|
nmAuditEvent = 129;
|
|
nmAuditDisNoAuditCfg = 130;
|
|
nmInvldConnTypeToAllocConn = 131;
|
|
nmInvldRTagToAllocConn = 132;
|
|
nmOutOfServerConns = 133;
|
|
nmConnTermAfter5Min = 134;
|
|
nmUsrAccDisableBySta = 135;
|
|
nmUnEncryptPwdNotAllowed = 136;
|
|
nmSuperAccLockedByConsole = 137;
|
|
nmSystemTimeChangedByCon = 138;
|
|
nmSystemTimeChangedBySta = 139;
|
|
nmVolStillActWithError = 140;
|
|
nmRouterFalsehood = 141;
|
|
nmServerAddressChanged = 142;
|
|
nmExtFileNoOwnerCharge = 143;
|
|
nmRouterConfigErrNode = 144;
|
|
nmRouterConfigErrMyAddr = 145;
|
|
nmNoMigratorLd = 146;
|
|
nmNoSMLd = 147;
|
|
nmNotEnoughRamForCompression = 148;
|
|
nmDiskErrorCompressing = 149;
|
|
nmUnknownErrorCompressing = 150;
|
|
nmInsufficientSpaceForDeCompression = 151;
|
|
nmDecompressUnknownCompressionVersion = 152;
|
|
nmUnknownDecompressError = 153;
|
|
nmInsufficientRAMToDecompress = 154;
|
|
nmCompressedFileIsCorrupt = 155;
|
|
nmStaAttemptedToUseBadPckt = 156;
|
|
nmStaUsedABadPckt = 157;
|
|
nmStaAttemptedToUseBadSFL = 158;
|
|
nmStaUsedABadSFL = 159;
|
|
nmCorruptCompFileWithName = 160;
|
|
nmCorruptCompFileWithNameAndStation = 161;
|
|
nmLowPriThreadsNotRun = 162;
|
|
nmWorkToDoNotRun = 163;
|
|
nmCompressErrorTempFileError = 164;
|
|
nmCompressErrorLengthTotalsMismatch = 165;
|
|
nmCompressErrorOffsetTotalsMismatch = 166;
|
|
nmCompressErrorDataCodeCountMismatch = 167;
|
|
nmCompressErrorLengthCountMismatch = 168;
|
|
nmCompressErrorLargeLengthCountMismatch = 169;
|
|
nmCompressErrorReadZeroBytesOrg = 170;
|
|
nmCompressErrorTreeTooBig = 171;
|
|
nmCompressErrorMatchSizeFail = 172;
|
|
nmSignatureInvalidAlert = 173;
|
|
nmLicenseIsInvalid = 174;
|
|
nmDeactHotFixError = 175;
|
|
nmUnknownDecompressErrorFN = 176;
|
|
nmInsufficientRAMToDecompressFN = 177;
|
|
nmDecompressUnderFreePercentage = 178;
|
|
nmNegPktTriedLargeBuffer = 179;
|
|
nmLoginDisabledByConsole = 180;
|
|
nmLoginEnabledByConsole = 181;
|
|
nmGrwStkNotAvail = 182;
|
|
nmLicenseFileIsMissing = 183;
|
|
nmFailedToDeletedMigratedFile = 184;
|
|
nmNoMemForAuditing = 185;
|
|
nmAuditFileWriteError = 186;
|
|
nmAuditFileFull = 187;
|
|
nmAuditFileThresholdOverflow = 188;
|
|
nmCompressErrorReadZeroBytesInt = 189;
|
|
nmEASpaceLimit = 190;
|
|
nmThreadAreaNotEmpty = 191;
|
|
nmErrMovingLogToMSEngine = 192;
|
|
nmFaultInConsoleCmdHandler = 193;
|
|
nmServerToServerComLinkActivated = 194;
|
|
nmServerToServerComLinkFailure = 195;
|
|
nmServerToServerComLinkDeact = 196;
|
|
nmOtherServerAttemptedToSync = 197;
|
|
nmServerToServerComLinkBrokeOK = 198;
|
|
nmServerSyncStartingIAmSecondary = 199;
|
|
nmBadSvrInitMsgFromOtherSvr = 200;
|
|
nmSvrToSvrCommLinkInitFailed = 201;
|
|
nmFailedDuringSyncWithReason = 202;
|
|
nmCommDrvLdDuringActivateWait = 203;
|
|
nmErrWritingStatusDump = 204;
|
|
nmComDrvFailureOnPrimary = 205;
|
|
nmComDrvFailureOnSecondary = 206;
|
|
nmErrFinishingGenStatusDump = 207;
|
|
nmSFTIIWhatToDoWithReasonString = 208;
|
|
nmSFTIIErrorUnexpected = 209;
|
|
nmSyncErrFromCustomServerNLM = 210;
|
|
nmSvrLinkHasPluggedPacket = 211;
|
|
nmSvrToBeRevived = 212;
|
|
nmServersAreSyncPri = 213;
|
|
nmSvrCantRouteIPXSec = 214;
|
|
nmSrvIPXRouteInfoSec = 215;
|
|
nmErrGivingRAMtoMS = 216;
|
|
nmMoreRAMgivenToMS = 217;
|
|
nmServersAreSyncSec = 218;
|
|
nmSvrCantRouteIPXPri = 219;
|
|
nmSrvIPXRouteInfoPri = 220;
|
|
nmPriSvrFailedButSecDown = 221;
|
|
nmPriSvrFailedNewPri = 222;
|
|
nmNumMemSegsExceedLimit = 223;
|
|
nmNumScreenExceedsLimit = 224;
|
|
nmIOVersionMismatch = 225;
|
|
nmOtherSvrProtectLvlNoMatch = 226;
|
|
nmOtherSvrScrAddrMismatch = 227;
|
|
nmIOEngNotAtSameAddr = 228;
|
|
nmBothSvrHaveMSEng = 229;
|
|
nmNoMSEngOnServers = 230;
|
|
nmSecSvrMissingRAM = 231;
|
|
nmBothSrvHaveSameIPXAddr = 232;
|
|
nmIOEngIPXAddrMatchMSEng = 233;
|
|
nmIOEngsMismatchRxSizes = 234;
|
|
nmIOEngsHaveSameName = 235;
|
|
nmNoMemForIOEngName = 236;
|
|
nmSrvToSvrLinkBeginSync = 237;
|
|
nmMSEngActivated = 238;
|
|
nmMSEngActNowSyncOther = 239;
|
|
nmIOtoMSComMisMatchUnload = 240;
|
|
nmSFTIIIOutOfMsgCodes = 241;
|
|
nmErrXferDumpToSystem = 242;
|
|
nmFailureChkPrimary = 243;
|
|
nmNoMemForOtherIOEngScr = 244;
|
|
nmErrStarting2ndProc = 245;
|
|
nmSrvFailureMsg = 246;
|
|
nmSecIOEngSupModNotLd = 247;
|
|
nmMSLBdNumHasConn = 248;
|
|
nmSecSvrLANIsBetter = 249;
|
|
nmIPXrtnStatusPckts = 250;
|
|
nmIPXnotRtnStatChkPckts = 251;
|
|
nmIPXnotRtnStatLANJam = 252;
|
|
nmFailReasonByOtherSrv = 253;
|
|
nmIPXMayBeTooSlowForSecSrv = 254;
|
|
nmIPXToOtherSrvTooManyHops = 255;
|
|
nmIPXappearsDown = 256;
|
|
nmIPXFoundRouteToOtherSrv = 257;
|
|
nmIPXLostRoute = 258;
|
|
nmSecSrvGoingToDie = 259;
|
|
nmPriSrcDyingTimerStart = 260;
|
|
nmPriSrvDying = 261;
|
|
nmIPXInternetIsJammed = 262;
|
|
nmIPXNewRouteToSecSvr = 263;
|
|
nmSrvsSyncing = 264;
|
|
nmFSHookRegistered = 265;
|
|
nmFSHookDeRegistered = 266;
|
|
nmIOEngCantBorrowMemory = 267;
|
|
nmDecompressNoCompressionOnVolume = 268;
|
|
nmMkProcessUsingTooSmallStk = 269;
|
|
nmQueueEventReportNoMemory = 270;
|
|
nmServerPartMirrorNotSync = 271;
|
|
nmStaWithoutRightsConsoleRPC = 272;
|
|
nmAuditOverflowFileThreshold = 273;
|
|
nmAuditOverflowFileFull = 274;
|
|
nmSwitchStacksGrwStk = 275;
|
|
nmConsoleCommandProcRestarted = 276;
|
|
nmGrowableStackGrew = 278;
|
|
nmOtherSvrIOLogSpaceNoMatch = 279;
|
|
nmDFSLogicalStackRead = 280;
|
|
nmDFSLogicalStackWrite = 281;
|
|
nmSecureEraseFailure = 282;
|
|
nmDropBadPktBurstConn = 283;
|
|
nmOutOfIPXSockets = 284;
|
|
nmVolumeObjectIDChanged = 285;
|
|
nmAbendRecovery = 286;
|
|
nmOpLockTimeout = 287;
|
|
nmAbendRecovered = 288;
|
|
|
|
// starting with NetWare 5...
|
|
nmUnknownSetCmd = 289;
|
|
nmAddressSpaceProtectionFault = 290;
|
|
nmAddressSpaceFailedToRestart = 291;
|
|
nmAddressSpaceRestarted = 292;
|
|
nmCorruptMemoryNodeDetected = 293;
|
|
nmAddressSpaceCleanupFailure = 294;
|
|
nmInvalidParameter = 295;
|
|
nmInvalidObjectHandle = 296;
|
|
nmNullPointer = 297;
|
|
nmVolDmtMedDmt = 298;
|
|
nmVolDmtmedChgd = 299;
|
|
nmAccDelByUsrActConn = 300;
|
|
nmResourcesRelErr = 301;
|
|
nmDemoVersion = 302;
|
|
nmDemoVersionTooLong = 303;
|
|
nmLicenseReSellerFileIsMissing = 304;
|
|
nmLicenseUpgradeIsMissing = 305;
|
|
nmLicenseVersionInvalid = 306;
|
|
nmLicenseProductInvalid = 307;
|
|
nmLicenseNoMoreFiles = 308;
|
|
nmLicensePIDInvalid = 309;
|
|
nmLicenseContentInalid = 310;
|
|
nmLicenseBadUpgrade = 311;
|
|
nmLicensePrevMaxConnMisMatch = 312;
|
|
nmLicenseContentResellerBad = 313;
|
|
nmLicenseSNMisMatch = 314;
|
|
nmLicenseUIDMisMatch = 315;
|
|
nmLicenseOpenError = 316;
|
|
nmLicenseCompanionErr = 317;
|
|
nmLicenseSNUpgradeMisMatch = 318;
|
|
nmLicenseUnableToRemMSL = 319;
|
|
nmLicenseUnableToRemULF = 320;
|
|
nmLicenseUnableToRemRLF = 321;
|
|
nmLicenseUnableToGetFileSize = 322;
|
|
nmLicenseUnkLicenseType = 323;
|
|
nmLicenseReadErr = 324;
|
|
nmLicenseFileSizeMisMatch = 325;
|
|
nmLicenseDupServerLic = 326;
|
|
nmLicenseNeedUpgrade = 327;
|
|
nmLicenseMirrorNeedUpgrade = 328;
|
|
nmLicenseDupLicDiscovered = 329;
|
|
nmLicenseDupLicDiscoveredDel = 330;
|
|
nmLicenseCpyRightViolated = 331;
|
|
nmLicenseExpired = 332;
|
|
nmVolDmtDevMedChgd = 333;
|
|
nmVolDmtDevMedDmt = 334;
|
|
nmInsMediaAckDS = 335;
|
|
nmInsMediaAckMag = 336;
|
|
nmInsMediaAbortedDS = 337;
|
|
nmInsMediaAbortedMag = 338;
|
|
nmRemMediaAckDS = 339;
|
|
nmRemMediaAckMag = 340;
|
|
nmRemMediaAbortDS = 341;
|
|
nmRemMediaAbortMag = 342;
|
|
nmInsMediaIntoDS = 343;
|
|
nmInsMediaIntoMag = 344;
|
|
nmRemMediaFromDS = 345;
|
|
nmRemMediaFromMag = 346;
|
|
nmServAddr = 347;
|
|
nmSwapInError = 348;
|
|
nmSwapOutError = 349;
|
|
nmAveragePageInThresholdExceeded = 350;
|
|
nmIllegalRequest = 351;
|
|
nmTTSThrottleDelayError = 352;
|
|
nmTTSLackOfResourcesError = 353;
|
|
nmTTSLackOfResourcesNoReason = 354;
|
|
nmDelayedWTDNotRunning = 355;
|
|
nmInvalidCharacterInName = 356;
|
|
|
|
// starting with NetWare 6
|
|
nmMPKBadThreadState = 357;
|
|
nmPoolSeriousError = 358;
|
|
nmPoolSeriousReadError = 359;
|
|
nmVolSeriousError = 360;
|
|
nmVolSeriousReadError = 361;
|
|
nmVolDeactSeriousIOError = 362;
|
|
nmVolDeactSeriousNonIOError = 363;
|
|
nmPoolDeactSeriousIOError = 364;
|
|
nmPoolDeactSeriousNonIOError = 365;
|
|
nmTaskZeroCheck = 366;
|
|
|
|
// Values for nwAlertLocus
|
|
LOCUS_UNKNOWN = 0;
|
|
LOCUS_MEMORY = 1;
|
|
LOCUS_FILESYSTEM = 2;
|
|
LOCUS_DISKS = 3;
|
|
LOCUS_LANBOARDS = 4;
|
|
LOCUS_COMSTACKS = 5;
|
|
LOCUS_TTS = 7;
|
|
LOCUS_BINDERY = 8;
|
|
LOCUS_STATION = 9;
|
|
LOCUS_ROUTER = 10;
|
|
LOCUS_LOCKS = 11;
|
|
LOCUS_KERNEL = 12;
|
|
LOCUS_UPS = 13;
|
|
LOCUS_SERVICE_PROTOCOL = 14;
|
|
LOCUS_SFT_III = 15;
|
|
LOCUS_RESOURCE_TRACKING = 16;
|
|
LOCUS_NLM = 17;
|
|
LOCUS_OS_INFORMATION = 18;
|
|
LOCUS_CACHE = 19;
|
|
|
|
AlertIDValidMask = $00000002;
|
|
AlertLocusValidMask = $00000004;
|
|
NoDisplayAlertIDBit = $20000000;
|
|
|
|
NOTIFY_CONNECTION_BIT = $00000001;
|
|
NOTIFY_EVERYONE_BIT = $00000002;
|
|
NOTIFY_ERROR_LOG_BIT = $00000004;
|
|
NOTIFY_CONSOLE_BIT = $00000008;
|
|
NOTIFY_QUEUE_MESSAGE = $10000000;
|
|
NOTIFY_DONT_NOTIFY_NMAGENT = $80000000;
|
|
|
|
// ERROR CLASSES
|
|
CLASS_UNKNOWN = 0;
|
|
CLASS_OUT_OF_RESOURCE = 1;
|
|
CLASS_TEMP_SITUATION = 2;
|
|
CLASS_AUTHORIZATION_FAILURE = 3;
|
|
CLASS_INTERNAL_ERROR = 4;
|
|
CLASS_HARDWARE_FAILURE = 5;
|
|
CLASS_SYSTEM_FAILURE = 6;
|
|
CLASS_REQUEST_ERROR = 7;
|
|
CLASS_NOT_FOUND = 8;
|
|
CLASS_BAD_FORMAT = 9;
|
|
CLASS_LOCKED = 10;
|
|
CLASS_MEDIA_FAILURE = 11;
|
|
CLASS_ITEM_EXISTS = 12;
|
|
CLASS_STATION_FAILURE = 13;
|
|
CLASS_LIMIT_EXCEEDED = 14;
|
|
CLASS_CONFIGURATION_ERROR = 15;
|
|
CLASS_LIMIT_ALMOST_EXCEEDED = 16;
|
|
CLASS_SECURITY_AUDIT_INFO = 17;
|
|
CLASS_DISK_INFORMATION = 18;
|
|
CLASS_GENERAL_INFORMATION = 19;
|
|
CLASS_FILE_COMPRESSION = 20;
|
|
CLASS_PROTECTION_VIOLATION = 21;
|
|
CLASS_VIRTUAL_MEMORY = 22;
|
|
|
|
SEVERITY_INFORMATIONAL = 0;
|
|
SEVERITY_WARNING = 1;
|
|
SEVERITY_RECOVERABLE = 2;
|
|
SEVERITY_CRITICAL = 3;
|
|
SEVERITY_FATAL = 4;
|
|
SEVERITY_OPERATION_ABORTED = 5;
|
|
SEVERITY_NONOS_UNRECOVERABLE = 6;
|
|
|
|
type
|
|
TnwAlertDataFreeProc = procedure (nwAlertDataPtr:pointer);cdecl;
|
|
PNetWareAlertStructure = ^TNetWareAlertStructure;
|
|
TNetWareAlertStructure = record
|
|
pNetworkManagementAttribute : pointer;
|
|
nwAlertFlags,
|
|
nwTargetStation,
|
|
nwTargetNotificationBits,
|
|
nwAlertID,
|
|
nwAlertLocus,
|
|
nwAlertClass,
|
|
nwAlertSeverity : longint;
|
|
nwAlertDataPtr : pointer;
|
|
nwAlertDataFree : TnwAlertDataFreeProc;
|
|
nwControlString : pchar;
|
|
nwControlStringMessageNumber : longint;
|
|
end;
|
|
|
|
|
|
procedure NetWareAlert(nlmHandle : TNlmHandle;
|
|
nwAlert : PNetWareAlertStructure;
|
|
parameterCount : longint;
|
|
args : array of const); cdecl; external 'clib';
|
|
|
|
procedure NetWareAlert(nlmHandle : TNlmHandle;
|
|
nwAlert : PNetWareAlertStructure;
|
|
parameterCount : longint); cdecl; external 'clib';
|
|
|
|
{------------------------------------------------------------------------------}
|
|
|
|
implementation
|
|
|
|
function CLK_TCK : longint;
|
|
begin
|
|
CLK_TCK:=__get_CLK_TCK;
|
|
end;
|
|
|
|
function tzname : pchar;
|
|
begin
|
|
tzname:=__get_tzname^;
|
|
end;
|
|
|
|
function NetWareErrno : longint;
|
|
begin
|
|
NetWareErrno := __get_NWErrno_ptr()^;
|
|
end;
|
|
|
|
function __stdin : PFILE;
|
|
begin
|
|
__stdin := __get_stdin^;
|
|
end;
|
|
|
|
function __stdout : PFILE;
|
|
begin
|
|
__stdout := __get_stdout^;
|
|
end;
|
|
|
|
function __stderr : PFILE;
|
|
begin
|
|
__stderr := __get_stderr^;
|
|
end;
|
|
|
|
function bisecond(var a : TDOSTime) : word;
|
|
begin
|
|
bisecond:=(a.flag0 and bm_TDOSTime_bisecond) shr bp_TDOSTime_bisecond;
|
|
end;
|
|
|
|
procedure set_bisecond(var a : TDOSTime; __bisecond : word);
|
|
begin
|
|
a.flag0:=a.flag0 or ((__bisecond shl bp_TDOSTime_bisecond) and bm_TDOSTime_bisecond);
|
|
end;
|
|
|
|
function minute(var a : TDOSTime) : word;
|
|
begin
|
|
minute:=(a.flag0 and bm_TDOSTime_minute) shr bp_TDOSTime_minute;
|
|
end;
|
|
|
|
procedure set_minute(var a : TDOSTime; __minute : word);
|
|
begin
|
|
a.flag0:=a.flag0 or ((__minute shl bp_TDOSTime_minute) and bm_TDOSTime_minute);
|
|
end;
|
|
|
|
function hour(var a : TDOSTime) : word;
|
|
begin
|
|
hour:=(a.flag0 and bm_TDOSTime_hour) shr bp_TDOSTime_hour;
|
|
end;
|
|
|
|
procedure set_hour(var a : TDOSTime; __hour : word);
|
|
begin
|
|
a.flag0:=a.flag0 or ((__hour shl bp_TDOSTime_hour) and bm_TDOSTime_hour);
|
|
end;
|
|
|
|
function day(var a : TDOSDate) : word;
|
|
begin
|
|
day:=(a.flag0 and bm_TDOSDate_day) shr bp_TDOSDate_day;
|
|
end;
|
|
|
|
procedure set_day(var a : TDOSDate; __day : word);
|
|
begin
|
|
a.flag0:=a.flag0 or ((__day shl bp_TDOSDate_day) and bm_TDOSDate_day);
|
|
end;
|
|
|
|
function month(var a : TDOSDate) : word;
|
|
begin
|
|
month:=(a.flag0 and bm_TDOSDate_month) shr bp_TDOSDate_month;
|
|
end;
|
|
|
|
procedure set_month(var a : TDOSDate; __month : word);
|
|
begin
|
|
a.flag0:=a.flag0 or ((__month shl bp_TDOSDate_month) and bm_TDOSDate_month);
|
|
end;
|
|
|
|
function yearsSince80(var a : TDOSDate) : word;
|
|
begin
|
|
yearsSince80:=(a.flag0 and bm_TDOSDate_yearsSince80) shr bp_TDOSDate_yearsSince80;
|
|
end;
|
|
|
|
procedure set_yearsSince80(var a : TDOSDate; __yearsSince80 : word);
|
|
begin
|
|
a.flag0:=a.flag0 or ((__yearsSince80 shl bp_TDOSDate_yearsSince80) and bm_TDOSDate_yearsSince80);
|
|
end;
|
|
|
|
function bisecond(var a : T_DOSTime) : word;
|
|
begin
|
|
bisecond:=(a.flag0 and bm_T_DOSTime_bisecond) shr bp_T_DOSTime_bisecond;
|
|
end;
|
|
|
|
procedure set_bisecond(var a : T_DOSTime; __bisecond : word);
|
|
begin
|
|
a.flag0:=a.flag0 or ((__bisecond shl bp_T_DOSTime_bisecond) and bm_T_DOSTime_bisecond);
|
|
end;
|
|
|
|
function minute(var a : T_DOSTime) : word;
|
|
begin
|
|
minute:=(a.flag0 and bm_T_DOSTime_minute) shr bp_T_DOSTime_minute;
|
|
end;
|
|
|
|
procedure set_minute(var a : T_DOSTime; __minute : word);
|
|
begin
|
|
a.flag0:=a.flag0 or ((__minute shl bp_T_DOSTime_minute) and bm_T_DOSTime_minute);
|
|
end;
|
|
|
|
function hour(var a : T_DOSTime) : word;
|
|
begin
|
|
hour:=(a.flag0 and bm_T_DOSTime_hour) shr bp_T_DOSTime_hour;
|
|
end;
|
|
|
|
procedure set_hour(var a : T_DOSTime; __hour : word);
|
|
begin
|
|
a.flag0:=a.flag0 or ((__hour shl bp_T_DOSTime_hour) and bm_T_DOSTime_hour);
|
|
end;
|
|
|
|
end.
|