|
@@ -1,4829 +1,4902 @@
|
|
|
-{ $Id$
|
|
|
-
|
|
|
- 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 ([email protected])
|
|
|
-
|
|
|
- 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;
|
|
|
-
|
|
|
-{-time.h-----------------------------------------------------------------------}
|
|
|
-{$PACKRECORDS C}
|
|
|
-
|
|
|
-const
|
|
|
- CLOCKS_PER_SEC = 100;
|
|
|
-
|
|
|
-type
|
|
|
- Pclock_t = ^Tclock_t;
|
|
|
- Tclock_t = dword;
|
|
|
-
|
|
|
- Ptime_t = ^Ttime_t;
|
|
|
- Ttime_t = dword;
|
|
|
-{ seconds after the minute--range [0, 59] }
|
|
|
-{ minutes after the hour--range [0, 59] }
|
|
|
-{ hours since midnight--range [0, 23] }
|
|
|
-{ days of the month--range [1, 31] }
|
|
|
-{ months since January--range [0, 11] }
|
|
|
-{ years since 1900--range [0, 99] }
|
|
|
-{ days since Sunday--range [0, 6] }
|
|
|
-{ days since first of January--range [0, 365] }
|
|
|
-{ Daylight Savings Time flag--set [-, 0, +]: }
|
|
|
- Ptm = ^Ttm;
|
|
|
- Ttm = record
|
|
|
- tm_sec : longint;
|
|
|
- tm_min : longint;
|
|
|
- tm_hour : longint;
|
|
|
- tm_mday : longint;
|
|
|
- tm_mon : longint;
|
|
|
- tm_year : longint;
|
|
|
- tm_wday : longint;
|
|
|
- tm_yday : longint;
|
|
|
- tm_isdst : longint;
|
|
|
- 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 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;
|
|
|
-
|
|
|
-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 cgets(buf:Pchar):Pchar; cdecl; external 'clib' name 'cgets';
|
|
|
-function CheckIfScreenDisplayed(screenHandle,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 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 DisplayInputCursor:longint; cdecl; external 'clib' name 'DisplayInputCursor';
|
|
|
-function DisplayScreen(screenHandle:longint):longint; cdecl; external 'clib' name 'DisplayScreen';
|
|
|
-function DropPopUpScreen(screenHandle:longint):longint; cdecl; external 'clib' name 'DropPopUpScreen';
|
|
|
-function GetCurrentScreen:longint; 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 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 PressEscapeToQuit:longint; cdecl; external 'clib' name 'PressEscapeToQuit';
|
|
|
-procedure RingTheBell; 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 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 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';
|
|
|
-{-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 :PBYTE):longint;cdecl;external 'clib' name 'GetConnectionInformation';
|
|
|
-function GetConnectionInformation (connectionNumber:word;
|
|
|
- objectName :Pchar;
|
|
|
- var objectType :word;
|
|
|
- var objectID :longint;
|
|
|
- var loginTime :byte):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;
|
|
|
-{ Data structure for RegisterConsoleCommand }
|
|
|
-{ set by RegisterConsoleCommand }
|
|
|
-{ parsing routing (user defined) }
|
|
|
-{ set to resource tag }
|
|
|
-type
|
|
|
- PcommandParserStructure = ^TcommandParserStructure;
|
|
|
- TcommandParserStructure = record
|
|
|
- Link : PcommandParserStructure;
|
|
|
- parseRoutine : function (screenID:longint; commandLine:PBYTE):longint;cdecl;
|
|
|
- RTag : longint;
|
|
|
- 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;
|
|
|
-{$include npackoff.inc}
|
|
|
-
|
|
|
-function AllocateResourceTag (NLMHandle:longint;
|
|
|
- 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:longint; 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 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:longint;
|
|
|
- symbolName:Pchar):longint;cdecl;external 'clib' name 'UnimportSymbol';
|
|
|
-function UnRegisterConsoleCommand (commandParserToDelete:PcommandParserStructure):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;
|
|
|
-
|
|
|
-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 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:longint); 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:longint; messageTable:PPPchar; messageCount:Plongint; languageID:Plongint):longint;cdecl;external 'clib' name '_NWLoadNLMMessageTable';
|
|
|
-function _NWRegisterNLMLibrary (NLMHandle:longint;
|
|
|
- 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 chsize(fildes:longint; size:dword):longint;cdecl;external 'clib' name 'chsize';
|
|
|
-function close(fildes:longint):longint;cdecl;external 'clib' name 'close';
|
|
|
-function dup(fildes:longint):longint;cdecl;external 'clib' name 'dup';
|
|
|
-function dup2(fildes1:longint; fildes2:longint):longint;cdecl;external 'clib' name 'dup2';
|
|
|
-function eof(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 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 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 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... }
|
|
|
+{ $Id$
|
|
|
+
|
|
|
+ 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 ([email protected])
|
|
|
+
|
|
|
+ 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;
|
|
|
+
|
|
|
+{-time.h-----------------------------------------------------------------------}
|
|
|
+{$PACKRECORDS C}
|
|
|
+
|
|
|
+const
|
|
|
+ CLOCKS_PER_SEC = 100;
|
|
|
+
|
|
|
+type
|
|
|
+ Pclock_t = ^Tclock_t;
|
|
|
+ Tclock_t = dword;
|
|
|
+
|
|
|
+ Ptime_t = ^Ttime_t;
|
|
|
+ Ttime_t = dword;
|
|
|
+{ seconds after the minute--range [0, 59] }
|
|
|
+{ minutes after the hour--range [0, 59] }
|
|
|
+{ hours since midnight--range [0, 23] }
|
|
|
+{ days of the month--range [1, 31] }
|
|
|
+{ months since January--range [0, 11] }
|
|
|
+{ years since 1900--range [0, 99] }
|
|
|
+{ days since Sunday--range [0, 6] }
|
|
|
+{ days since first of January--range [0, 365] }
|
|
|
+{ Daylight Savings Time flag--set [-, 0, +]: }
|
|
|
+ Ptm = ^Ttm;
|
|
|
+ Ttm = record
|
|
|
+ tm_sec : longint;
|
|
|
+ tm_min : longint;
|
|
|
+ tm_hour : longint;
|
|
|
+ tm_mday : longint;
|
|
|
+ tm_mon : longint;
|
|
|
+ tm_year : longint;
|
|
|
+ tm_wday : longint;
|
|
|
+ tm_yday : longint;
|
|
|
+ tm_isdst : longint;
|
|
|
+ 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 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;
|
|
|
+
|
|
|
+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 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 :PBYTE):longint;cdecl;external 'clib' name 'GetConnectionInformation';
|
|
|
+function GetConnectionInformation (connectionNumber:word;
|
|
|
+ objectName :Pchar;
|
|
|
+ var objectType :word;
|
|
|
+ var objectID :longint;
|
|
|
+ var loginTime :byte):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;
|
|
|
+{ Data structure for RegisterConsoleCommand }
|
|
|
+{ set by RegisterConsoleCommand }
|
|
|
+{ parsing routing (user defined) }
|
|
|
+{ set to resource tag }
|
|
|
+type
|
|
|
+ PcommandParserStructure = ^TcommandParserStructure;
|
|
|
+ TcommandParserStructure = record
|
|
|
+ Link : PcommandParserStructure;
|
|
|
+ parseRoutine : function (screenID:longint; commandLine:PBYTE):longint;cdecl;
|
|
|
+ RTag : longint;
|
|
|
+ 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;
|
|
|
+{$include npackoff.inc}
|
|
|
+
|
|
|
+function AllocateResourceTag (NLMHandle:longint;
|
|
|
+ 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:longint; 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 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:longint;
|
|
|
+ symbolName:Pchar):longint;cdecl;external 'clib' name 'UnimportSymbol';
|
|
|
+function UnRegisterConsoleCommand (commandParserToDelete:PcommandParserStructure):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;
|
|
|
+
|
|
|
+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 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;
|
|
|
+
|
|
|
+
|
|
|
{
|
|
|
- var
|
|
|
- threadCustomDataPtr : pointer;cvar;external;
|
|
|
- threadCustomDataSize : longint;cvar;external;
|
|
|
- threadGroupCustomDataPtr : pointer;cvar;external;
|
|
|
+ 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:longint); 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:longint; messageTable:PPPchar; messageCount:Plongint; languageID:Plongint):longint;cdecl;external 'clib' name '_NWLoadNLMMessageTable';
|
|
|
+function _NWRegisterNLMLibrary (NLMHandle:longint;
|
|
|
+ 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 dup2(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):dword; cdecl;external ThreadsNlm name 'FindNLMHandle';
|
|
|
- function getcmd(cmdLine:Pchar):Pchar; cdecl;external ThreadsNlm name 'getcmd';
|
|
|
- function GetNLMHandle:dword; cdecl;external ThreadsNlm name 'GetNLMHandle';
|
|
|
- function GetNLMID:longint; cdecl;external ThreadsNlm name 'GetNLMID';
|
|
|
- function GetNLMIDFromNLMHandle(NLMHandle:longint):longint; cdecl;external ThreadsNlm name 'GetNLMIDFromNLMHandle';
|
|
|
- function GetNLMIDFromThreadID(threadID:longint;fileName:Pchar):longint;cdecl;external ThreadsNlm name 'GetNLMIDFromThreadID';
|
|
|
- function GetNLMNameFromNLMID(NLMID:longint;
|
|
|
- fileName:Pchar;
|
|
|
- description:Pchar):longint; cdecl;external ThreadsNlm name 'GetNLMNameFromNLMID';
|
|
|
- function GetNLMNameFromNLMHandle(NLMHandle:longint;
|
|
|
- LDFileName:Pchar;
|
|
|
- LDName:Pchar):longint; cdecl;external ThreadsNlm name 'GetNLMNameFromNLMHandle';
|
|
|
- function GetThreadContextSpecifier(threadID:longint):longint; cdecl;external ThreadsNlm name 'GetThreadContextSpecifier';
|
|
|
- function GetThreadGroupID:longint; cdecl;external ThreadsNlm name 'GetThreadGroupID';
|
|
|
- function __GetThreadIDFromPCB(PCB:longint):longint; cdecl;external Lib0Nlm name '__GetThreadIDFromPCB';
|
|
|
- function GetThreadHandicap(threadID:longint):longint; cdecl;external ThreadsNlm name 'GetThreadHandicap';
|
|
|
- function GetThreadID:longint; cdecl;external ThreadsNlm name 'GetThreadID';
|
|
|
- function GetThreadName(threadID:longint; tName:Pchar):longint; cdecl;external ThreadsNlm name 'GetThreadName';
|
|
|
- function MapNLMIDToHandle(NLMID:longint):longint; cdecl;external ThreadsNlm name 'MapNLMIDToHandle';
|
|
|
- function PopThreadCleanup(execute:longint):TCLEANUP; cdecl;external ThreadsNlm name 'PopThreadCleanup';
|
|
|
- function PopThreadGroupCleanup(execute:longint):TCLEANUP; cdecl;external ThreadsNlm name 'PopThreadGroupCleanup';
|
|
|
- function PushThreadCleanup(func:TCLEANUP):longint; cdecl;external ThreadsNlm name 'PushThreadCleanup';
|
|
|
- function PushThreadGroupCleanup(func:TCLEANUP):longint; cdecl;external ThreadsNlm name 'PushThreadGroupCleanup';
|
|
|
- function RenameThread(threadID:longint; newName:Pchar):longint; cdecl;external ThreadsNlm name 'RenameThread';
|
|
|
- function ResumeThread(threadID:longint):longint; cdecl;external ThreadsNlm name 'ResumeThread';
|
|
|
- function ReturnNLMVersionInfoFromFile(pathName:pchar;
|
|
|
- majorVersion: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:longint;
|
|
|
- majorVersion,minorVersion,revision,year,month,day:Plongint;
|
|
|
- copyrightString:pchar; description:pchar):longint;cdecl;external NlmLibNlm name 'ReturnNLMVersionInformation';
|
|
|
- function ReturnNLMVersionInformation(NLMHandle:longint;
|
|
|
- var majorVersion,minorVersion,revision,year,month,day:longint;
|
|
|
- copyrightString:pchar; description:pchar):longint;cdecl;external NlmLibNlm name 'ReturnNLMVersionInformation';
|
|
|
-
|
|
|
- procedure ScheduleNoSleepAESProcessEvent(EventNode:PAESProcessStructure);cdecl;external ThreadsNlm name 'ScheduleNoSleepAESProcessEvent';
|
|
|
- procedure ScheduleSleepAESProcessEvent(EventNode:PAESProcessStructure); cdecl;external ThreadsNlm name 'ScheduleSleepAESProcessEvent';
|
|
|
-
|
|
|
-
|
|
|
- function ScheduleWorkToDo(ProcedureToCall:TWorkToDoProc;
|
|
|
- workData :pointer;
|
|
|
- workToDo :PWorkToDo):longint; cdecl;external ThreadsNlm name 'ScheduleWorkToDo';
|
|
|
- function SetNLMDontUnloadFlag(NLMID:longint):longint; cdecl;external ThreadsNlm name 'SetNLMDontUnloadFlag';
|
|
|
- function SetNLMID(newNLMID:longint):longint; cdecl;external ThreadsNlm name 'SetNLMID';
|
|
|
- function SetThreadContextSpecifier(threadID,
|
|
|
- contextSpecifier:longint):longint; cdecl;external ThreadsNlm name 'SetThreadContextSpecifier';
|
|
|
- function SetThreadGroupID(newThreadGroupID:longint):longint; cdecl;external ThreadsNlm name 'SetThreadGroupID';
|
|
|
- procedure SetThreadHandicap(threadID, handicap:longint); cdecl;external ThreadsNlm name 'SetThreadHandicap';
|
|
|
- function spawnlp(mode:longint;
|
|
|
- path,arg0:Pchar;
|
|
|
- args:array of const):longint; cdecl;external ThreadsNlm name 'spawnlp';
|
|
|
- function spawnlp(mode:longint;
|
|
|
- path,arg0:Pchar):longint; cdecl;external ThreadsNlm name 'spawnlp';
|
|
|
- function spawnvp(mode:longint;
|
|
|
- path,argv:PPchar):longint; cdecl;external ThreadsNlm name 'spawnvp';
|
|
|
- function SuspendThread(threadID:longint):longint; cdecl;external ThreadsNlm name 'SuspendThread';
|
|
|
- procedure ThreadSwitch; cdecl;external ThreadsNlm name 'ThreadSwitch';
|
|
|
- procedure ThreadSwitchLowPriority; cdecl;external ThreadsNlm name 'ThreadSwitchLowPriority';
|
|
|
- procedure ThreadSwitchWithDelay; cdecl;external ThreadsNlm name 'ThreadSwitchWithDelay';
|
|
|
-{-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';
|
|
|
-{------------------------------------------------------------------------------}
|
|
|
-
|
|
|
-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.
|
|
|
-
|
|
|
-
|
|
|
-{
|
|
|
+
|
|
|
+
|
|
|
+ function AtUnload(func:Tprocedure):longint; cdecl;external ThreadsNlm name 'AtUnload';
|
|
|
+ function BeginThread(func:TThreadFunc;
|
|
|
+ stackP:pointer;
|
|
|
+ stackSize:dword;
|
|
|
+ arg:pointer):longint; cdecl;external ThreadsNlm name 'BeginThread';
|
|
|
+ function BeginThreadGroup(func:TThreadFunc;
|
|
|
+ stackP:pointer;
|
|
|
+ stackSize:dword;
|
|
|
+ arg:pointer):longint; cdecl;external ThreadsNlm name 'BeginThreadGroup';
|
|
|
+ function Breakpoint(arg:longint):longint; cdecl;external Lib0Nlm name 'Breakpoint';
|
|
|
+ procedure CancelNoSleepAESProcessEvent(EventNode:PAESProcessStructure);cdecl;external ThreadsNlm name 'CancelNoSleepAESProcessEvent';
|
|
|
+ procedure CancelSleepAESProcessEvent (EventNode:PAESProcessStructure);cdecl;external ThreadsNlm name 'CancelSleepAESProcessEvent';
|
|
|
+ function ClearNLMDontUnloadFlag(NLMID:longint):longint; cdecl;external ThreadsNlm name 'ClearNLMDontUnloadFlag';
|
|
|
+ procedure delay(milliseconds:dword); cdecl;external ThreadsNlm name 'delay';
|
|
|
+ function EnterCritSec:longint; cdecl;external ThreadsNlm name 'EnterCritSec';
|
|
|
+ function ExitCritSec:longint; cdecl;external ThreadsNlm name 'ExitCritSec';
|
|
|
+ procedure ExitThread(action_code :longint;
|
|
|
+ termination_code:longint); cdecl;external ThreadsNlm name 'ExitThread';
|
|
|
+
|
|
|
+ function FindNLMHandle(NLMFileName:Pchar):dword; cdecl;external ThreadsNlm name 'FindNLMHandle';
|
|
|
+ function getcmd(cmdLine:Pchar):Pchar; cdecl;external ThreadsNlm name 'getcmd';
|
|
|
+ function GetNLMHandle:dword; cdecl;external ThreadsNlm name 'GetNLMHandle';
|
|
|
+ function GetNLMID:longint; cdecl;external ThreadsNlm name 'GetNLMID';
|
|
|
+ function GetNLMIDFromNLMHandle(NLMHandle:longint):longint; cdecl;external ThreadsNlm name 'GetNLMIDFromNLMHandle';
|
|
|
+ function GetNLMIDFromThreadID(threadID:longint;fileName:Pchar):longint;cdecl;external ThreadsNlm name 'GetNLMIDFromThreadID';
|
|
|
+ function GetNLMNameFromNLMID(NLMID:longint;
|
|
|
+ fileName:Pchar;
|
|
|
+ description:Pchar):longint; cdecl;external ThreadsNlm name 'GetNLMNameFromNLMID';
|
|
|
+ function GetNLMNameFromNLMHandle(NLMHandle:longint;
|
|
|
+ LDFileName:Pchar;
|
|
|
+ LDName:Pchar):longint; cdecl;external ThreadsNlm name 'GetNLMNameFromNLMHandle';
|
|
|
+ function GetThreadContextSpecifier(threadID:longint):longint; cdecl;external ThreadsNlm name 'GetThreadContextSpecifier';
|
|
|
+ function GetThreadGroupID:longint; cdecl;external ThreadsNlm name 'GetThreadGroupID';
|
|
|
+ function __GetThreadIDFromPCB(PCB:longint):longint; cdecl;external Lib0Nlm name '__GetThreadIDFromPCB';
|
|
|
+ function GetThreadHandicap(threadID:longint):longint; cdecl;external ThreadsNlm name 'GetThreadHandicap';
|
|
|
+ function GetThreadID:longint; cdecl;external ThreadsNlm name 'GetThreadID';
|
|
|
+ function GetThreadName(threadID:longint; tName:Pchar):longint; cdecl;external ThreadsNlm name 'GetThreadName';
|
|
|
+ function GetThreadName(threadID:longint; var tName):longint; cdecl;external ThreadsNlm name 'GetThreadName';
|
|
|
+ function MapNLMIDToHandle(NLMID:longint):longint; cdecl;external ThreadsNlm name 'MapNLMIDToHandle';
|
|
|
+ function PopThreadCleanup(execute:longint):TCLEANUP; cdecl;external ThreadsNlm name 'PopThreadCleanup';
|
|
|
+ function PopThreadGroupCleanup(execute:longint):TCLEANUP; cdecl;external ThreadsNlm name 'PopThreadGroupCleanup';
|
|
|
+ function PushThreadCleanup(func:TCLEANUP):longint; cdecl;external ThreadsNlm name 'PushThreadCleanup';
|
|
|
+ function PushThreadGroupCleanup(func:TCLEANUP):longint; cdecl;external ThreadsNlm name 'PushThreadGroupCleanup';
|
|
|
+ function RenameThread(threadID:longint; newName:Pchar):longint; cdecl;external ThreadsNlm name 'RenameThread';
|
|
|
+ function ResumeThread(threadID:longint):longint; cdecl;external ThreadsNlm name 'ResumeThread';
|
|
|
+ function ReturnNLMVersionInfoFromFile(pathName:pchar;
|
|
|
+ majorVersion: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:longint;
|
|
|
+ majorVersion,minorVersion,revision,year,month,day:Plongint;
|
|
|
+ copyrightString:pchar; description:pchar):longint;cdecl;external NlmLibNlm name 'ReturnNLMVersionInformation';
|
|
|
+ function ReturnNLMVersionInformation(NLMHandle:longint;
|
|
|
+ var majorVersion,minorVersion,revision,year,month,day:longint;
|
|
|
+ copyrightString:pchar; description:pchar):longint;cdecl;external NlmLibNlm name 'ReturnNLMVersionInformation';
|
|
|
+
|
|
|
+ procedure ScheduleNoSleepAESProcessEvent(EventNode:PAESProcessStructure);cdecl;external ThreadsNlm name 'ScheduleNoSleepAESProcessEvent';
|
|
|
+ procedure ScheduleSleepAESProcessEvent(EventNode:PAESProcessStructure); cdecl;external ThreadsNlm name 'ScheduleSleepAESProcessEvent';
|
|
|
+
|
|
|
+
|
|
|
+ function ScheduleWorkToDo(ProcedureToCall:TWorkToDoProc;
|
|
|
+ workData :pointer;
|
|
|
+ workToDo :PWorkToDo):longint; cdecl;external ThreadsNlm name 'ScheduleWorkToDo';
|
|
|
+ function SetNLMDontUnloadFlag(NLMID:longint):longint; cdecl;external ThreadsNlm name 'SetNLMDontUnloadFlag';
|
|
|
+ function SetNLMID(newNLMID:longint):longint; cdecl;external ThreadsNlm name 'SetNLMID';
|
|
|
+ function SetThreadContextSpecifier(threadID,
|
|
|
+ contextSpecifier:longint):longint; cdecl;external ThreadsNlm name 'SetThreadContextSpecifier';
|
|
|
+ function SetThreadGroupID(newThreadGroupID:longint):longint; cdecl;external ThreadsNlm name 'SetThreadGroupID';
|
|
|
+ procedure SetThreadHandicap(threadID, handicap:longint); cdecl;external ThreadsNlm name 'SetThreadHandicap';
|
|
|
+ function spawnlp(mode:longint;
|
|
|
+ path,arg0:Pchar;
|
|
|
+ args:array of const):longint; cdecl;external ThreadsNlm name 'spawnlp';
|
|
|
+ function spawnlp(mode:longint;
|
|
|
+ path,arg0:Pchar):longint; cdecl;external ThreadsNlm name 'spawnlp';
|
|
|
+ function spawnvp(mode:longint;
|
|
|
+ path,argv:PPchar):longint; cdecl;external ThreadsNlm name 'spawnvp';
|
|
|
+ function SuspendThread(threadID:longint):longint; cdecl;external ThreadsNlm name 'SuspendThread';
|
|
|
+ procedure ThreadSwitch; cdecl;external ThreadsNlm name 'ThreadSwitch';
|
|
|
+ procedure ThreadSwitchLowPriority; cdecl;external ThreadsNlm name 'ThreadSwitchLowPriority';
|
|
|
+ procedure ThreadSwitchWithDelay; cdecl;external ThreadsNlm name 'ThreadSwitchWithDelay';
|
|
|
+{-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';
|
|
|
+{------------------------------------------------------------------------------}
|
|
|
+
|
|
|
+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.
|
|
|
+
|
|
|
+
|
|
|
+{
|
|
|
$Log$
|
|
|
- Revision 1.2 2003-03-25 18:09:25 armin
|
|
|
+ Revision 1.3 2004-09-26 19:25:49 armin
|
|
|
+ * exiting threads at nlm unload
|
|
|
+
|
|
|
+ Revision 1.2 2003/03/25 18:09:25 armin
|
|
|
* removed cvars because of problems with nlmconv
|
|
|
|
|
|
Revision 1.1 2003/02/22 18:23:26 armin
|
|
|
* removed nwstdio and nwthread
|
|
|
* added nwnit.pp and nwserv.pp containing nearly all netware server structures/function definitions available in the c sdk
|
|
|
-
|
|
|
-}
|
|
|
+
|
|
|
+}
|