mirror of
				https://gitlab.com/freepascal.org/fpc/source.git
				synced 2025-11-04 12:39:38 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			6068 lines
		
	
	
		
			240 KiB
		
	
	
	
		
			ObjectPascal
		
	
	
	
	
	
			
		
		
	
	
			6068 lines
		
	
	
		
			240 KiB
		
	
	
	
		
			ObjectPascal
		
	
	
	
	
	
{
 | 
						|
  Netware Server Imports for FreePascal Netware Clib RTL, contains
 | 
						|
  definitions from the following NDK header files:
 | 
						|
 | 
						|
  ntypes.h,nwacct.h,nwafp.h,nwalias.h,nwapidef.h,nwbindry.h,
 | 
						|
  nwcaldef.h,nwcalls.h,nwconnec.h,nwdel.h,nwdentry.h,nwdirect.h,
 | 
						|
  nwdpath.h,nwea.h,nwerror.h,nwfattr.h,nwfile.h,nwfse.h,nwmigrat.h,
 | 
						|
  nwmisc.h,nwmsg.h,nwnamspc.h,nwprint.h,nwqms.h,nwserver.h,nwsm.h,
 | 
						|
  nwsync.h,nwtts.h,nwvol.h,stddef.h,unicode.h
 | 
						|
 | 
						|
  Initial Version 2005/01/14 Armin (armin@freepascal.org)
 | 
						|
 | 
						|
  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
 | 
						|
  create a bug report on http://www.freepascal.org and i will see what i
 | 
						|
  can do.
 | 
						|
}
 | 
						|
 | 
						|
 | 
						|
unit nwcalls;
 | 
						|
{$MODE objfpc}
 | 
						|
{$MACRO on}
 | 
						|
 | 
						|
interface
 | 
						|
 | 
						|
{Macros for netware imports:}
 | 
						|
{$DEFINE NWLIB_CALNLM32 := cdecl; external 'calnlm32'}
 | 
						|
{$DEFINE NWLIB_LOCNLM32 := cdecl; external 'locnlm32'}
 | 
						|
{$DEFINE NWLIB_UNICODE := cdecl; external 'unicode'}
 | 
						|
{$DEFINE NWLIB_UNKNOWN := cdecl; external}            {for these ones i have not found the exporting module}
 | 
						|
{$DEFINE NWLIB_CLIB := cdecl; external 'clib'}
 | 
						|
{$DEFINE NWLIB_DSAPI := cdecl; external 'DSAPI'}
 | 
						|
 | 
						|
type
 | 
						|
  Tnuint16 = word;
 | 
						|
  Pnuint16 = pword;
 | 
						|
  Tnuint8 = byte;
 | 
						|
  Pnuint8 = ^byte;
 | 
						|
  Tnptr = pointer;
 | 
						|
  pnstr = pchar;
 | 
						|
  ppnstr = ppchar;
 | 
						|
  Tnstr8 = char;
 | 
						|
  Pnstr8 = pchar;
 | 
						|
  nptr = pointer;
 | 
						|
  Pnptr = ^pointer;
 | 
						|
  Tnflag32 = longint;
 | 
						|
 | 
						|
  PBYTE_REGISTERS = ^TBYTE_REGISTERS;
 | 
						|
  TBYTE_REGISTERS = record
 | 
						|
    si: Tnuint16;
 | 
						|
    ds: Tnuint16;
 | 
						|
    di: Tnuint16;
 | 
						|
    es: Tnuint16;
 | 
						|
    al: Tnuint8;
 | 
						|
    ah: Tnuint8;
 | 
						|
    bl: Tnuint8;
 | 
						|
    bh: Tnuint8;
 | 
						|
    cl: Tnuint8;
 | 
						|
    ch: Tnuint8;
 | 
						|
    dl: Tnuint8;
 | 
						|
    dh: Tnuint8;
 | 
						|
  end;
 | 
						|
 | 
						|
  PWORD_REGISTERS = ^TWORD_REGISTERS;
 | 
						|
  TWORD_REGISTERS = record
 | 
						|
    si: Tnuint16;
 | 
						|
    ds: Tnuint16;
 | 
						|
    di: Tnuint16;
 | 
						|
    es: Tnuint16;
 | 
						|
    ax: Tnuint16;
 | 
						|
    bx: Tnuint16;
 | 
						|
    cx: Tnuint16;
 | 
						|
    dx: Tnuint16;
 | 
						|
    bp: Tnuint16;
 | 
						|
    flags: Tnuint16;
 | 
						|
  end;
 | 
						|
 | 
						|
  PPTR_REGISTERS = ^TPTR_REGISTERS;
 | 
						|
  TPTR_REGISTERS = record
 | 
						|
    requestBuffer: Tnptr;
 | 
						|
    replyBuffer: Tnptr;
 | 
						|
  end;
 | 
						|
 | 
						|
  PSEG_OFF_REGISTERS = ^TSEG_OFF_REGISTERS;
 | 
						|
  TSEG_OFF_REGISTERS = record
 | 
						|
    ds_si: Tnptr;
 | 
						|
    es_di: Tnptr;
 | 
						|
  end;
 | 
						|
 | 
						|
  PREGISTERS = ^TREGISTERS;
 | 
						|
  TREGISTERS = record
 | 
						|
    case longint of
 | 
						|
      0: (w: TWORD_REGISTERS);
 | 
						|
      1: (b: TBYTE_REGISTERS);
 | 
						|
      2: (p: TPTR_REGISTERS);
 | 
						|
      3: (s: TSEG_OFF_REGISTERS);
 | 
						|
  end;
 | 
						|
 | 
						|
 | 
						|
{$IFDEF FPC}
 | 
						|
{$PACKRECORDS C}
 | 
						|
{$ENDIF}
 | 
						|
 | 
						|
 | 
						|
{$DEFINE N_PLAT_NLM}
 | 
						|
 | 
						|
 | 
						|
//*****************************************************************************
 | 
						|
//nwapidef.h
 | 
						|
//*****************************************************************************
 | 
						|
 | 
						|
 | 
						|
{ Miscellaneous string lengths (constant) }
 | 
						|
{ NOTE: These max values include a nullbyte }
 | 
						|
 | 
						|
const
 | 
						|
  NW_MAX_USER_NAME_LEN = 49;
 | 
						|
  NW_MAX_VOLUME_NAME_LEN = 17;
 | 
						|
  NW_MAX_SERVER_NAME_LEN = 49;
 | 
						|
  NW_MAX_TREE_NAME_LEN = 33;
 | 
						|
  NW_MAX_SERVICE_TYPE_LEN = 49;
 | 
						|
{ Miscellaneous unicode string sizes in bytes (constant)  }
 | 
						|
 | 
						|
  NW_MAX_USER_NAME_BYTES = 2 * NW_MAX_USER_NAME_LEN;
 | 
						|
  NW_MAX_VOLUME_NAME_BYTES = 2 * NW_MAX_VOLUME_NAME_LEN;
 | 
						|
  NW_MAX_SERVER_NAME_BYTES = 2 * NW_MAX_SERVER_NAME_LEN;
 | 
						|
  NW_MAX_TREE_NAME_BYTES = 2 * NW_MAX_TREE_NAME_LEN;
 | 
						|
  NW_MAX_SERVICE_TYPE_BYTES = 2 * NW_MAX_SERVICE_TYPE_LEN;
 | 
						|
{ PrintFlags (word value)  }
 | 
						|
  NW_PRINT_FLAG_RELEASE = $0001;
 | 
						|
  NW_PRINT_FLAG_SUPPRESS_FF = $0002;
 | 
						|
  NW_PRINT_FLAG_TEXT_FILE = $0004;
 | 
						|
  NW_PRINT_FLAG_PRINT_BANNER = $0008;
 | 
						|
  NW_PRINT_FLAG_NOTIFY = $0010;
 | 
						|
{ Print string lengths (constant)  }
 | 
						|
  NW_MAX_JOBDESCR_LEN = 50;
 | 
						|
  NW_MAX_FORM_NAME_LEN = 13;
 | 
						|
  NW_MAX_BANNER_NAME_LEN = 13;
 | 
						|
  NW_MAX_QUEUE_NAME_LEN = 65;
 | 
						|
{ Client Types : these are returned by NWGetClientType  }
 | 
						|
  NW_NETX_SHELL = 1;  {dos netx}
 | 
						|
  NW_VLM_REQ = 2;     {dos vlm}
 | 
						|
  NW_CLIENT32 = 3;    {dos or 9x nlm client}
 | 
						|
  NW_NT_REQ = 4;
 | 
						|
  NW_OS2_REQ = 5;
 | 
						|
  NW_NLM_REQ = 6;     {a netware server}
 | 
						|
 | 
						|
 | 
						|
type
 | 
						|
  Tnuint = cardinal;
 | 
						|
  pnuint = ^Tnuint;
 | 
						|
  Tnint = longint;
 | 
						|
  pnint = plongint;
 | 
						|
  Tnint32 = longint;
 | 
						|
  pnint32 = plongint;
 | 
						|
  Tnuint32 = cardinal;
 | 
						|
  pnuint32 = pcardinal;
 | 
						|
  Tnint16 = smallint;
 | 
						|
  Pnint16 = ^smallint;
 | 
						|
  TNWCONN_HANDLE = Tnuint;
 | 
						|
  pNWCONN_HANDLE = pnuint;
 | 
						|
  NWCONN_NUM = Tnuint16;
 | 
						|
       //NWCCODE = Tnuint;
 | 
						|
  TNWCCODE = Tnuint;
 | 
						|
  NWDIR_HANDLE = Tnuint8;
 | 
						|
  TNWDIR_HANDLE = NWDIR_HANDLE;
 | 
						|
  PNWDIR_HANDLE = ^NWDIR_HANDLE;
 | 
						|
 | 
						|
  NWFILE_HANDLE = Tnint;
 | 
						|
  TNWFILE_HANDLE = Tnint;
 | 
						|
  PNWFILE_HANDLE = ^NWFILE_HANDLE;
 | 
						|
  LONG = Tnuint32;
 | 
						|
 | 
						|
const
 | 
						|
  FA_NORMAL = $00;
 | 
						|
  FA_READ_ONLY = $01;
 | 
						|
  FA_HIDDEN = $02;
 | 
						|
  FA_SYSTEM = $04;
 | 
						|
  FA_EXECUTE_ONLY = $08;
 | 
						|
  FA_DIRECTORY = $10;
 | 
						|
  FA_NEEDS_ARCHIVED = $20;
 | 
						|
  FA_SHAREABLE = $80;
 | 
						|
    { Extended file attributes  }
 | 
						|
  FA_TRANSACTIONAL = $10;
 | 
						|
  FA_INDEXED = $20;
 | 
						|
  FA_READ_AUDIT = $40;
 | 
						|
  FA_WRITE_AUDIT = $80;
 | 
						|
 | 
						|
       { the following is a the correct attribute mask list  }
 | 
						|
    { The difference between these and the FA_ constants above is that these
 | 
						|
       are in the correct positions. The last four attributes above are 8 bits
 | 
						|
       off. (They need to be shifted 8 bits to the left.)  }
 | 
						|
 | 
						|
const
 | 
						|
  A_NORMAL = $00000000;
 | 
						|
  A_READ_ONLY = $00000001;
 | 
						|
  A_HIDDEN = $00000002;
 | 
						|
  A_SYSTEM = $00000004;
 | 
						|
  A_EXECUTE_ONLY = $00000008;
 | 
						|
  A_DIRECTORY = $00000010;
 | 
						|
  A_NEEDS_ARCHIVED = $00000020;
 | 
						|
  A_SHAREABLE = $00000080;
 | 
						|
  A_DONT_SUBALLOCATE = $00000800;
 | 
						|
  A_TRANSACTIONAL = $00001000;
 | 
						|
    { not in the NCP book  }
 | 
						|
  A_INDEXED = $00002000;
 | 
						|
  A_READ_AUDIT = $00004000;
 | 
						|
  A_WRITE_AUDIT = $00008000;
 | 
						|
  A_IMMEDIATE_PURGE = $00010000;
 | 
						|
  A_RENAME_INHIBIT = $00020000;
 | 
						|
  A_DELETE_INHIBIT = $00040000;
 | 
						|
  A_COPY_INHIBIT = $00080000;
 | 
						|
  A_FILE_MIGRATED = $00400000;
 | 
						|
  A_DONT_MIGRATE = $00800000;
 | 
						|
  A_IMMEDIATE_COMPRESS = $02000000;
 | 
						|
  A_FILE_COMPRESSED = $04000000;
 | 
						|
  A_DONT_COMPRESS = $08000000;
 | 
						|
  A_CANT_COMPRESS = $20000000;
 | 
						|
    { access rights attributes  }
 | 
						|
 | 
						|
const
 | 
						|
  AR_READ = $0001;
 | 
						|
  AR_WRITE = $0002;
 | 
						|
  AR_READ_ONLY = $0001;
 | 
						|
  AR_WRITE_ONLY = $0002;
 | 
						|
  AR_DENY_READ = $0004;
 | 
						|
  AR_DENY_WRITE = $0008;
 | 
						|
  AR_COMPATIBILITY = $0010;
 | 
						|
  AR_WRITE_THROUGH = $0040;
 | 
						|
  AR_OPEN_COMPRESSED = $0100;
 | 
						|
 | 
						|
  { search attributes  }
 | 
						|
  SA_NORMAL = $0000;
 | 
						|
  SA_HIDDEN = $0002;
 | 
						|
  SA_SYSTEM = $0004;
 | 
						|
  SA_SUBDIR_ONLY = $0010;
 | 
						|
  SA_SUBDIR_FILES = $8000;
 | 
						|
  SA_ALL = $8006;
 | 
						|
  USE_NW_WILD_MATCH = 0;
 | 
						|
  USE_DOS_WILD_MATCH = 1;
 | 
						|
 | 
						|
{ Scope specifiers  }
 | 
						|
  GLOBAL = 0;
 | 
						|
  PRIVATE = 1;
 | 
						|
  MY_SESSION = 2;
 | 
						|
  ALL_SESSIONS = 3;
 | 
						|
 | 
						|
//****************************************************************************
 | 
						|
// nwalias.h
 | 
						|
//****************************************************************************
 | 
						|
 | 
						|
type
 | 
						|
  FILE_ATTRIBUTES_MASK = Tnuint32;
 | 
						|
  NWACCESS_MODE = Tnuint8;
 | 
						|
  NWACCESS_RIGHTS = Tnuint8;
 | 
						|
  NWACCT_BALANCE = Tnint32;
 | 
						|
  NWACCT_HOLDS = Tnuint16;
 | 
						|
  NWACCT_LIMIT = Tnint32;
 | 
						|
  NWADDR_LEN = Tnuint8;
 | 
						|
  NWADDR_TYPE = Tnuint8;
 | 
						|
  NWAES_COUNT = Tnuint16;
 | 
						|
 | 
						|
       //!! NWASN1_ID = Asn1ID_T;
 | 
						|
  NWATTR = Tnuint32;
 | 
						|
  NWATTRIBUTES = Tnuint32;
 | 
						|
       //!! NWATTR_INFO = Attr_Info_T;
 | 
						|
  NWAUDIT_BUF_SIZE = Tnuint16;
 | 
						|
  NWAUDIT_CONN_ID = Tnuint32;
 | 
						|
  NWAUDIT_CONTAINER_BIT_MAP = Tnuint32;
 | 
						|
  NWAUDIT_DATA_LEN = Tnuint32;
 | 
						|
  NWAUDIT_DATE_TIME = Tnuint32;
 | 
						|
  NWAUDIT_DS_FLAG = Tnint16;
 | 
						|
  NWAUDIT_EVENT = Tnuint16;
 | 
						|
  NWAUDIT_FILE_CODE = Tnint16;
 | 
						|
  NWAUDIT_FILE_HANDLE = Tnuint32;
 | 
						|
  NWAUDIT_FLAGS = Tnuint32;
 | 
						|
  NWAUDIT_KEY_BUF = pnuint8;
 | 
						|
  NWAUDIT_LEVEL = Tnuint8;
 | 
						|
  NWAUDIT_NAME_SPACE = Tnuint32;
 | 
						|
  NWAUDIT_OBJ_SECURITY = Tnuint32;
 | 
						|
  NWAUDIT_PASSWORD = pnuint8;
 | 
						|
  NWAUDIT_PROCESS_ID = Tnuint32;
 | 
						|
  NWAUDIT_QUEUE_TYPE = Tnuint32;
 | 
						|
  NWAUDIT_RECORD_ID = Tnuint32;
 | 
						|
  NWAUDIT_REC_NUM = Tnuint32;
 | 
						|
  NWAUDIT_REPLICA_NUM = Tnuint16;
 | 
						|
       //!! NWAUDIT_SIZE = NWSIZE;
 | 
						|
  NWAUDIT_STATUS_CODE = Tnuint32;
 | 
						|
  NWAUDIT_TRUSTEE_RIGHTS = Tnuint32;
 | 
						|
  NWAUDIT_VOL_NUM = Tnuint32;
 | 
						|
    { AN ADDITIONAL FLAG SIZE  }
 | 
						|
  NWAUGMENT = Tnuint16;
 | 
						|
  NWBITS = Tnuint32;
 | 
						|
  NWBROADCAST_MODE = Tnuint16;
 | 
						|
  NWBUF_SIZE = Tnuint16;
 | 
						|
  NWCHANGE_BITS = Tnuint32;
 | 
						|
  NWCHANGE_TYPE = Tnuint32;
 | 
						|
  NWCHARGE_AMOUNT = Tnint32;
 | 
						|
       //!! NWCLASS_INFO = Class_Info_T;
 | 
						|
  NWCONFIG_DEFAULT_VALUE = Tnint32;
 | 
						|
  NWCONFIG_ELEMENT_NUM = Tnint16;
 | 
						|
  NWCONFIG_PARAM_TYPE = Tnint16;
 | 
						|
  NWCONN_FLAGS = Tnuint16;
 | 
						|
  NWCONN_NUM_WORD = Tnuint16;
 | 
						|
  NWCONN_TYPE = Tnuint8;
 | 
						|
  NWCOUNT = Tnuint32;
 | 
						|
  NWCTLR_NUM = Tnuint8;
 | 
						|
  NWCTLR_TYPE = Tnuint8;
 | 
						|
  NWCURRENT_REC = Tnuint16;
 | 
						|
  NWDATA_STREAM = Tnuint32;
 | 
						|
  NWDATE = Tnuint16;
 | 
						|
  NWDATE_TIME = Tnuint32;
 | 
						|
  NWDELETE_TIME = Tnuint32;
 | 
						|
  NWDENY_COUNT = Tnuint16;
 | 
						|
  NWDEVICE_ID = Tnuint16;
 | 
						|
  NWDIR_ATTRIBUTES = Tnuint8;
 | 
						|
  NWDIR_BASE = Tnuint32;
 | 
						|
  NWDIR_ENTRY = Tnuint32;
 | 
						|
  NWDIR_ID = Tnuint8;
 | 
						|
  NWDIR_NUM = Tnuint16;
 | 
						|
  NWDIR_SPACE = Tnuint32;
 | 
						|
  NWDIR_STAMP = Tnuint16;
 | 
						|
  NWDIR_TRUSTEE_RIGHTS = Tnuint16;
 | 
						|
  NWDIR_VOL = Tnuint8;
 | 
						|
  NWDISK_CHANNEL = byte;
 | 
						|
  NWDISK_DRV_TYPE = byte;
 | 
						|
  NWDISK_FLAGS = word;
 | 
						|
  NWDISK_NUM = byte;
 | 
						|
  NWDISK_SPACE = cardinal;
 | 
						|
  NWDISK_TYPE = byte;
 | 
						|
  NWDISTANCE = word;
 | 
						|
  NWDMA = byte;
 | 
						|
  NWDM_FLAGS = cardinal;
 | 
						|
  NWDRIVE_NUM = word;
 | 
						|
  NWDRIVE_NUMBER = byte;
 | 
						|
  NWDRV_COMMAND = cardinal;
 | 
						|
  NWDRV_CONFIG = cardinal;
 | 
						|
  NWDRV_FLAGS = word;
 | 
						|
  NWDRV_ID = word;
 | 
						|
  NWDRV_LINK = cardinal;
 | 
						|
  NWDRV_MEM = cardinal;
 | 
						|
  NWDRV_NAME = cardinal;
 | 
						|
  NWDRV_TAG = cardinal;
 | 
						|
  NWDRV_TYPE = cardinal;
 | 
						|
  NWDRV_VERSION = byte;
 | 
						|
  NWDSLEN = cardinal;
 | 
						|
       //!! NWDS_BUFFER = Buf_T;
 | 
						|
  NWDS_EVENT = cardinal;
 | 
						|
       //!! NWDS_FILTER_CURSOR = Filter_Cursor_T;
 | 
						|
  NWDS_FILTER_LEVEL = word;
 | 
						|
       //!! NWDS_FILTER_NODE = Filter_Node_T;
 | 
						|
  NWDS_FLAGS = cardinal;
 | 
						|
  NWDS_ID = Tnint16;
 | 
						|
  NWDS_INTERVAL = cardinal;
 | 
						|
  NWDS_ITERATION = Tnint32;
 | 
						|
  NWDS_LOGIN_FILE = Tnint16;
 | 
						|
  NWDS_NUM_OBJ = Tnint32;
 | 
						|
  NWDS_OPERATION = cardinal;
 | 
						|
  NWDS_PRIVILEGES = cardinal;
 | 
						|
  NWDS_SEARCH_SCOPE = word;
 | 
						|
       //!! NWDS_SESSION_KEY = NWDS_Session_Key_T;
 | 
						|
  NWDS_SIZE = cardinal;
 | 
						|
  NWDS_SYNTAX_FLAGS = Tnint16;
 | 
						|
  NWDS_TOKEN = word;
 | 
						|
  NWDS_TYPE = cardinal;
 | 
						|
  NWDS_TYPE_LEVEL = cardinal;
 | 
						|
  NWDS_VALIDITY = cardinal;
 | 
						|
  NWDS_VALUE = cardinal;
 | 
						|
       //!! NWEA = NW_EA_HANDLE;
 | 
						|
  NWEA_HANDLE = cardinal;
 | 
						|
  NWEA_KEY = word;
 | 
						|
  NWEA_KEY_LEN = word;
 | 
						|
  NWEA_KEY_OFFSET = word;
 | 
						|
       //!! NWEA_SCAN = NW_EA_FF_STRUCT;
 | 
						|
  NWECB_CANCEL_COUNT = word;
 | 
						|
  NWELEMENT_VALUE = Tnint16;
 | 
						|
  NWEMAIL_TYPE = cardinal;
 | 
						|
  NWFACTOR = cardinal;
 | 
						|
  NWFAT = cardinal;
 | 
						|
  NWFILE_ATTR = byte;
 | 
						|
  NWFILE_LEN = cardinal;
 | 
						|
  NWFILE_MODE = byte;
 | 
						|
  NWFILE_SYS_ID = cardinal;
 | 
						|
  NWFINDER_INFO = byte;
 | 
						|
  NWFLAGS = byte;
 | 
						|
  NWFORM_NUM = byte;
 | 
						|
  NWFORM_TYPE = word;
 | 
						|
  NWFRAG_SIZE = word;
 | 
						|
  NWFSE_CONN_TYPE = cardinal;
 | 
						|
  NWFSE_FLAGS = cardinal;
 | 
						|
  NWGLT_FAIL_COUNT = word;
 | 
						|
  NWHANDLE = byte;
 | 
						|
  NWHF_START = cardinal;
 | 
						|
       //!! NWHOLDS_INFO = HOLDS_INFO;
 | 
						|
       //!! NWHOLDS_STATUS = HOLDS_STATUS;
 | 
						|
  NWHOLD_AMOUNT = cardinal;
 | 
						|
  NWHOLD_CANCEL_AMOUNT = cardinal;
 | 
						|
  NWINFO_LEVEL = cardinal;
 | 
						|
  NWINTERRUPT = byte;
 | 
						|
  NWIO_MEM = word;
 | 
						|
  NWJOB_FLAGS = word;
 | 
						|
  NWJOB_HANDLE = cardinal;
 | 
						|
  NWJOB_POSITION = byte;
 | 
						|
  NWJOB_POSITION2 = word;
 | 
						|
  NWJOB_TYPE = word;
 | 
						|
  NWLAN_NUM = byte;
 | 
						|
  NWLAST_RECORD = Tnint16;
 | 
						|
  NWLEN = cardinal;
 | 
						|
  NWLENGTH = word;
 | 
						|
    { FOR DOS, OS/2, AND WINDOWS  }
 | 
						|
  NWLOCAL_FILE_HANDLE = word;
 | 
						|
  NWLOCAL_MODE = word;
 | 
						|
  NWLOCAL_SCOPE = word;
 | 
						|
  NWLOCK_COUNT = word;
 | 
						|
  NWLOCK_DATA_STREAM = byte;
 | 
						|
  NWLOCK_STATE = byte;
 | 
						|
  NWLOCK_TYPE = byte;
 | 
						|
       //NWLOCK_TYPE = byte;
 | 
						|
  NWLOGIN_TIME = array[0..6] of byte;
 | 
						|
 | 
						|
 | 
						|
type
 | 
						|
  NWLPT = byte;
 | 
						|
  NWMAX_PACKET_SIZE = word;
 | 
						|
  NWMEDIA_MASK = cardinal;
 | 
						|
  NWMEDIA_TYPE = cardinal;
 | 
						|
  NWMEM_OFFSET = word;
 | 
						|
  NWMINUTES = byte;
 | 
						|
  NWMODULE_ID = cardinal;
 | 
						|
  NWNAME = pnuint8;
 | 
						|
  NWNAME_LEN = byte;
 | 
						|
  NWNAME_SPACE = byte;
 | 
						|
  NWNAME_SPACE_TYPE = cardinal;
 | 
						|
  NWNET_ADDR = byte;
 | 
						|
  NWNET_ADDR_LEN = cardinal;
 | 
						|
  NWNET_ADDR_TYPE = cardinal;
 | 
						|
  NWNEXT_REQUEST = word;
 | 
						|
  NWNLM_ID = cardinal;
 | 
						|
  NWNLM_TYPE = cardinal;
 | 
						|
  NWNOTE_TYPE = word;
 | 
						|
  NWNS_ACCESS_MODE = word;
 | 
						|
  NWNS_ACCESS_RIGHTS = word;
 | 
						|
  NWNS_ATTR = word;
 | 
						|
  NWNS_BITS = word;
 | 
						|
  NWNS_DATA_STREAM = byte;
 | 
						|
  NWNS_DATA_STREAM2 = word;
 | 
						|
  NWNS_FLAGS = word;
 | 
						|
  NWNS_HANDLE = cardinal;
 | 
						|
  NWNS_LIST_SIZE = byte;
 | 
						|
  NWNS_MASK = cardinal;
 | 
						|
  NWNS_NUM = byte;
 | 
						|
  NWNS_TYPE = word;
 | 
						|
  NWNUM = cardinal;
 | 
						|
  NWNUMBER = word;
 | 
						|
  NWNUMBER_ENTRIES = byte;
 | 
						|
  NWNUM_BLOCKS = cardinal;
 | 
						|
  NWNUM_BUFFERS = word;
 | 
						|
  NWNUM_BYTES = cardinal;
 | 
						|
  NWNUM_CONNS = byte;
 | 
						|
  NWNUM_COPIES = byte;
 | 
						|
  NWNUM_DIR_ENTRIES = cardinal;
 | 
						|
  NWNUM_DRIVES = byte;
 | 
						|
  NWNUM_ELEMENTS = Tnint16;
 | 
						|
  NWNUM_ENTRIES = word;
 | 
						|
  NWNUM_FORKS = byte;
 | 
						|
  NWNUM_HEADS = byte;
 | 
						|
  NWNUM_HOPS = word;
 | 
						|
  NWNUM_PACKETS = cardinal;
 | 
						|
  NWNUM_REQUESTS = cardinal;
 | 
						|
  NWNUM_SECTORS = byte;
 | 
						|
  NWNUM_TRANSACTIONS = byte;
 | 
						|
       //!! NWOBJECT_INFO = Object_Info_T;
 | 
						|
  NWOBJ_ID = cardinal;
 | 
						|
  NWOBJ_TYPE = word;
 | 
						|
  NWOFFSET = cardinal;
 | 
						|
  NWOPEN_COUNT = word;
 | 
						|
  NWOPTION_NUM = byte;
 | 
						|
  NWOS_REVISION = word;
 | 
						|
  NWOS_VERSION = word;
 | 
						|
  NWPATH_SIZE = word;
 | 
						|
  NWPATH_VOL = byte;
 | 
						|
  NWPOSITION = cardinal;
 | 
						|
  NWPRINTER = word;
 | 
						|
  NWPRINT_FLAGS = word;
 | 
						|
  NWPRINT_TASK = cardinal;
 | 
						|
  NWPROTOCOL_MASK = cardinal;
 | 
						|
  NWPROTOCOL_VERSION = byte;
 | 
						|
  NWPSTR = pnstr;
 | 
						|
  NWQMS_HANDLE = cardinal;
 | 
						|
  NWQMS_TASK = cardinal;
 | 
						|
  NWREC_OFFSET = word;
 | 
						|
  NWREPLICA_NUM = Tnint32;
 | 
						|
  NWREPLICA_TYPE = cardinal;
 | 
						|
  NWREQUESTER_VERSION = byte;
 | 
						|
  NWREQUEST_MASK = word;
 | 
						|
  NWRESERVED16 = cardinal;
 | 
						|
  NWRESERVED32 = cardinal;
 | 
						|
  NWREVISION = cardinal;
 | 
						|
  NWRIGHTS = cardinal;
 | 
						|
  NWRIGHTS_MASK = word;
 | 
						|
  NWSEARCH_ATTR = byte;
 | 
						|
  NWSEARCH_ATTRIBUTES = word;
 | 
						|
  NWSEARCH_CONTEXT = word;
 | 
						|
  NWSEARCH_MASK = word;
 | 
						|
  NWSECONDS = cardinal;
 | 
						|
  NWSEGMENT_DATA = pnuint8;
 | 
						|
  NWSEGMENT_NUM = byte;
 | 
						|
  NWSEM_HANDLE = cardinal;
 | 
						|
  NWSEM_INT = Tnint16;
 | 
						|
  NWSEM_VALUE = word;
 | 
						|
  NWSEQUENCE = cardinal;
 | 
						|
  NWSEQUENCE_NUM = word;
 | 
						|
  NWSEQ_NUM = byte;
 | 
						|
  NWSERVER_NAME_LEN = word;
 | 
						|
  NWSERVER_TYPE = word;
 | 
						|
  NWSERVICE_VERSION = byte;
 | 
						|
  NWSESSION_ID = word;
 | 
						|
  NWSIZE = cardinal;
 | 
						|
  NWSOCKET_COUNT = word;
 | 
						|
  NWSPX_COUNT = word;
 | 
						|
  NWSTATION_NUM = byte;
 | 
						|
  NWSTATION_NUM2 = cardinal;
 | 
						|
  NWSTATS_VERSION = byte;
 | 
						|
  NWSTATUS = cardinal;
 | 
						|
  NWSTRUCT_SIZE = word;
 | 
						|
  NWSUPPORT_LEVEL = byte;
 | 
						|
  NWSYNTAX_ID = cardinal;
 | 
						|
       //!! NWSYNTAX_INFO = Syntax_Info_T;
 | 
						|
  NWSYS_TIME = cardinal;
 | 
						|
  NWTAB = byte;
 | 
						|
  NWTASK = word;
 | 
						|
  NWTASK_COUNT = byte;
 | 
						|
  NWTASK_NUM = word;
 | 
						|
  NWTASK_STATE = byte;
 | 
						|
  NWTDS = word;
 | 
						|
  NWTDS_OFFSET = word;
 | 
						|
  NWTICKS = word;
 | 
						|
  NWTIME = word;
 | 
						|
  NWTRAN_TYPE = byte;
 | 
						|
  NWTRUSTEE_SEQUENCE_NUM = word;
 | 
						|
  NWUSE_COUNT = word;
 | 
						|
  NWUTILIZATION = cardinal;
 | 
						|
  NWVCONSOLE_REVISION = byte;
 | 
						|
  NWVCONSOLE_VERSION = byte;
 | 
						|
  NWVERSION = cardinal;
 | 
						|
  NWVOL = cardinal;
 | 
						|
  NWVOL_FLAGS = word;
 | 
						|
  NWVOL_NUM = word;
 | 
						|
  NWVOL_NUMBER = byte;
 | 
						|
  NWVOL_TYPE = cardinal;
 | 
						|
  TRUSTEE_RIGHTS = cardinal;
 | 
						|
//*****************************************************************************
 | 
						|
//nwafp.h
 | 
						|
//*****************************************************************************
 | 
						|
 | 
						|
 | 
						|
    {* This is the structure that the application expects to see. Note that the
 | 
						|
        long name and short name will be null terminated, and one extra byte has
 | 
						|
        been added to long name and short name to assure word alignment * }
 | 
						|
type
 | 
						|
 | 
						|
  PAFPFILEINFO = ^TAFPFILEINFO;
 | 
						|
  TAFPFILEINFO = record
 | 
						|
    entryID: Tnuint32;
 | 
						|
    parentID: Tnuint32;
 | 
						|
    attributes: Tnuint16;
 | 
						|
    dataForkLength: Tnuint32;
 | 
						|
    resourceForkLength: Tnuint32;
 | 
						|
    numOffspring: Tnuint16;
 | 
						|
    creationDate: Tnuint16;
 | 
						|
    accessDate: Tnuint16;
 | 
						|
    modifyDate: Tnuint16;
 | 
						|
    modifyTime: Tnuint16;
 | 
						|
    backupDate: Tnuint16;
 | 
						|
    backupTime: Tnuint16;
 | 
						|
    finderInfo: array[0..31] of Tnuint8;
 | 
						|
    longName: array[0..33] of Tnstr8;
 | 
						|
    ownerID: Tnuint32;
 | 
						|
    shortName: array[0..13] of Tnstr8;
 | 
						|
    accessPrivileges: Tnuint16;
 | 
						|
    proDOSInfo: array[0..5] of Tnuint8;
 | 
						|
  end;
 | 
						|
  TNW_AFP_FILE_INFO = TAFPFILEINFO;
 | 
						|
  PNW_AFP_FILE_INFO = ^TNW_AFP_FILE_INFO;
 | 
						|
  {This is the structure that actually returned from the NCP call}
 | 
						|
 | 
						|
  PRECPKT_AFPFILEINFO = ^TRECPKT_AFPFILEINFO;
 | 
						|
  TRECPKT_AFPFILEINFO = record
 | 
						|
    entryID: Tnuint32;
 | 
						|
    parentID: Tnuint32;
 | 
						|
    attributes: Tnuint16;
 | 
						|
    dataForkLength: Tnuint32;
 | 
						|
    resourceForkLength: Tnuint32;
 | 
						|
    numOffspring: Tnuint16;
 | 
						|
    creationDate: Tnuint16;
 | 
						|
    accessDate: Tnuint16;
 | 
						|
    modifyDate: Tnuint16;
 | 
						|
    modifyTime: Tnuint16;
 | 
						|
    backupDate: Tnuint16;
 | 
						|
    backupTime: Tnuint16;
 | 
						|
    finderInfo: array[0..31] of Tnuint8;
 | 
						|
    longName: array[0..31] of Tnstr8;
 | 
						|
    ownerID: Tnuint32;
 | 
						|
    shortName: array[0..11] of Tnstr8;
 | 
						|
    accessPrivileges: Tnuint16;
 | 
						|
    proDOSInfo: array[0..5] of Tnuint8;
 | 
						|
  end;
 | 
						|
 | 
						|
  PAFPSETINFO = ^TAFPSETINFO;
 | 
						|
  TAFPSETINFO = record
 | 
						|
    attributes: Tnuint16;
 | 
						|
    creationDate: Tnuint16;
 | 
						|
    accessDate: Tnuint16;
 | 
						|
    modifyDate: Tnuint16;
 | 
						|
    modifyTime: Tnuint16;
 | 
						|
    backupDate: Tnuint16;
 | 
						|
    backupTime: Tnuint16;
 | 
						|
    finderInfo: array[0..31] of Tnuint8;
 | 
						|
    proDOSInfo: array[0..5] of Tnuint8;
 | 
						|
  end;
 | 
						|
  TNW_AFP_SET_INFO = TAFPSETINFO;
 | 
						|
  PNW_AFP_SET_INFO = ^TNW_AFP_SET_INFO;
 | 
						|
 | 
						|
  NWAFP_ACCESS_PRIVILEGES = word;
 | 
						|
  NWAFP_ENTRY_ID = cardinal;
 | 
						|
  NWAFP_FILE_ATTRIBUTES = word;
 | 
						|
       //!! NWAFP_FILE_INFO = AFPFILEINFO;
 | 
						|
  NWAFP_FORK_LEN = cardinal;
 | 
						|
  NWAFP_NUM_OFFSPRING = word;
 | 
						|
       //!! NWAFP_SET_INFO = AFPSETINFO;
 | 
						|
  NWAPP_NUM = word;
 | 
						|
 | 
						|
 | 
						|
 | 
						|
{ the following are the constants that can be used for requestMasks
 | 
						|
  in NWAFPScanFileInformation and NWAFPGetFileInformation. }
 | 
						|
 | 
						|
const
 | 
						|
  AFP_GET_ATTRIBUTES = $0001;
 | 
						|
  AFP_GET_PARENT_ID = $0002;
 | 
						|
  AFP_GET_CREATE_DATE = $0004;
 | 
						|
  AFP_GET_ACCESS_DATE = $0008;
 | 
						|
  AFP_GET_MODIFY_DATETIME = $0010;
 | 
						|
  AFP_GET_BACKUP_DATETIME = $0020;
 | 
						|
  AFP_GET_FINDER_INFO = $0040;
 | 
						|
  AFP_GET_LONG_NAME = $0080;
 | 
						|
  AFP_GET_ENTRY_ID = $0100;
 | 
						|
  AFP_GET_DATA_LEN = $0200;
 | 
						|
  AFP_GET_RESOURCE_LEN = $0400;
 | 
						|
  AFP_GET_NUM_OFFSPRING = $0800;
 | 
						|
  AFP_GET_OWNER_ID = $1000;
 | 
						|
  AFP_GET_SHORT_NAME = $2000;
 | 
						|
  AFP_GET_ACCESS_RIGHTS = $4000;
 | 
						|
  AFP_GET_PRO_DOS_INFO = $8000;
 | 
						|
  AFP_GET_ALL = $FFFF;
 | 
						|
 | 
						|
{ used for NWAFPSetFileInformation }
 | 
						|
  AFP_SET_ATTRIBUTES = $0001;
 | 
						|
  AFP_SET_CREATE_DATE = $0004;
 | 
						|
  AFP_SET_ACCESS_DATE = $0008;
 | 
						|
  AFP_SET_MODIFY_DATETIME = $0010;
 | 
						|
  AFP_SET_BACKUP_DATETIME = $0020;
 | 
						|
  AFP_SET_FINDER_INFO = $0040;
 | 
						|
  AFP_SET_PRO_DOS_INFO = $8000;
 | 
						|
  AFP_SA_NORMAL = $0000;
 | 
						|
  AFP_SA_HIDDEN = $0100;
 | 
						|
  AFP_SA_SYSTEM = $0200;
 | 
						|
  AFP_SA_SUBDIR = $0400;
 | 
						|
  AFP_SA_FILES = $0800;
 | 
						|
  AFP_SA_ALL = $0F00;
 | 
						|
 | 
						|
 | 
						|
function NWAFPAllocTemporaryDirHandle(conn: TNWCONN_HANDLE; volNum: Tnuint16; AFPEntryID: Tnuint32; AFPPathString: Pnstr8; dirHandle: PNWDIR_HANDLE;
 | 
						|
  accessRights: pnuint8): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWAFPCreateDirectory(conn: TNWCONN_HANDLE; volNum: Tnuint16; AFPEntryID: Tnuint32; finderInfo: pnuint8; AFPPathString: pnstr8;
 | 
						|
  newAFPEntryID: pnuint32): TNWCCODE; NWLIB_CLIB;
 | 
						|
 | 
						|
function NWAFPCreateFile(conn: TNWCONN_HANDLE; volNum: Tnuint16; AFPEntryID: Tnuint32; delExistingFile: Tnuint8; finderInfo: pnuint8;
 | 
						|
  AFPPathString: Pnstr8; newAFPEntryID: pnuint32): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
 | 
						|
function NWAFPDelete(conn: TNWCONN_HANDLE; volNum: Tnuint16; AFPEntryID: Tnuint32; AFPPathString: Pnstr8): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
 | 
						|
function NWAFPGetEntryIDFromName(conn: TNWCONN_HANDLE; volNum: Tnuint16; AFPEntryID: Tnuint32; AFPPathString: Pnstr8; newAFPEntryID: pnuint32): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
 | 
						|
function NWAFPGetEntryIDFromHandle(conn: TNWCONN_HANDLE; NWHandle: Pnuint8; volNum: pnuint16; AFPEntryID: pnuint32; forkIndicator: pnuint8): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
 | 
						|
function NWAFPGetEntryIDFromPathName(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; path: Pnstr8; AFPEntryID: pnuint32): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
 | 
						|
function NWAFPGetFileInformation(conn: TNWCONN_HANDLE; volNum: Tnuint16; AFPEntryID: Tnuint32; reqMask: Tnuint16; AFPPathString: Pnstr8;
 | 
						|
  structSize: Tnuint16; AFPFileInfo: PNW_AFP_FILE_INFO): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
 | 
						|
function NWAFPDirectoryEntry(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; path: Pnstr8): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
 | 
						|
function NWAFPOpenFileFork(conn: TNWCONN_HANDLE; volNum: Tnuint16; AFPEntryID: Tnuint32; forkIndicator: Tnuint8; accessMode: Tnuint8;
 | 
						|
  AFPPathString: Pnstr8; fileID: pnuint32; forkLength: pnuint32; NWHandle: pnuint8; DOSFileHandle: PNWFILE_HANDLE): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
 | 
						|
 | 
						|
function NWAFPRename(conn: TNWCONN_HANDLE; volNum: Tnuint16; AFPSourceEntryID: Tnuint32; AFPDestEntryID: Tnuint32; AFPSrcPath: Pnstr8;
 | 
						|
  AFPDstPath: Pnstr8): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
 | 
						|
function NWAFPScanFileInformation(conn: TNWCONN_HANDLE; volNum: Tnuint16; AFPEntryID: Tnuint32; AFPLastSeenID: pnuint32; searchMask: Tnuint16;
 | 
						|
  reqMask: Tnuint16; AFPPathString: Pnstr8; structSize: Tnuint16; AFPFileInfo: PNW_AFP_FILE_INFO): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
 | 
						|
function NWAFPSetFileInformation(conn: TNWCONN_HANDLE; volNum: Tnuint16; AFPBaseID: Tnuint32; reqMask: Tnuint16; AFPPathString: Pnstr8;
 | 
						|
  structSize: Tnuint16; AFPSetInfo: PNW_AFP_SET_INFO): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWAFPSupported(conn: TNWCONN_HANDLE; volNum: Tnuint16): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
 | 
						|
function NWAFPASCIIZToLenStr(pbstrDstStr: Pnstr8; pbstrSrcStr: Pnstr8): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
 | 
						|
//*******************
 | 
						|
// unicode.h
 | 
						|
//*******************
 | 
						|
 | 
						|
type
 | 
						|
  Psize_t = ^Tsize_t;
 | 
						|
  Tsize_t = dword;
 | 
						|
  Punicode = ^Tunicode;
 | 
						|
  Tunicode = word;
 | 
						|
    { Unicode data must be 16 bits    }
 | 
						|
 | 
						|
    {typedef unicode  * punicode; }
 | 
						|
    {typedef unicode  *  * ppunicode; }
 | 
						|
    { was #define dname(params) para_def_expr }
 | 
						|
    { argument types are unknown }
 | 
						|
    { return type might be wrong }
 | 
						|
    //function nwunisize(x : longint) : longint;
 | 
						|
 | 
						|
    { Converter handle }
 | 
						|
type
 | 
						|
 | 
						|
  PCONVERT = ^TCONVERT;
 | 
						|
  TCONVERT = pointer;
 | 
						|
 | 
						|
  PpCONVERT = ^TpCONVERT;
 | 
						|
  TpCONVERT = TCONVERT;
 | 
						|
 | 
						|
    {************************************************************************** }
 | 
						|
    {Type definitions for converter based APIs }
 | 
						|
    {Function called when non-mappable bytes are found }
 | 
						|
    { Handle to Byte <-> Uni converter   }
 | 
						|
    { Pointer to current output position }
 | 
						|
    { Space left in output buffer        }
 | 
						|
    { Space used in output buffer        }
 | 
						|
    { Pointer to unmappable bytes        }
 | 
						|
    { Size of unmappable input           }
 | 
						|
type
 | 
						|
 | 
						|
  TNMBYTE = function(byteUniHandle: TpCONVERT; output: punicode; outputLeft: Tnuint; outputUsed: pnuint; badInput: Pnuint8;
 | 
						|
    badInputSize: Tnuint): Tnint; cdecl;
 | 
						|
    {
 | 
						|
        Function called when non-mappable unicode characters are found
 | 
						|
     }
 | 
						|
    { Handle to Byte <-> Uni converter   }
 | 
						|
    { Pointer to current output position }
 | 
						|
    { Space left in output buffer        }
 | 
						|
    { Space used in output buffer        }
 | 
						|
    { Ptr to unmappable unicode chars    }
 | 
						|
    { Size of unmappable input           }
 | 
						|
 | 
						|
  TNMUNI = function(byteUniHandle: TpCONVERT; output: pnuint8; outputLeft: Tnuint; outputUsed: pnuint; badInput: Punicode;
 | 
						|
    badInputSize: Tnuint): Tnint; cdecl;
 | 
						|
    {
 | 
						|
        Function called to scan for special byte input
 | 
						|
     }
 | 
						|
    { Handle to Byte <-> Uni converter   }
 | 
						|
    { Input to scan for special bytes    }
 | 
						|
    { Maximum # of bytes to scan or -1   }
 | 
						|
 | 
						|
  TSCBYTE = function(byteUniHandle: TpCONVERT; input: Pnuint8; scanmax: Tnint): pnuint8; cdecl;
 | 
						|
    {
 | 
						|
        Function called to scan for special Unicode input
 | 
						|
     }
 | 
						|
    { Handle to Byte <-> Uni converter  }
 | 
						|
    { Input to scan for special chars   }
 | 
						|
    { Maximum # of bytes to scan or -1  }
 | 
						|
 | 
						|
  TSCUNI = function(byteUniHandle: TpCONVERT; input: Punicode; scanmax: Tnint): punicode; cdecl;
 | 
						|
    {
 | 
						|
        Function called to parse special byte input
 | 
						|
     }
 | 
						|
    { Handle to Byte <-> Uni converter   }
 | 
						|
    { Buffer for Unicode output          }
 | 
						|
    { Space left in output buffer        }
 | 
						|
    { Space used in output buffer        }
 | 
						|
    { Buffer containing byte input       }
 | 
						|
    { Number of bytes of input used      }
 | 
						|
 | 
						|
  TPRBYTE = function(byteUniHandle: TpCONVERT; output: punicode; outputleft: Tnuint; outputUsed: pnuint; input: Pnuint8;
 | 
						|
    inputUsed: pnuint): Tnint; cdecl;
 | 
						|
    {
 | 
						|
        Function called to parse special Unicode input
 | 
						|
     }
 | 
						|
    { Handle to Byte <-> Uni converter  }
 | 
						|
    { Buffer for bytes output           }
 | 
						|
    { Space left in output buffer       }
 | 
						|
    { Space used in output buffer       }
 | 
						|
    { Buffer containing byte input      }
 | 
						|
    { Number of Unicodes of input used  }
 | 
						|
 | 
						|
  TPRUNI = function(byteUniHandle: TpCONVERT; output: pnuint8; outputLeft: Tnuint; outputUsed: pnuint; input: Punicode;
 | 
						|
    inputUsed: pnuint): Tnint; cdecl;
 | 
						|
    {************************************************************************** }
 | 
						|
    {
 | 
						|
       Macros used by and returned from converter based API calls
 | 
						|
     (i.e. NWUS*, NWUX*)
 | 
						|
     }
 | 
						|
    {
 | 
						|
       Novell-defined Unicode characters.
 | 
						|
       Consult with the Internationalization group before adding to this list.
 | 
						|
     }
 | 
						|
 | 
						|
const
 | 
						|
  UNI_CHANGE_NAMESPACE = $F8F4;
 | 
						|
  UNI_PREVIOUS_DIR = $F8F5;
 | 
						|
  UNI_CURRENT_DIR = $F8F6;
 | 
						|
  UNI_PATH_SEPARATOR = $F8F7;
 | 
						|
  UNI_VOLUMENAME_ROOT = $F8F8;
 | 
						|
  UNI_VOLUME_ROOT = $F8F9;
 | 
						|
  UNI_NDS_ROOT = $F8FA;
 | 
						|
  UNI_WILD_QMARK = $F8FB;
 | 
						|
  UNI_WILD_ASTERISK = $F8FC;
 | 
						|
  UNI_WILD_AUG_QMARK = $F8FD;
 | 
						|
  UNI_WILD_AUG_ASTERISK = $F8FE;
 | 
						|
  UNI_WILD_AUG_PERIOD = $F8FF;
 | 
						|
    {
 | 
						|
        Actions to take when an unmappable byte or uni character is encountered.
 | 
						|
        Used in SetNoMapAction call.
 | 
						|
     }
 | 
						|
    { Leave action unchanged                    }
 | 
						|
  NWU_UNCHANGED_ACTION = -(1);
 | 
						|
    { Return error code NWU_UNMAPPABLE_CHAR     }
 | 
						|
  NWU_RETURN_ERROR = 0;
 | 
						|
    { Use the current substitution character    }
 | 
						|
  NWU_SUBSTITUTE = 1;
 | 
						|
    { Call the no map handler function          }
 | 
						|
  NWU_CALL_HANDLER = 2;
 | 
						|
    {
 | 
						|
        Codes to enable the Scan and Parse handler functions.
 | 
						|
        Used in SetScanAction call.
 | 
						|
     }
 | 
						|
  NWU_DISABLED = 0; // Disable Scan/Parse functions
 | 
						|
  NWU_ENABLED = 2; // Enable  Scan/Parse functions
 | 
						|
    { Flags to pass to NWUXGetCaseConverter to specify whether to load
 | 
						|
      a converter which converts to upper, lower or title case. }
 | 
						|
  NWU_LOWER_CASE = 0; // Lower case
 | 
						|
  NWU_UPPER_CASE = 1;
 | 
						|
  NWU_TITLE_CASE = 2;
 | 
						|
    { Flags to pass to NWUXGetNormalizeConverter to specify whether to
 | 
						|
      load a converter which converts to pre-composed or de-composed
 | 
						|
      unicode characters. }
 | 
						|
  NWU_PRECOMPOSED = 0;
 | 
						|
  NWU_DECOMPOSED = 1;
 | 
						|
    { For use in SetByte/UniFunction calls }
 | 
						|
    //function NWU_UNCHANGED_FUNCTION : pointer;
 | 
						|
 | 
						|
 | 
						|
const
 | 
						|
  NWU_RESET_TO_DEFAULT = nil;
 | 
						|
    { Error codes.  FFFFFDE0 to FFFFFDFF reserved for new unicode APIs. }
 | 
						|
  NWU_NO_CONVERTER = -(544); // Default converter not loaded
 | 
						|
  NWU_CONVERTER_NOT_FOUND = -(543); // Converter file was not found
 | 
						|
  NWU_TOO_MANY_FILES = -(542); // Too many open files
 | 
						|
  NWU_NO_PERMISSION = -(541); // Access to file was denied
 | 
						|
  NWU_OPEN_FAILED = -(540); // File open failed
 | 
						|
  NWU_READ_FAILED = -(539); // File read failed
 | 
						|
  NWU_OUT_OF_MEMORY = -(538); // Insufficient memory
 | 
						|
  NWU_CANT_LOAD_CONVERTER = -(537); // Unable to load converter
 | 
						|
  NWU_CONVERTER_CORRUPT = -(536); // The converter is invalid
 | 
						|
  NWU_NULL_HANDLE = -(535); // Converter handle was NULL
 | 
						|
  NWU_BAD_HANDLE = -(534); // Converter handle is invalid
 | 
						|
  NWU_HANDLE_MISMATCH = -(533); // Handle doesn't match operation
 | 
						|
  NWU_UNMAPPABLE_CHAR = -(532); // Unmappable character found
 | 
						|
  NWU_RANGE_ERROR = -(531); // Invalid constant passed to fn
 | 
						|
  NWU_BUFFER_FULL = -(530); // Buffer too small for output
 | 
						|
  NWU_INPUT_MAX = -(529); // Processed max # of input chars
 | 
						|
  UNI_PARSER_ERROR = -(528); // Error from user-written parser
 | 
						|
  NWU_OLD_CONVERTER_VERSION = -(527); // Outdated converter DLL
 | 
						|
  NWU_UNSUPPORTED_AUX_FUNCTION = -(526); // Unsupported AUX function
 | 
						|
  NWU_EMBEDDED_NULL = -(525); // Embedded null in len spec string
 | 
						|
  NWU_GET_CODE_PAGE_FAILED = -(524); // Failed to get system cp or cc
 | 
						|
  NWU_ILLEGAL_UTF8_CHARACTER = -(506); // Cannot convert UTF8 char to Uni
 | 
						|
  NWU_INSUFFICIENT_BUFFER = -(500);
 | 
						|
    { Error codes for translator based APIs (i.e. NW prefix) }
 | 
						|
  UNI_ALREADY_LOADED = -(489); // Already loaded another country or code page
 | 
						|
  UNI_FUTURE_OPCODE = -(490); // Rule table has unimplimented rules
 | 
						|
  UNI_NO_SUCH_FILE = -(491); // No such file or directory
 | 
						|
  UNI_TOO_MANY_FILES = -(492); // Too many files already open
 | 
						|
  UNI_NO_PERMISSION = -(493); // Permission denied on file open
 | 
						|
  UNI_NO_MEMORY = -(494); // Not enough memory
 | 
						|
  UNI_LOAD_FAILED = -(495); // NWLoadRuleTable failed, don't know why
 | 
						|
  UNI_HANDLE_BAD = -(496); // Rule table handle was bad
 | 
						|
  UNI_HANDLE_MISMATCH = -(497); // Rule table handle doesn't match operation
 | 
						|
  UNI_RULES_CORRUPT = -(498); // Rule table is corrupt
 | 
						|
  UNI_NO_DEFAULT = -(499); // No default rule and no 'No map' character
 | 
						|
  UNI_INSUFFICIENT_BUFFER = -(500);
 | 
						|
  UNI_OPEN_FAILED = -(501); // Open failed in NWLoadRuleTable
 | 
						|
  UNI_NO_LOAD_DIR = -(502); // Load directory could not be determined
 | 
						|
  UNI_BAD_FILE_HANDLE = -(503); // File handle was bad
 | 
						|
  UNI_READ_FAILED = -(504); // File read of rule table failed
 | 
						|
  UNI_TRANS_CORRUPT = -(505); // Translator is corrupt
 | 
						|
  UNI_ILLEGAL_UTF8_CHARACTER = -(506); // Illegal UTF-8 character encountered
 | 
						|
 | 
						|
    {************************************************************************** }
 | 
						|
    { Unicode converter prototypes - These APIs are preferred over the older
 | 
						|
      non-converter counterparts (i.e. NWUnicodeToLocal, NWLocalToUnicode, etc.)}
 | 
						|
    { These are the Standard API's }
 | 
						|
 | 
						|
    { Initialize standard converters }
 | 
						|
 | 
						|
function NWUSStandardUnicodeInit: Tnint; NWLIB_LOCNLM32;
 | 
						|
    { Replace standard converter.               }
 | 
						|
function NWUSStandardUnicodeOverride(codepage: Tnuint): Tnint; NWLIB_LOCNLM32;
 | 
						|
    { Release the standard converters           }
 | 
						|
procedure NWUSStandardUnicodeRelease; NWLIB_LOCNLM32;
 | 
						|
    { Get the native code page and country      }
 | 
						|
function NWUSGetCodePage(pCodePage: pnuint; pCountry: pnuint): Tnint; NWLIB_LOCNLM32;
 | 
						|
    { NOTE:  The actualLength parameter returned by the conversion routines
 | 
						|
              does *not* include the null terminator.
 | 
						|
     }
 | 
						|
    { Convert bytes to Unicode                  }
 | 
						|
    { Buffer for resulting Unicode     }
 | 
						|
    { Length of output buffer. Or 0    }
 | 
						|
 | 
						|
    { Buffer for input bytes           }
 | 
						|
    { Length of results in uni chars   }
 | 
						|
function NWUSByteToUnicode(unicodeOutput: punicode; outputBufferLen: Tnuint; byteInput: Pnuint8; actualLength: pnuint): Tnint; NWLIB_LOCNLM32;
 | 
						|
    { Convert bytes to Unicode for file path    }
 | 
						|
    { Buffer for resulting Unicode     }
 | 
						|
    { Length of output buffer. Or 0    }
 | 
						|
 | 
						|
    { Buffer for input bytes           }
 | 
						|
    { Length of results in uni chars   }
 | 
						|
function NWUSByteToUnicodePath(unicodeOutput: punicode; outputBufferLen: Tnuint; byteInput: Pnuint8; actualLength: pnuint): Tnint; NWLIB_LOCNLM32;
 | 
						|
    { Convert bytes to Unicode                  }
 | 
						|
    { Buffer for resulting Unicode     }
 | 
						|
    { Length of output buffer. Or 0    }
 | 
						|
 | 
						|
    { Buffer for input bytes           }
 | 
						|
    { Input str length in bytes or -1  }
 | 
						|
    { Length of results in uni chars   }
 | 
						|
function NWUSLenByteToUnicode(unicodeOutput: punicode; outputBufferLen: Tnuint; byteInput: Pnuint8; inLength: Tnint; actualLength: pnuint): Tnint; NWLIB_LOCNLM32;
 | 
						|
    { Convert bytes to Unicode for file path    }
 | 
						|
    { Buffer for resulting Unicode     }
 | 
						|
    { Length of  output buffer. Or 0   }
 | 
						|
 | 
						|
    { Buffer for input bytes           }
 | 
						|
    { Input str length in bytes or -1  }
 | 
						|
    { Length of results in uni chars   }
 | 
						|
function NWUSLenByteToUnicodePath(unicodeOutput: punicode; outputBufferLen: Tnuint; byteInput: Pnuint8; inLength: Tnint; actualLength: pnuint): Tnint; NWLIB_LOCNLM32;
 | 
						|
    { Convert Unicode to bytes                  }
 | 
						|
    { Buffer for output bytes         }
 | 
						|
    { Length of output buffer. Or 0   }
 | 
						|
 | 
						|
    { Buffer for Unicode input        }
 | 
						|
    { Length of results in bytes      }
 | 
						|
function NWUSUnicodeToByte(byteOutput: pnuint8; outputBufferLen: Tnuint; unicodeInput: Punicode; actualLength: pnuint): Tnint; NWLIB_LOCNLM32;
 | 
						|
    { Convert Unicode to bytes for file path    }
 | 
						|
    { Buffer for output bytes         }
 | 
						|
    { Length of output buffer. Or 0   }
 | 
						|
 | 
						|
    { Buffer for Unicode input        }
 | 
						|
    { Length of results in bytes      }
 | 
						|
function NWUSUnicodeToBytePath(byteOutput: pnuint8; outputBufferLen: Tnuint; unicodeInput: Punicode; actualLength: pnuint): Tnint; NWLIB_LOCNLM32;
 | 
						|
    { Convert Unicode to bytes                  }
 | 
						|
    { Buffer for output bytes         }
 | 
						|
    { Length of output buffer         }
 | 
						|
 | 
						|
    { Buffer for Unicode input        }
 | 
						|
    { Length of results in bytes      }
 | 
						|
function NWUSUnicodeToUntermByte(byteOutput: pnuint8; outputBufferLen: Tnuint; unicodeInput: Punicode; actualLength: pnuint): Tnint; NWLIB_LOCNLM32;
 | 
						|
    { Convert Unicode to bytes for file path    }
 | 
						|
    { Buffer for output bytes         }
 | 
						|
    { Length of output buffer         }
 | 
						|
 | 
						|
    { Buffer for Unicode input        }
 | 
						|
    { Length of results in bytes      }
 | 
						|
function NWUSUnicodeToUntermBytePath(byteOutput: pnuint8; outputBufferLen: Tnuint; unicodeInput: Punicode; actualLength: pnuint): Tnint; NWLIB_LOCNLM32;
 | 
						|
    { Convert Unicode to lower case             }
 | 
						|
    { Buffer for lower cased output   }
 | 
						|
    { Length of output buffer. Or 0   }
 | 
						|
 | 
						|
    { Buffer for Unicode input        }
 | 
						|
    { Length of results in uni chars  }
 | 
						|
function NWUSUnicodeToLowerCase(lowerCaseOutput: punicode; outputBufferLen: Tnuint; unicodeInput: Punicode; actualLength: pnuint): Tnint; NWLIB_LOCNLM32;
 | 
						|
    { Convert Unicode to upper case             }
 | 
						|
    { Buffer for upper cased output   }
 | 
						|
    { Length of output buffer. Or 0   }
 | 
						|
 | 
						|
    { Buffer for Unicode input        }
 | 
						|
    { Length of results in uni chars  }
 | 
						|
function NWUSUnicodeToUpperCase(upperCaseOutput: punicode; outputBufferLen: Tnuint; unicodeInput: Punicode; actualLength: pnuint): Tnint; NWLIB_LOCNLM32;
 | 
						|
    {
 | 
						|
        These are the Extended API's
 | 
						|
     }
 | 
						|
    { Load a Byte <-> Unicode converter         }
 | 
						|
    { Codepage number                        }
 | 
						|
    { Converter handle returned here         }
 | 
						|
function NWUXLoadByteUnicodeConverter(codepage: Tnuint; byteUniHandle: PpCONVERT): Tnint; NWLIB_LOCNLM32;
 | 
						|
    { Load a Unicode -> Case converter          }
 | 
						|
    { Want upper, lower or title casing?       }
 | 
						|
    { Converter handle returned here           }
 | 
						|
function NWUXLoadCaseConverter(caseFlag: Tnuint; caseHandle: PpCONVERT): Tnint; NWLIB_LOCNLM32;
 | 
						|
    { Load a Unicode -> Collation converter     }
 | 
						|
    { Country code for this locale         }
 | 
						|
    { Converter handle returned here       }
 | 
						|
function NWUXLoadCollationConverter(countryCode: Tnuint; collationHandle: PpCONVERT): Tnint; NWLIB_LOCNLM32;
 | 
						|
    { Load a Unicode -> Normalized converter    }
 | 
						|
    { Want precomposed or decomposed flag? }
 | 
						|
    { Converter handle returned here       }
 | 
						|
function NWUXLoadNormalizeConverter(preDeFlag: Tnuint; normalizeHandle: PpCONVERT): Tnint; NWLIB_LOCNLM32;
 | 
						|
    { Release a converter from memory           }
 | 
						|
    { Handle to converter to be released        }
 | 
						|
function NWUXUnloadConverter(converterHandle: TpCONVERT): Tnint; NWLIB_LOCNLM32;
 | 
						|
    { Convert bytes to Unicode                  }
 | 
						|
    { Handle to Byte <-> Uni converter }
 | 
						|
    { Buffer for resulting Unicode     }
 | 
						|
    { Length of output buffer. Or 0    }
 | 
						|
 | 
						|
    { Buffer for input bytes           }
 | 
						|
    { Length of results in uni chars   }
 | 
						|
function NWUXByteToUnicode(byteUniHandle: TpCONVERT; unicodeOutput: punicode; outputBufferLen: Tnuint; byteInput: Pnuint8; actualLength: pnuint): Tnint; NWLIB_LOCNLM32;
 | 
						|
    { Convert bytes to Unicode for file path    }
 | 
						|
    { Handle to Byte <-> Uni converter }
 | 
						|
    { Buffer for resulting Unicode     }
 | 
						|
    { Length of output buffer. Or 0    }
 | 
						|
 | 
						|
    { Buffer for input bytes           }
 | 
						|
    { Length of results in uni chars   }
 | 
						|
function NWUXByteToUnicodePath(byteUniHandle: TpCONVERT; unicodeOutput: punicode; outputBufferLen: Tnuint; byteInput: Pnuint8; actualLength: pnuint): Tnint; NWLIB_LOCNLM32;
 | 
						|
    { Convert bytes to Unicode                  }
 | 
						|
    { Handle to Byte <-> Uni converter }
 | 
						|
    { Buffer for resulting Unicode     }
 | 
						|
    { Length of output buffer          }
 | 
						|
 | 
						|
    { Buffer for input bytes           }
 | 
						|
    { Input str length in bytes or -1  }
 | 
						|
    { Length of results in uni chars   }
 | 
						|
function NWUXLenByteToUnicode(byteUniHandle: TpCONVERT; unicodeOutput: punicode; outputBufferLen: Tnuint; byteInput: Pnuint8; inLength: Tnint;
 | 
						|
  actualLength: pnuint): Tnint; NWLIB_LOCNLM32;
 | 
						|
    { Convert bytes to Unicode for file path    }
 | 
						|
    { Handle to Byte <-> Uni converter }
 | 
						|
    { Buffer for resulting Unicode     }
 | 
						|
    { Length of output buffer          }
 | 
						|
 | 
						|
    { Buffer for input bytes           }
 | 
						|
    { Input str length in bytes or -1  }
 | 
						|
    { Length of results in uni chars   }
 | 
						|
function NWUXLenByteToUnicodePath(byteUniHandle: TpCONVERT; unicodeOutput: punicode; outputBufferLen: Tnuint; byteInput: Pnuint8; inLength: Tnint;
 | 
						|
  actualLength: pnuint): Tnint; NWLIB_LOCNLM32;
 | 
						|
    { Convert Unicode to bytes                  }
 | 
						|
    { Handle to Byte <-> Uni converter }
 | 
						|
    { Buffer for output bytes         }
 | 
						|
    { Length of output buffer         }
 | 
						|
 | 
						|
    { Buffer for Unicode input        }
 | 
						|
    { Length of results in bytes      }
 | 
						|
function NWUXUnicodeToByte(byteUniHandle: TpCONVERT; byteOutput: pnuint8; outputBufferLen: Tnuint; unicodeInput: Punicode; actualLength: pnuint): Tnint; NWLIB_LOCNLM32;
 | 
						|
    { Convert Unicode to bytes for file path    }
 | 
						|
    { Handle to Byte <-> Uni converter }
 | 
						|
    { Buffer for output bytes         }
 | 
						|
    { Length of output buffer. Or 0   }
 | 
						|
 | 
						|
    { Buffer for Unicode input        }
 | 
						|
    { Length of results in bytes      }
 | 
						|
function NWUXUnicodeToBytePath(byteUniHandle: TpCONVERT; byteOutput: pnuint8; outputBufferLen: Tnuint; unicodeInput: Punicode; actualLength: pnuint): Tnint; NWLIB_LOCNLM32;
 | 
						|
    { Convert Unicode to bytes                  }
 | 
						|
    { Handle to Byte <-> Uni converter }
 | 
						|
    { Buffer for output bytes         }
 | 
						|
    { Length of output buffer         }
 | 
						|
 | 
						|
    { Buffer for Unicode input        }
 | 
						|
    { Length of results in bytes      }
 | 
						|
function NWUXUnicodeToUntermByte(byteUniHandle: TpCONVERT; byteOutput: pnuint8; outputBufferLen: Tnuint; unicodeInput: Punicode; actualLength: pnuint): Tnint; NWLIB_LOCNLM32;
 | 
						|
    { Convert Unicode to bytes for file path    }
 | 
						|
    { Handle to Byte <-> Uni converter }
 | 
						|
    { Buffer for output bytes         }
 | 
						|
    { Length of output buffer         }
 | 
						|
 | 
						|
    { Buffer for Unicode input        }
 | 
						|
    { Length of results in bytes      }
 | 
						|
function NWUXUnicodeToUntermBytePath(byteUniHandle: TpCONVERT; byteOutput: pnuint8; outputBufferLen: Tnuint; unicodeInput: Punicode; actualLength: pnuint): Tnint; NWLIB_LOCNLM32;
 | 
						|
    { Convert to upper, lower or title case     }
 | 
						|
    { Handle to converter             }
 | 
						|
    { Buffer for output               }
 | 
						|
    { Length of output buffer. Or 0   }
 | 
						|
 | 
						|
    { Buffer for Unicode input        }
 | 
						|
    { Length of results in uni chars  }
 | 
						|
function NWUXUnicodeToCase(caseHandle: TpCONVERT; monocasedOutput: punicode; outputBufferLen: Tnuint; unicodeInput: Punicode; actualLength: pnuint): Tnint; NWLIB_LOCNLM32;
 | 
						|
    { Convert Unicode to Collation weights      }
 | 
						|
    { Handle to converter            }
 | 
						|
    { Buffer for collation weights   }
 | 
						|
    { Length of output buffer. Or 0  }
 | 
						|
 | 
						|
    { Buffer for Unicode input       }
 | 
						|
    { Length of results in uni chars }
 | 
						|
function NWUXUnicodeToCollation(collationHandle: TpCONVERT; collationWeights: punicode; outputBufferLen: Tnuint; unicodeInput: Punicode; actualLength: pnuint): Tnint; NWLIB_LOCNLM32;
 | 
						|
    { Convert Unicode to normalized             }
 | 
						|
    { Handle to converter            }
 | 
						|
    { Buffer for normalized output   }
 | 
						|
    { Length of output buffer. Or 0  }
 | 
						|
 | 
						|
    { Buffer for Unicode input       }
 | 
						|
    { Length of results in uni chars }
 | 
						|
function NWUXUnicodeToNormalized(normalizeHandle: TpCONVERT; normalizedOutput: punicode; outputBufferLen: Tnuint; unicodeInput: Punicode; actualLength: pnuint): Tnint; NWLIB_LOCNLM32;
 | 
						|
    { Convert Unicode to bytes for file path    }
 | 
						|
    { Handle to Byte <-> Uni converter   }
 | 
						|
 | 
						|
    { Ptr to single or double-byte char  }
 | 
						|
    { # bytes in character (1 or 2)      }
 | 
						|
function NWUXGetCharSize(byteUniHandle: TpCONVERT; byteInput: Pnuint8; pCharSize: pnuint): Tnint; NWLIB_LOCNLM32;
 | 
						|
    { Set action to be taken for no map chars   }
 | 
						|
    { Handle to a Byte <-> Unicode converter    }
 | 
						|
    { Action to take for unmappable bytes       }
 | 
						|
    { Action to take for unmappable unicode     }
 | 
						|
function NWUXSetNoMapAction(byteUniHandle: TpCONVERT; noMapByteAction: Tnint; noMapUniAction: Tnint): Tnint; NWLIB_LOCNLM32;
 | 
						|
    { Get action to be taken for no map chars   }
 | 
						|
    { Handle to a Byte <-> Unicode converter    }
 | 
						|
    { Action to take for unmappable bytes       }
 | 
						|
    { Action to take for unmappable unicode     }
 | 
						|
function NWUXGetNoMapAction(byteUniHandle: TpCONVERT; noMapByteAction: pnint; noMapUniAction: pnint): Tnint; NWLIB_LOCNLM32;
 | 
						|
    { Enable or disable scan/parse functions    }
 | 
						|
    { Handle to a Byte <-> Unicode converter    }
 | 
						|
    { Set action for scan/parse byte functions  }
 | 
						|
    { Set action for scan/parse uni functions   }
 | 
						|
function NWUXSetScanAction(byteUniHandle: TpCONVERT; scanByteAction: Tnint; scanUniAction: Tnint): Tnint; NWLIB_LOCNLM32;
 | 
						|
    { Get status of scan/parse functions        }
 | 
						|
    { Handle to a Byte <-> Unicode converter    }
 | 
						|
    { Status of scan/parse byte functions       }
 | 
						|
    { Status of scan/parse uni functions        }
 | 
						|
function NWUXGetScanAction(byteUniHandle: TpCONVERT; scanByteAction: pnint; scanUniAction: pnint): Tnint; NWLIB_LOCNLM32;
 | 
						|
    { Set substitution byte for converter       }
 | 
						|
    { Handle to a Byte <-> Unicode converter    }
 | 
						|
    { Byte to be substituted                    }
 | 
						|
function NWUXSetSubByte(byteUniHandle: TpCONVERT; substituteByte: Tnuint8): Tnint; NWLIB_LOCNLM32;
 | 
						|
    { Get substitution byte for converter       }
 | 
						|
    { Handle to a Byte <-> Unicode converter    }
 | 
						|
    { Substitution byte returned here           }
 | 
						|
function NWUXGetSubByte(byteUniHandle: TpCONVERT; substituteByte: pnuint8): Tnint; NWLIB_LOCNLM32;
 | 
						|
    { Set substitute uni char for converter     }
 | 
						|
    { Handle to a Byte <-> Unicode converter    }
 | 
						|
    { Unicode character to be substituted       }
 | 
						|
function NWUXSetSubUni(byteUniHandle: TpCONVERT; substituteUni: Tunicode): Tnint; NWLIB_LOCNLM32;
 | 
						|
    { Get substitute uni char for converter     }
 | 
						|
    { Handle to a Byte <-> Unicode converter    }
 | 
						|
    { Substitution unicode char returned here   }
 | 
						|
function NWUXGetSubUni(byteUniHandle: TpCONVERT; substituteUni: punicode): Tnint; NWLIB_LOCNLM32;
 | 
						|
    { Set up unmappable byte handling           }
 | 
						|
    { Handle to a Byte <-> Unicode converter    }
 | 
						|
    { Function called for unmappable bytes      }
 | 
						|
    { Byte scanning function                    }
 | 
						|
    { Byte parsing function                     }
 | 
						|
function NWUXSetByteFunctions(byteUniHandle: TpCONVERT; noMapByteFunc: TNMBYTE; scanByteFunc: TSCBYTE; parseByteFunc: TPRBYTE): Tnint; NWLIB_LOCNLM32;
 | 
						|
    { Get unmappable byte handling functions    }
 | 
						|
    { Handle to a Byte <-> Unicode converter    }
 | 
						|
    { Handler function returned here            }
 | 
						|
    { Byte scanning function                    }
 | 
						|
    { Byte parsing function                     }
 | 
						|
function NWUXGetByteFunctions(byteUniHandle: TpCONVERT; var noMapByteFunc: TNMBYTE; var scanByteFunc: TSCBYTE; var parseByteFunc: TPRBYTE): Tnint; NWLIB_LOCNLM32;
 | 
						|
    { Set up unmappable character handling      }
 | 
						|
    { Handle to a Byte <-> Unicode converter    }
 | 
						|
    { Function called for unmappable uni chars  }
 | 
						|
    { Unicode scanning function                 }
 | 
						|
    { Unicode parsing function                  }
 | 
						|
function NWUXSetUniFunctions(byteUniHandle: TpCONVERT; noMapUniFunc: TNMUNI; scanUniFunc: TSCUNI; parseUniFunc: TPRUNI): Tnint; NWLIB_LOCNLM32;
 | 
						|
    { Set up unmappable unicode char handling   }
 | 
						|
    { Handle to a Byte <-> Unicode converter    }
 | 
						|
    { Function called for unmappable uni chars  }
 | 
						|
    { Unicode scan function                     }
 | 
						|
    { Unicode parse function                    }
 | 
						|
function NWUXGetUniFunctions(byteUniHandle: TpCONVERT; var noMapUniFunc: TNMUNI; var scanUniFunc: TSCUNI; var parseUniFunc: TPRUNI): Tnint; NWLIB_LOCNLM32;
 | 
						|
    { Set up converter to use the NW OEM Euro   }
 | 
						|
function NWUXEnableOemEuro(convert: TpCONVERT): Tnint; NWLIB_LOCNLM32;
 | 
						|
    { Reset a converter to default state        }
 | 
						|
function NWUXResetConverter(convert: TpCONVERT): Tnint; NWLIB_LOCNLM32;
 | 
						|
    {************************************************************************** }
 | 
						|
    {
 | 
						|
        Table based Unicode/Local text conversion APIs. The converter based
 | 
						|
      APIs are preferred over these.
 | 
						|
     }
 | 
						|
function NWInitUnicodeTables(countryCode: Tnint; codePage: Tnint): Tnint; NWLIB_LOCNLM32;
 | 
						|
function NWLSetPrimaryUnicodeSearchPath(strSearchPath: Pnstr): longint; NWLIB_UNICODE;
 | 
						|
function NWFreeUnicodeTables: Tnint; NWLIB_LOCNLM32;
 | 
						|
function NWLoadRuleTable(ruleTableName: pnstr; ruleHandle: pnptr): Tnint; NWLIB_UNICODE;
 | 
						|
    { Rule table handle                    }
 | 
						|
function NWUnloadRuleTable(ruleHandle: Tnptr): Tnint; NWLIB_UNICODE;
 | 
						|
 | 
						|
    { NWUSByteToUnicode or NWUXByteToUnicode are preferred  }
 | 
						|
    { Convert local to Unicode             }
 | 
						|
    { Rule table handle                    }
 | 
						|
    { Buffer for resulting Unicode         }
 | 
						|
    { Size of results buffer               }
 | 
						|
 | 
						|
    { Buffer with source local code        }
 | 
						|
    { No map character                     }
 | 
						|
    { Number of unicode chars in output    }
 | 
						|
    { Flag indicating default map is allowable  }
 | 
						|
 | 
						|
function NWLocalToUnicode(ruleHandle: Tnptr; dest: punicode; maxLen: Tnuint32; src: pointer; noMap: Tunicode;
 | 
						|
  len: pnuint; allowNoMapFlag: Tnuint32): Tnint; NWLIB_LOCNLM32;
 | 
						|
    { NWUSUnicodeToByte or NWUXUnicodeToByte are preferred  }
 | 
						|
    { Convert Unicode to local code        }
 | 
						|
    { Rule table handle                    }
 | 
						|
    { Buffer for resulting local code      }
 | 
						|
    { Size of results buffer               }
 | 
						|
 | 
						|
    { Buffer with source Unicode           }
 | 
						|
    { No Map character                     }
 | 
						|
    { Number of bytes in output            }
 | 
						|
    { Flag indicating default map is allowable  }
 | 
						|
function NWUnicodeToLocal(ruleHandle: Tnptr; dest: Tnptr; maxLen: Tnuint32; src: Punicode; noMap: Tnuint8;
 | 
						|
  len: pnuint; allowNoMapFlag: Tnuint32): Tnint; NWLIB_LOCNLM32;
 | 
						|
 | 
						|
    { was #define dname(params) para_def_expr }
 | 
						|
    //function NWLocalToUnicode(P1,P2,P3,P4,P5,P6 : longint) : longint;
 | 
						|
 | 
						|
    { was #define dname(params) para_def_expr }
 | 
						|
    //function NWUnicodeToLocal(P1,P2,P3,P4,P5,P6 : longint) : longint;
 | 
						|
 | 
						|
    { If I could make size_t be cardinal for N_PLAT_NLM all of the functions  }
 | 
						|
    { below here could be single sourced.                                    }
 | 
						|
{$IF 0}
 | 
						|
    { Convert Unicode to collation         }
 | 
						|
    { Rule table handle                    }
 | 
						|
    { Buffer for resulting Unicode weights }
 | 
						|
    { Size of results buffer               }
 | 
						|
 | 
						|
    { Buffer with source Unicode           }
 | 
						|
    { No map character                     }
 | 
						|
    { Number of unicode chars in output    }
 | 
						|
 | 
						|
function NWUnicodeToCollation(ruleHandle: Tnptr; dest: punicode; maxLen: Tnuint32; src: Punicode; noMap: Tunicode;
 | 
						|
  len: pnuint32): Tnint; NWLIB_LOCNLM32;
 | 
						|
    { Compare two unicode characters       }
 | 
						|
    { Rule table handle                    }
 | 
						|
    { 1st character                        }
 | 
						|
    { 2nd character                        }
 | 
						|
function NWUnicodeCompare(ruleHandle: Tnptr; chr1: Tunicode; chr2: Tunicode): Tnint; NWLIB_LOCNLM32;
 | 
						|
    { Convert Unicode to collation         }
 | 
						|
    { Rule table handle                    }
 | 
						|
    { Buffer for resulting Unicode weights }
 | 
						|
    { Size of results buffer               }
 | 
						|
 | 
						|
    { Buffer with source Unicode           }
 | 
						|
    { Number of unicode chars in output    }
 | 
						|
function NWUnicodeToMonocase(ruleHandle: Tnptr; dest: punicode; maxLen: Tnuint32; src: Punicode; len: pnuint32): Tnint; NWLIB_LOCNLM32;
 | 
						|
{$ENDIF}
 | 
						|
 | 
						|
    {  not N_PLAT_NLM   }
 | 
						|
    { NWUSByteToUnicode or NWUXByteToUnicode are preferred  }
 | 
						|
    { Convert local to Unicode             }
 | 
						|
    { Rule table handle                    }
 | 
						|
    { Buffer for resulting Unicode         }
 | 
						|
    { Size of results buffer               }
 | 
						|
 | 
						|
    { Buffer with source local code        }
 | 
						|
    { No map character                     }
 | 
						|
    { Number of unicode chars in output    }
 | 
						|
 | 
						|
function NWLocalToUnicode(ruleHandle: Tnptr; dest: punicode; maxLen: Tsize_t; src: Pnuint8; noMap: Tunicode;
 | 
						|
  len: Psize_t): Tnint; NWLIB_LOCNLM32;
 | 
						|
    { NWUSUnicodeToByte or NWUXUnicodeToByte are preferred  }
 | 
						|
    { Convert Unicode to local code        }
 | 
						|
    { Rule table handle                    }
 | 
						|
    { Buffer for resulting local code      }
 | 
						|
    { Size of results buffer               }
 | 
						|
 | 
						|
    { Buffer with source Unicode           }
 | 
						|
    { No Map character                     }
 | 
						|
    { Number of bytes in output            }
 | 
						|
function NWUnicodeToLocal(ruleHandle: Tnptr; dest: pnuint8; maxLen: Tsize_t; src: Punicode; noMap: byte;
 | 
						|
  len: Psize_t): Tnint; NWLIB_LOCNLM32;
 | 
						|
 | 
						|
    { not N_PLAT_NLM  }
 | 
						|
    { Convert Unicode to collation         }
 | 
						|
    { Rule table handle                    }
 | 
						|
    { Buffer for resulting Unicode weights }
 | 
						|
    { Size of results buffer               }
 | 
						|
 | 
						|
    { Buffer with source Unicode           }
 | 
						|
    { No map character                     }
 | 
						|
    { Number of unicode chars in output    }
 | 
						|
 | 
						|
function NWUnicodeToCollation(ruleHandle: Tnptr; dest: punicode; maxLen: Tsize_t; src: Punicode; noMap: Tunicode;
 | 
						|
  len: Psize_t): Tnint; NWLIB_LOCNLM32;
 | 
						|
    { Compare two unicode characters       }
 | 
						|
    { Rule table handle                    }
 | 
						|
    { 1st character                        }
 | 
						|
    { 2nd character                        }
 | 
						|
function NWUnicodeCompare(ruleHandle: Tnptr; chr1: Tunicode; chr2: Tunicode): Tnint; NWLIB_LOCNLM32;
 | 
						|
    { Convert Unicode to collation         }
 | 
						|
    { Rule table handle                    }
 | 
						|
    { Buffer for resulting Unicode weights }
 | 
						|
    { Size of results buffer               }
 | 
						|
 | 
						|
    { Buffer with source Unicode           }
 | 
						|
    { Number of unicode chars in output    }
 | 
						|
function NWUnicodeToMonocase(ruleHandle: Tnptr; dest: punicode; maxLen: Tsize_t; src: Punicode; len: Psize_t): Tnint; NWLIB_LOCNLM32;
 | 
						|
    {
 | 
						|
     *    Functions that work with XLate Tables
 | 
						|
      }
 | 
						|
{$IFDEF 0} // defined N_PLAT_DOS && defined N_UNI_NEW_TABLES}
 | 
						|
 | 
						|
const
 | 
						|
  N_UNI_LOAD_MONOCASE = $0001;
 | 
						|
  N_UNI_LOAD_COLLATION = $0002;
 | 
						|
 | 
						|
function NWLInitXlateTables(codePage: Tnint; flags: Tnflag8): Tnint; NWLIB_UNKNOWN;
 | 
						|
function NWLFreeXlateTables: Tnint; NWLIB_UNKNOWN;
 | 
						|
    { Name of the rule table               }
 | 
						|
    { Where to put the rule table handle   }
 | 
						|
function NWLLoadXlateTable(ruleTableName: pnstr; ruleHandle: pnptr): Tnint; NWLIB_UNKNOWN;
 | 
						|
 | 
						|
    { Rule table handle                    }
 | 
						|
function NWLUnloadXlateTable(ruleHandle: pointer): Tnint; NWLIB_UNKNOWN;
 | 
						|
{function NWInitUnicodeTables(CountryCode,CodePage : longint) : longint;}
 | 
						|
 | 
						|
 | 
						|
const
 | 
						|
  NWFreeUnicodeTables = NWLFreeXlateTables;
 | 
						|
  NWLoadRuleTable = NWLLoadXlateTable;
 | 
						|
  NWUnloadRuleTable = NWLUnloadXlateTable;
 | 
						|
{$ENDIF}
 | 
						|
 | 
						|
function NWGetUnicodeToLocalHandle(handle: pnptr): Tnint; NWLIB_LOCNLM32;
 | 
						|
function NWGetLocalToUnicodeHandle(handle: pnptr): Tnint; NWLIB_LOCNLM32;
 | 
						|
function NWGetMonocaseHandle(handle: pnptr): Tnint; NWLIB_LOCNLM32;
 | 
						|
function NWGetCollationHandle(handle: pnptr): Tnint; NWLIB_LOCNLM32;
 | 
						|
    {************************************************************************** }
 | 
						|
    {
 | 
						|
        Redefine these functions to use the new unicode API monocase routines.
 | 
						|
     }
 | 
						|
    { was #define dname(params) para_def_expr }
 | 
						|
    //function uniicmp(s1,s2 : longint) : longint;
 | 
						|
 | 
						|
    { was #define dname(params) para_def_expr }
 | 
						|
    //function uninicmp(s1,s2,l : longint) : longint;
 | 
						|
 | 
						|
    { Unicode string functions that work like those in string.h }
 | 
						|
    { Corresponds to strcat     }
 | 
						|
    { Original string                      }
 | 
						|
 | 
						|
    { String to be appended                }
 | 
						|
 | 
						|
function unicat(s1: punicode; s2: Punicode): punicode; NWLIB_LOCNLM32;
 | 
						|
    { Corresponds to strchr     }
 | 
						|
 | 
						|
    { String to be scanned                 }
 | 
						|
    { Character to be found                }
 | 
						|
function unichr(s: Punicode; c: Tunicode): punicode; NWLIB_LOCNLM32;
 | 
						|
    { Corresponds to strcpy     }
 | 
						|
    { Destination string                   }
 | 
						|
 | 
						|
    { Source string                        }
 | 
						|
function unicpy(s1: punicode; s2: Punicode): punicode; NWLIB_LOCNLM32;
 | 
						|
    { Corresponds to strcspn    }
 | 
						|
 | 
						|
    { String to be scanned                 }
 | 
						|
 | 
						|
    { Character set                        }
 | 
						|
function unicspn(s1: Punicode; s2: Punicode): Tsize_t; NWLIB_LOCNLM32;
 | 
						|
    { Corresponds to strlen     }
 | 
						|
 | 
						|
    { String to determine length of        }
 | 
						|
function unilen(s: Punicode): Tsize_t; NWLIB_LOCNLM32;
 | 
						|
    { Corresponds to strncat    }
 | 
						|
    { Original string                      }
 | 
						|
 | 
						|
    { String to be appended                }
 | 
						|
    { Maximum characters to be appended    }
 | 
						|
function unincat(s1: punicode; s2: Punicode; n: Tsize_t): punicode; NWLIB_LOCNLM32;
 | 
						|
    { Corresponds to strncpy    }
 | 
						|
    { Destination string                   }
 | 
						|
 | 
						|
    { Source string                        }
 | 
						|
    { Maximum length                       }
 | 
						|
function unincpy(s1: punicode; s2: Punicode; n: Tsize_t): punicode; NWLIB_LOCNLM32;
 | 
						|
    { Corresponds to strnset    }
 | 
						|
    { String to be modified                }
 | 
						|
    { Fill character                       }
 | 
						|
    { Maximum length                       }
 | 
						|
function uninset(s: punicode; c: Tunicode; n: Tsize_t): punicode; NWLIB_LOCNLM32;
 | 
						|
    { Corresponds to strpbrk    }
 | 
						|
 | 
						|
    { String to be scanned                 }
 | 
						|
 | 
						|
    { Character set                        }
 | 
						|
function unipbrk(s1: Punicode; s2: Punicode): punicode; NWLIB_LOCNLM32;
 | 
						|
    { Corresponds to strpcpy  }
 | 
						|
    { Destination string                   }
 | 
						|
 | 
						|
    { Source string                        }
 | 
						|
function unipcpy(s1: punicode; s2: Punicode): punicode; NWLIB_LOCNLM32;
 | 
						|
    { Corresponds to strrchr    }
 | 
						|
 | 
						|
    { String to be scanned                 }
 | 
						|
    { Character to be found                }
 | 
						|
function unirchr(s: Punicode; c: Tunicode): punicode; NWLIB_LOCNLM32;
 | 
						|
    { Corresponds to strrev     }
 | 
						|
    { String to be reversed                }
 | 
						|
function unirev(s: punicode): punicode; NWLIB_LOCNLM32;
 | 
						|
    { Corresponds to strset     }
 | 
						|
    { String to modified                   }
 | 
						|
    { Fill character                       }
 | 
						|
function uniset(s: punicode; c: Tunicode): punicode; NWLIB_LOCNLM32;
 | 
						|
    { Corresponds to strspn     }
 | 
						|
 | 
						|
    { String to be tested                  }
 | 
						|
 | 
						|
    { Character set                        }
 | 
						|
function unispn(s1: Punicode; s2: Punicode): Tsize_t; NWLIB_LOCNLM32;
 | 
						|
    { Corresponds to strstr     }
 | 
						|
 | 
						|
    { String to be scanned                 }
 | 
						|
 | 
						|
    { String to be located                 }
 | 
						|
function unistr(s1: Punicode; s2: Punicode): punicode; NWLIB_LOCNLM32;
 | 
						|
    { Corresponds to strtok     }
 | 
						|
    { String to be parsed                  }
 | 
						|
 | 
						|
    { Delimiter values                     }
 | 
						|
function unitok(s1: punicode; s2: Punicode): punicode; NWLIB_LOCNLM32;
 | 
						|
    { Corresponds to stricmp    }
 | 
						|
 | 
						|
    { 1st string to be compared            }
 | 
						|
 | 
						|
    { 2nd string to be compared            }
 | 
						|
function uniicmp(s1: Punicode; s2: Punicode): Tnint; NWLIB_LOCNLM32;
 | 
						|
    { Corresponds to strnicmp   }
 | 
						|
 | 
						|
    { 1st string to be compared            }
 | 
						|
 | 
						|
    { 2nd string to be compared            }
 | 
						|
    { Maximum length                       }
 | 
						|
function uninicmp(s1: Punicode; s2: Punicode; len: Tsize_t): Tnint; NWLIB_LOCNLM32;
 | 
						|
    { Unicode compare           }
 | 
						|
 | 
						|
 | 
						|
function unicmp(s1: Punicode; s2: Punicode): Tnint; NWLIB_LOCNLM32;
 | 
						|
    { Unicode length compare   }
 | 
						|
 | 
						|
 | 
						|
function unincmp(s1: Punicode; s2: Punicode; len: Tsize_t): Tnint; NWLIB_LOCNLM32;
 | 
						|
    { Corresponds to sizeof     }
 | 
						|
 | 
						|
function unisize(s: Punicode): Tsize_t; NWLIB_LOCNLM32;
 | 
						|
    {
 | 
						|
     * UTF-8  <--> Unicode Conversion APIS
 | 
						|
      }
 | 
						|
 | 
						|
function NWLUnicodeToUTF8(uniStr: Punicode; maxSize: Tnuint; utf8Str: pnuint8; utf8Size: pnuint): Tnint; NWLIB_LOCNLM32;
 | 
						|
 | 
						|
function NWLUTF8ToUnicode(utf8Str: Pnuint8; maxSize: Tnuint; uniStr: punicode; uniSize: pnuint; badSequence: ppnstr): Tnint; NWLIB_LOCNLM32;
 | 
						|
 | 
						|
function NWLUTF8ToUnicodeSize(utf8Str: Pnuint8; size: pnuint): Tnint; NWLIB_LOCNLM32;
 | 
						|
 | 
						|
function NWLUnicodeToUTF8Size(uniStr: Punicode): Tnuint; NWLIB_LOCNLM32;
 | 
						|
 | 
						|
 | 
						|
//**************************************************************************
 | 
						|
// nwbindry.h
 | 
						|
//**************************************************************************
 | 
						|
 | 
						|
    { Bindery object types (in HIGH-LOW order)  }
 | 
						|
 | 
						|
const
 | 
						|
  OT_WILD = $FFFF;
 | 
						|
  OT_UNKNOWN = $0000;
 | 
						|
  OT_USER = $0100;
 | 
						|
  OT_USER_GROUP = $0200;
 | 
						|
  OT_PRINT_QUEUE = $0300;
 | 
						|
  OT_FILE_SERVER = $0400;
 | 
						|
  OT_JOB_SERVER = $0500;
 | 
						|
  OT_GATEWAY = $0600;
 | 
						|
  OT_PRINT_SERVER = $0700;
 | 
						|
  OT_ARCHIVE_QUEUE = $0800;
 | 
						|
  OT_ARCHIVE_SERVER = $0900;
 | 
						|
  OT_JOB_QUEUE = $0A00;
 | 
						|
  OT_ADMINISTRATION = $0B00;
 | 
						|
  OT_NAS_SNA_GATEWAY = $2100;
 | 
						|
  OT_REMOTE_BRIDGE_SERVER = $2600;
 | 
						|
  OT_TCPIP_GATEWAY = $2700;
 | 
						|
  OT_TREE_NAME = $7802;
 | 
						|
    { Extended bindery object types  }
 | 
						|
  OT_TIME_SYNCHRONIZATION_SERVER = $2D00;
 | 
						|
  OT_ARCHIVE_SERVER_DYNAMIC_SAP = $2E00;
 | 
						|
  OT_ADVERTISING_PRINT_SERVER = $4700;
 | 
						|
  OT_BTRIEVE_VAP = $5000;
 | 
						|
  OT_PRINT_QUEUE_USER = $5300;
 | 
						|
    { Bindery object and property flags  }
 | 
						|
  BF_STATIC = $00;
 | 
						|
  BF_DYNAMIC = $01;
 | 
						|
  BF_ITEM = $00;
 | 
						|
  BF_SET = $02;
 | 
						|
    {********  Bindery object and property security access levels  ********* }
 | 
						|
  BS_ANY_READ = $00; // Readable by anyone
 | 
						|
  BS_LOGGED_READ = $01; // Must be logged in to read
 | 
						|
  BS_OBJECT_READ = $02; // Readable by same object or super
 | 
						|
  BS_SUPER_READ = $03; // Readable by supervisor only
 | 
						|
  BS_BINDERY_READ = $04; // Readable only by the bindery
 | 
						|
  BS_ANY_WRITE = $00; // Writeable by anyone
 | 
						|
  BS_LOGGED_WRITE = $10; // Must be logged in to write
 | 
						|
  BS_OBJECT_WRITE = $20; // Writeable by same object or super
 | 
						|
  BS_SUPER_WRITE = $30; // Writeable only by the supervisor
 | 
						|
  BS_BINDERY_WRITE = $40; // Writeable by the bindery only
 | 
						|
 | 
						|
 | 
						|
 | 
						|
function NWVerifyObjectPassword
 | 
						|
  (conn: TNWCONN_HANDLE;
 | 
						|
  objName: Pnstr8;
 | 
						|
  objType: Tnuint16;
 | 
						|
  password: Pnstr8): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
 | 
						|
 | 
						|
function NWDisallowObjectPassword(conn: TNWCONN_HANDLE; objName: Pnstr8; objType: Tnuint16; disallowedPassword: Pnstr8): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
 | 
						|
 | 
						|
 | 
						|
function NWChangeObjectPassword(conn: TNWCONN_HANDLE; objName: Pnstr8; objType: Tnuint16; oldPassword: Pnstr8; newPassword: Pnstr8): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
 | 
						|
 | 
						|
function NWReadPropertyValue(conn: TNWCONN_HANDLE; objName: Pnstr8; objType: Tnuint16; propertyName: Pnstr8; segmentNum: Tnuint8;
 | 
						|
  segmentData: pnuint8; moreSegments: pnuint8; flags: pnuint8): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
 | 
						|
 | 
						|
 | 
						|
function NWWritePropertyValue(conn: TNWCONN_HANDLE; objName: Pnstr8; objType: Tnuint16; propertyName: Pnstr8; segmentNum: Tnuint8;
 | 
						|
  segmentData: Pnuint8; moreSegments: Tnuint8): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
 | 
						|
 | 
						|
 | 
						|
function NWAddObjectToSet(conn: TNWCONN_HANDLE; objName: Pnstr8; objType: Tnuint16; propertyName: Pnstr8; memberName: Pnstr8;
 | 
						|
  memberType: Tnuint16): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
 | 
						|
function NWDeleteObjectFromSet(conn: TNWCONN_HANDLE; objName: Pnstr8; objType: Tnuint16; propertyName: Pnstr8; memberName: Pnstr8;
 | 
						|
  memberType: Tnuint16): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
 | 
						|
 | 
						|
 | 
						|
function NWIsObjectInSet(conn: TNWCONN_HANDLE; objName: Pnstr8; objType: Tnuint16; propertyName: Pnstr8; memberName: Pnstr8;
 | 
						|
  memberType: Tnuint16): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
 | 
						|
function NWScanProperty(conn: TNWCONN_HANDLE; objName: Pnstr8; objType: Tnuint16; searchPropertyName: Pnstr8; iterHandle: pnuint32;
 | 
						|
  propertyName: Pnstr8; propertyFlags: pnuint8; propertySecurity: pnuint8; valueAvailable: pnuint8; moreFlag: pnuint8): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
 | 
						|
function NWGetObjectID(conn: TNWCONN_HANDLE; objName: Pnstr8; objType: Tnuint16; objID: pnuint32): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWGetObjectDiskSpaceLeft(conn: TNWCONN_HANDLE; objID: Tnuint32; systemElapsedTime: pnuint32; unusedDiskBlocks: pnuint32; restrictionEnforced: pnuint8): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWGetObjectName(conn: TNWCONN_HANDLE; objID: Tnuint32; objName: Pnstr8; objType: pnuint16): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
 | 
						|
function NWScanObject(conn: TNWCONN_HANDLE; searchName: Pnstr8; searchType: Tnuint16; objID: pnuint32; objName: Pnstr8;
 | 
						|
  objType: pnuint16; hasPropertiesFlag: pnuint8; objFlags: pnuint8; objSecurity: pnuint8): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWGetBinderyAccessLevel(conn: TNWCONN_HANDLE; accessLevel: pnuint8; objID: pnuint32): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
 | 
						|
 | 
						|
function NWCreateProperty(conn: TNWCONN_HANDLE; objName: Pnstr8; objType: Tnuint16; propertyName: Pnstr8; propertyFlags: Tnuint8;
 | 
						|
  propertySecurity: Tnuint8): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
 | 
						|
 | 
						|
function NWDeleteProperty(conn: TNWCONN_HANDLE; objName: Pnstr8; objType: Tnuint16; propertyName: Pnstr8): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
 | 
						|
 | 
						|
function NWChangePropertySecurity(conn: TNWCONN_HANDLE; objName: Pnstr8; objType: Tnuint16; propertyName: Pnstr8; newPropertySecurity: Tnuint8): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWCreateObject(conn: TNWCONN_HANDLE; objName: Pnstr8; objType: Tnuint16; objFlags: Tnuint8; objSecurity: Tnuint8): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
 | 
						|
function NWDeleteObject(conn: TNWCONN_HANDLE; objName: Pnstr8; objType: Tnuint16): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
 | 
						|
 | 
						|
function NWRenameObject(conn: TNWCONN_HANDLE; oldObjName: Pnstr8; newObjName: Pnstr8; objType: Tnuint16): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
 | 
						|
function NWChangeObjectSecurity(conn: TNWCONN_HANDLE; objName: Pnstr8; objType: Tnuint16; newObjSecurity: Tnuint8): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWOpenBindery(conn: TNWCONN_HANDLE): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWCloseBindery(conn: TNWCONN_HANDLE): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWScanObjectTrusteePaths(conn: TNWCONN_HANDLE; objID: Tnuint32; volNum: Tnuint16; iterHandle: pnuint16; accessRights: pnuint8;
 | 
						|
  dirPath: Pnstr8): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWScanObjectTrusteePathsExt(conn: TNWCONN_HANDLE; objID: Tnuint32; volNum: Tnuint16; iterHandle: pnuint16; accessRights: pnuint8;
 | 
						|
  dirPath1506: Pnstr8): TNWCCODE; NWLIB_UNKNOWN;
 | 
						|
 | 
						|
function NWGetObjectEffectiveRights(conn: TNWCONN_HANDLE; objID: Tnuint32; dirHandle: TNWDIR_HANDLE; path: Pnstr8; rightsMask: pnuint16): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
 | 
						|
function NWGetObjectEffectiveRightsExt(conn: TNWCONN_HANDLE; objID: Tnuint32; dirHandle: TNWDIR_HANDLE; path: Pnstr8; buNameSpace: Tnuint8;
 | 
						|
  rightsMask: pnuint16): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
 | 
						|
function NWGetObjectEffectiveRights2(conn: TNWCONN_HANDLE; objID: Tnuint32; dirHandle: TNWDIR_HANDLE; path: Pnstr8; rightsMask: pnuint16): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWGetObjectNamesBeginA(luObjectType: Tnuint32; pluHandle: pnuint32): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWGetObjectNamesNextA(luHandle: Tnuint32; pluLenBuffer: pnuint32; strBuffer: Pnstr8): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWGetObjectNamesEndA(luHandle: Tnuint32): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWGetObjectNamesBeginW(luObjectType: Tnuint32; pluHandle: pnuint32): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWGetObjectNamesNextW(luHandle: Tnuint32; pluLenBuffer: pnuint32; strBuffer: punicode): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWGetObjectNamesEndW(luHandle: Tnuint32): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
 | 
						|
 | 
						|
//*****************************************************************************
 | 
						|
//nwconnec.h
 | 
						|
//*****************************************************************************
 | 
						|
 | 
						|
    { 3.11 and above only: 0=not in use, 2=NCP over IPX, 4=AFP  }
 | 
						|
type
 | 
						|
  PtNWINET_ADDR = ^TtNWINET_ADDR;
 | 
						|
  TtNWINET_ADDR = record
 | 
						|
    networkAddr: array[0..3] of Tnuint8;
 | 
						|
    netNodeAddr: array[0..5] of Tnuint8;
 | 
						|
    socket: Tnuint16;
 | 
						|
    connType: Tnuint16;
 | 
						|
  end;
 | 
						|
  TNWINET_ADDR = TtNWINET_ADDR;
 | 
						|
  PNWINET_ADDR = ^TNWINET_ADDR;
 | 
						|
 | 
						|
const
 | 
						|
  CONNECTION_AVAILABLE = $0001;
 | 
						|
    { obsolete  }
 | 
						|
  CONNECTION_PRIVATE = $0002;
 | 
						|
  CONNECTION_LOGGED_IN = $0004;
 | 
						|
  CONNECTION_LICENSED = $0004;
 | 
						|
  CONNECTION_BROADCAST_AVAILABLE = $0008;
 | 
						|
  CONNECTION_ABORTED = $0010;
 | 
						|
  CONNECTION_REFUSE_GEN_BROADCAST = $0020;
 | 
						|
  CONNECTION_BROADCASTS_DISABLED = $0040;
 | 
						|
  CONNECTION_PRIMARY = $0080;
 | 
						|
  CONNECTION_NDS = $0100;
 | 
						|
    { obsolete  }
 | 
						|
  CONNECTION_PNW = $4000;
 | 
						|
  CONNECTION_AUTHENTICATED = $8000;
 | 
						|
    { End of new connection model calls.  }
 | 
						|
 | 
						|
function NWLockConnection(connHandle: TNWCONN_HANDLE): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWGetConnectionInformation(connHandle: TNWCONN_HANDLE; connNumber: Tnuint16; pObjName: Pnstr8; pObjType: pnuint16; pObjID: pnuint32;
 | 
						|
  pLoginTime: pnuint8): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWGetInternetAddress(connHandle: TNWCONN_HANDLE; connNumber: Tnuint16; pInetAddr: pnuint8): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWGetInetAddr(connHandle: TNWCONN_HANDLE; connNum: Tnuint16; pInetAddr: PNWINET_ADDR): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWClearConnectionNumber(connHandle: TNWCONN_HANDLE; connNumber: Tnuint16): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWGetDefaultConnRef(pConnReference: pnuint32): TNWCCODE; NWLIB_UNKNOWN;
 | 
						|
 | 
						|
function NWGetObjectConnectionNumbers(connHandle: TNWCONN_HANDLE; pObjName: Pnstr8; objType: Tnuint16; pNumConns: pnuint16; pConnHandleList: pnuint16;
 | 
						|
  maxConns: Tnuint16): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWGetConnListFromObject(connHandle: TNWCONN_HANDLE; objID: Tnuint32; searchConnNum: Tnuint32; pConnListLen: pnuint16; pConnList: pnuint32): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWGetPreferredServer(pConnHandle: PNWCONN_HANDLE): TNWCCODE; NWLIB_UNKNOWN;
 | 
						|
function NWSetPreferredServer(connHandle: TNWCONN_HANDLE): TNWCCODE; NWLIB_UNKNOWN;
 | 
						|
 | 
						|
    { The NLM LibC x-plat libraries do not support obsolete apis }
 | 
						|
 | 
						|
//*****************************************************************************
 | 
						|
// nwdel.h
 | 
						|
//*****************************************************************************
 | 
						|
 | 
						|
type
 | 
						|
 | 
						|
  PNWDELETED_INFO = ^TNWDELETED_INFO;
 | 
						|
  TNWDELETED_INFO = record
 | 
						|
    sequence: Tnuint32;
 | 
						|
    parent: Tnuint32;
 | 
						|
    attributes: Tnuint32;
 | 
						|
    uniqueID: Tnuint8;
 | 
						|
    flags: Tnuint8;
 | 
						|
    nameSpace: Tnuint8;
 | 
						|
    nameLength: Tnuint8;
 | 
						|
    name: array[0..255] of Tnuint8;
 | 
						|
    creationDateAndTime: Tnuint32;
 | 
						|
    ownerID: Tnuint32;
 | 
						|
    lastArchiveDateAndTime: Tnuint32;
 | 
						|
    lastArchiverID: Tnuint32;
 | 
						|
    updateDateAndTime: Tnuint32;
 | 
						|
    updatorID: Tnuint32;
 | 
						|
    fileSize: Tnuint32;
 | 
						|
    reserved: array[0..43] of Tnuint8;
 | 
						|
    inheritedRightsMask: Tnuint16;
 | 
						|
    lastAccessDate: Tnuint16;
 | 
						|
    deletedTime: Tnuint32;
 | 
						|
    deletedDateAndTime: Tnuint32;
 | 
						|
    deletorID: Tnuint32;
 | 
						|
    reserved3: array[0..15] of Tnuint8;
 | 
						|
  end;
 | 
						|
 | 
						|
  PNWDELETED_INFO_EXT = ^TNWDELETED_INFO_EXT;
 | 
						|
  TNWDELETED_INFO_EXT = record
 | 
						|
    sequence: Tnuint32;
 | 
						|
    parent: Tnuint32;
 | 
						|
    attributes: Tnuint32;
 | 
						|
    uniqueID: Tnuint8;
 | 
						|
    flags: Tnuint8;
 | 
						|
    nameSpace: Tnuint8;
 | 
						|
    nameLength: Tnuint16;
 | 
						|
    name: array[0..765] of Tnuint8;
 | 
						|
    creationDateAndTime: Tnuint32;
 | 
						|
    ownerID: Tnuint32;
 | 
						|
    lastArchiveDateAndTime: Tnuint32;
 | 
						|
    lastArchiverID: Tnuint32;
 | 
						|
    updateDateAndTime: Tnuint32;
 | 
						|
    updatorID: Tnuint32;
 | 
						|
    fileSize: Tnuint32;
 | 
						|
    reserved: array[0..43] of Tnuint8;
 | 
						|
    inheritedRightsMask: Tnuint16;
 | 
						|
    lastAccessDate: Tnuint16;
 | 
						|
    deletedTime: Tnuint32;
 | 
						|
    deletedDateAndTime: Tnuint32;
 | 
						|
    deletorID: Tnuint32;
 | 
						|
    reserved3: array[0..15] of Tnuint8;
 | 
						|
  end;
 | 
						|
 | 
						|
 | 
						|
function NWPurgeDeletedFile(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; iterHandle: Tnuint32; volNum: Tnuint32; dirBase: Tnuint32;
 | 
						|
  fileName: Pnstr8): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWRecoverDeletedFile(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; iterHandle: Tnuint32; volNum: Tnuint32; dirBase: Tnuint32;
 | 
						|
  delFileName: Pnstr8; rcvrFileName: Pnstr8): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWRecoverDeletedFileExt(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; iterHandle: Tnuint32; volNum: Tnuint32; dirBase: Tnuint32;
 | 
						|
  delFileName: Pnstr8; rcvrFileName: Pnstr8): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWScanForDeletedFiles(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; iterHandle: pnuint32; volNum: pnuint32; dirBase: pnuint32;
 | 
						|
  entryInfo: PNWDELETED_INFO): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWScanForDeletedFilesExt(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; iterHandle: pnuint32; volNum: pnuint32; dirBase: pnuint32;
 | 
						|
  entryInfo: PNWDELETED_INFO_EXT): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
 | 
						|
 | 
						|
//*****************************************************************************
 | 
						|
//nwdentry.h
 | 
						|
//*****************************************************************************
 | 
						|
 | 
						|
type
 | 
						|
  PTRUSTEE_INFO = ^TTRUSTEE_INFO;
 | 
						|
  TTRUSTEE_INFO = record
 | 
						|
    objectID: Tnuint32;
 | 
						|
    objectRights: Tnuint16;
 | 
						|
  end;
 | 
						|
 | 
						|
  PNW_LIMIT_LIST = ^TNW_LIMIT_LIST;
 | 
						|
  TNW_LIMIT_LIST = record
 | 
						|
    numEntries: Tnuint8;
 | 
						|
    list: array[0..101] of record
 | 
						|
      level: Tnuint8;
 | 
						|
      max: Tnuint32;
 | 
						|
      current: Tnuint32;
 | 
						|
    end;
 | 
						|
  end;
 | 
						|
 | 
						|
 | 
						|
  PNWET_INFO = ^TNWET_INFO;
 | 
						|
  TNWET_INFO = record
 | 
						|
    entryName: array[0..15] of Tnstr8;
 | 
						|
    creationDateAndTime: Tnuint32;
 | 
						|
    ownerID: Tnuint32;
 | 
						|
    sequenceNumber: Tnuint32;
 | 
						|
    trusteeList: array[0..19] of TTRUSTEE_INFO;
 | 
						|
  end;
 | 
						|
 | 
						|
  PNWET_INFO_EXT = ^TNWET_INFO_EXT;
 | 
						|
  TNWET_INFO_EXT = record
 | 
						|
    entryName: array[0..15] of Tnstr8;
 | 
						|
    creationDateAndTime: Tnuint32;
 | 
						|
    ownerID: Tnuint32;
 | 
						|
    sequenceNumber: Tnuint32;
 | 
						|
    trusteeList: array[0..99] of TTRUSTEE_INFO;
 | 
						|
  end;
 | 
						|
 | 
						|
  PNWFILE_INFO = ^TNWFILE_INFO;
 | 
						|
  TNWFILE_INFO = record
 | 
						|
    updateDateAndTime: Tnuint32;
 | 
						|
    updatorID: Tnuint32;
 | 
						|
    fileSize: Tnuint32;
 | 
						|
    reserved: array[0..43] of Tnuint8;
 | 
						|
    inheritedRightsMask: Tnuint16;
 | 
						|
    lastAccessDate: Tnuint16;
 | 
						|
    reserved2: array[0..27] of Tnuint8;
 | 
						|
  end;
 | 
						|
 | 
						|
  PNWDIR_INFO = ^TNWDIR_INFO;
 | 
						|
  TNWDIR_INFO = record
 | 
						|
    lastModifyDateAndTime: Tnuint32;
 | 
						|
    nextTrusteeEntry: Tnuint32;
 | 
						|
    reserved: array[0..47] of Tnuint8;
 | 
						|
    maximumSpace: Tnuint32;
 | 
						|
    inheritedRightsMask: Tnuint16;
 | 
						|
    reserved2: array[0..13] of Tnuint8;
 | 
						|
    volObjectID: Tnuint32;
 | 
						|
    reserved3: array[0..7] of Tnuint8;
 | 
						|
  end;
 | 
						|
 | 
						|
  PNWENTRY_INFO = ^TNWENTRY_INFO;
 | 
						|
  TNWENTRY_INFO = record
 | 
						|
    sequence: Tnuint32;
 | 
						|
    parent: Tnuint32;
 | 
						|
    attributes: Tnuint32;
 | 
						|
    uniqueID: Tnuint8;
 | 
						|
    flags: Tnuint8;
 | 
						|
    nameSpace: Tnuint8;
 | 
						|
    nameLength: Tnuint8;
 | 
						|
    name: array[0..11] of Tnuint8;
 | 
						|
    creationDateAndTime: Tnuint32;
 | 
						|
    ownerID: Tnuint32;
 | 
						|
    lastArchiveDateAndTime: Tnuint32;
 | 
						|
    lastArchiverID: Tnuint32;
 | 
						|
    info: record
 | 
						|
      case longint of
 | 
						|
        0: (_file: TNWFILE_INFO);
 | 
						|
        1: (dir: TNWDIR_INFO);
 | 
						|
    end;
 | 
						|
  end;
 | 
						|
    { file size  }
 | 
						|
 | 
						|
  PNW_EXT_FILE_INFO = ^TNW_EXT_FILE_INFO;
 | 
						|
  TNW_EXT_FILE_INFO = record
 | 
						|
    sequence: Tnuint32;
 | 
						|
    parent: Tnuint32;
 | 
						|
    attributes: Tnuint32;
 | 
						|
    uniqueID: Tnuint8;
 | 
						|
    flags: Tnuint8;
 | 
						|
    nameSpace: Tnuint8;
 | 
						|
    nameLength: Tnuint8;
 | 
						|
    name: array[0..11] of Tnuint8;
 | 
						|
    creationDateAndTime: Tnuint32;
 | 
						|
    ownerID: Tnuint32;
 | 
						|
    lastArchiveDateAndTime: Tnuint32;
 | 
						|
    lastArchiverID: Tnuint32;
 | 
						|
    updateDateAndTime: Tnuint32;
 | 
						|
    lastUpdatorID: Tnuint32;
 | 
						|
    dataForkSize: Tnuint32;
 | 
						|
    dataForkFirstFAT: Tnuint32;
 | 
						|
    nextTrusteeEntry: Tnuint32;
 | 
						|
    reserved: array[0..35] of Tnuint8;
 | 
						|
    inheritedRightsMask: Tnuint16;
 | 
						|
    lastAccessDate: Tnuint16;
 | 
						|
    deletedFileTime: Tnuint32;
 | 
						|
    deletedDateAndTime: Tnuint32;
 | 
						|
    deletorID: Tnuint32;
 | 
						|
    reserved2: array[0..15] of Tnuint8;
 | 
						|
    otherForkSize: array[0..1] of Tnuint32;
 | 
						|
  end;
 | 
						|
 | 
						|
const
 | 
						|
  TR_NONE = $0000;
 | 
						|
  TR_READ = $0001;
 | 
						|
  TR_WRITE = $0002;
 | 
						|
  TR_OPEN = $0004;
 | 
						|
  TR_DIRECTORY = $0004;
 | 
						|
  TR_CREATE = $0008;
 | 
						|
  TR_DELETE = $0010;
 | 
						|
  TR_ERASE = $0010;
 | 
						|
  TR_OWNERSHIP = $0020;
 | 
						|
  TR_ACCESS_CTRL = $0020;
 | 
						|
  TR_FILE_SCAN = $0040;
 | 
						|
  TR_SEARCH = $0040;
 | 
						|
  TR_FILE_ACCESS = $0040;
 | 
						|
  TR_MODIFY = $0080;
 | 
						|
  TR_ALL = $01FB;
 | 
						|
  TR_SUPERVISOR = $0100;
 | 
						|
  TR_NORMAL = $00FB;
 | 
						|
 | 
						|
  MModifyNameBit = $0001;
 | 
						|
  MFileAttributesBit = $0002;
 | 
						|
  MCreateDateBit = $0004;
 | 
						|
  MCreateTimeBit = $0008;
 | 
						|
  MOwnerIDBit = $0010;
 | 
						|
  MLastArchivedDateBit = $0020;
 | 
						|
  MLastArchivedTimeBit = $0040;
 | 
						|
  MLastArchivedIDBit = $0080;
 | 
						|
  MLastUpdatedDateBit = $0100;
 | 
						|
  MLastUpdatedTimeBit = $0200;
 | 
						|
  MLastUpdatedIDBit = $0400;
 | 
						|
  MLastAccessedDateBit = $0800;
 | 
						|
  MInheritedRightsMaskBit = $1000;
 | 
						|
  MMaximumSpaceBit = $2000;
 | 
						|
 | 
						|
 | 
						|
function NWDeleteTrustee(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; dirPath: Pnstr8; objID: Tnuint32): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWDeleteTrusteeExt(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; dirPath: Pnstr8; objID: Tnuint32): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWAddTrustee(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; path: Pnstr8; objID: Tnuint32; rightsMask: Tnuint16): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWAddTrusteeExt(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; path: Pnstr8; objID: Tnuint32; rightsMask: Tnuint16): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWIntScanDirEntryInfo(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; attrs: Tnuint16; iterHandle: pnuint32; searchPattern: Pnuint8;
 | 
						|
  entryInfo: PNWENTRY_INFO; augmentFlag: Tnuint16): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
    { was #define dname(params) para_def_expr }
 | 
						|
    // function NWScanForTrustees(a,b,c,d,e,f : longint) : longint;
 | 
						|
 | 
						|
 | 
						|
function NWIntScanForTrustees(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; path: Pnstr8; iterHandle: pnuint32; numOfEntries: pnuint16;
 | 
						|
  entryTrusteeInfo: PNWET_INFO; augmentFlag: Tnuint16): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
    { was #define dname(params) para_def_expr }
 | 
						|
    //function NWScanForTrusteesExt(a,b,c,d,e,f : longint) : longint;
 | 
						|
 | 
						|
 | 
						|
function NWIntScanForTrusteesExt(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; path: Pnstr8; iterHandle: pnuint32; numOfEntries: pnuint16;
 | 
						|
  entryTrusteeInfo: PNWET_INFO_EXT; augmentFlag: Tnuint16): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
 | 
						|
function NWIntMoveDirEntry(conn: TNWCONN_HANDLE; searchAttrs: Tnuint8; srcDirHandle: TNWDIR_HANDLE; srcPath: Pnstr8; dstDirHandle: TNWDIR_HANDLE;
 | 
						|
  dstPath: Pnstr8; augmentFlag: Tnuint16): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
 | 
						|
function NWSetDirEntryInfo(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; searchAttrs: Tnuint8; iterHandle: Tnuint32; changeBits: Tnuint32;
 | 
						|
  newEntryInfo: PNWENTRY_INFO): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
 | 
						|
function NWIntScanExtendedInfo(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; attrs: Tnuint8; iterHandle: pnuint32; searchPattern: Pnstr8;
 | 
						|
  entryInfo: PNW_EXT_FILE_INFO; augmentFlag: Tnuint16): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
 | 
						|
function NWGetEffectiveRights(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; path: Pnstr8; effectiveRights: pnuint16): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWGetEffectiveRightsExt(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; path: Pnstr8; effectiveRights: pnuint16): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
 | 
						|
 | 
						|
//*****************************************************************************
 | 
						|
//nwdirect.h
 | 
						|
//*****************************************************************************
 | 
						|
 | 
						|
    { set to zero if a dirHandle is present  }
 | 
						|
    {....when the NWGetDIrSpaceInfo() is called  }
 | 
						|
type
 | 
						|
 | 
						|
  PDIR_SPACE_INFO = ^TDIR_SPACE_INFO;
 | 
						|
  TDIR_SPACE_INFO = record
 | 
						|
    totalBlocks: Tnuint32;
 | 
						|
    availableBlocks: Tnuint32;
 | 
						|
    purgeableBlocks: Tnuint32;
 | 
						|
    notYetPurgeableBlocks: Tnuint32;
 | 
						|
    totalDirEntries: Tnuint32;
 | 
						|
    availableDirEntries: Tnuint32;
 | 
						|
    reserved: Tnuint32;
 | 
						|
    sectorsPerBlock: Tnuint8;
 | 
						|
    volLen: Tnuint8;
 | 
						|
    volName: array[0..(NW_MAX_VOLUME_NAME_LEN) - 1] of Tnuint8;
 | 
						|
  end;
 | 
						|
    { Trustee Access Rights in a network directory  }
 | 
						|
    { NOTE: TA_OPEN is obsolete in 3.x  }
 | 
						|
 | 
						|
const
 | 
						|
  TA_NONE = $00;
 | 
						|
  TA_READ = $01;
 | 
						|
  TA_WRITE = $02;
 | 
						|
  TA_OPEN = $04;
 | 
						|
  TA_CREATE = $08;
 | 
						|
  TA_DELETE = $10;
 | 
						|
  TA_OWNERSHIP = $20;
 | 
						|
  TA_SEARCH = $40;
 | 
						|
  TA_MODIFY = $80;
 | 
						|
  TA_ALL = $FB;
 | 
						|
 | 
						|
 | 
						|
function NWAddTrusteeToDirectory(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; path: Pnstr8; trusteeID: Tnuint32; rightsMask: Tnuint8): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWDeleteTrusteeFromDirectory(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; path: Pnstr8; objID: Tnuint32): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWGetEffectiveDirectoryRights(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; path: Pnstr8; rightsMask: pnuint16): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWModifyMaximumRightsMask(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; path: Pnstr8; revokeRightsMask: Tnuint8; grantRightsMask: Tnuint8): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWScanDirectoryForTrustees(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; searchPath: Pnstr8; iterHandle: pnuint16; dirName: Pnstr8;
 | 
						|
  dirDateTime: pnuint32; ownerID: pnuint32; trusteeIDs: pnuint32; trusteeRights: pnuint8): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWScanDirectoryForTrustees2(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; searchPath: Pnstr8; iterHandle: pnuint32; dirName: Pnstr8;
 | 
						|
  dirDateTime: pnuint32; ownerID: pnuint32; trusteeList: PTRUSTEE_INFO): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
    { was #define dname(params) para_def_expr }
 | 
						|
    // function NWScanDirectoryInformation(a,b,c,d,e,f,g,h : longint) : longint;
 | 
						|
 | 
						|
 | 
						|
function NWIntScanDirectoryInformation(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; searchPath: Pnstr8; iterHandle: pnuint16; dirName: Pnstr8;
 | 
						|
  dirDateTime: pnuint32; ownerID: pnuint32; rightsMask: pnuint8; augmentFlag: Tnuint16): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
 | 
						|
function NWIntScanDirectoryInformation2(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; searchPath: Pnstr8; sequence: pnuint8; dirName: Pnstr8;
 | 
						|
  dirDateTime: pnuint32; ownerID: pnuint32; rightsMask: pnuint8; augmentFlag: Tnuint16): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
 | 
						|
function NWSetDirectoryInformation(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; path: Pnstr8; dirDateTime: Tnuint32; ownerID: Tnuint32;
 | 
						|
  rightsMask: Tnuint8): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
 | 
						|
function NWAllocPermanentDirectoryHandle(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; dirPath: Pnstr8; newDirHandle: PNWDIR_HANDLE; effectiveRights: pnuint8): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWAllocTemporaryDirectoryHandle(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; dirPath: Pnstr8; newDirHandle: PNWDIR_HANDLE; rightsMask: pnuint8): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWDeallocateDirectoryHandle(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWSetDirectoryHandlePath(conn: TNWCONN_HANDLE; sourceDirHandle: TNWDIR_HANDLE; dirPath: Pnstr8; destDirHandle: TNWDIR_HANDLE): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWGetDirectoryHandlePath(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; dirPath: Pnstr8): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWCreateDirectory(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; dirPath: Pnstr8; accessMask: Tnuint8): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWDeleteDirectory(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; dirPath: Pnstr8): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWRenameDirectory(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; oldName: Pnstr8; newName: Pnstr8): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWSetDirSpaceLimit(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; spaceLimit: Tnuint32): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWGetDirSpaceLimitList(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; returnBuf: pnuint8): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWGetDirSpaceLimitList2(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; limitList: PNW_LIMIT_LIST): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWGetDirSpaceInfo(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; volNum: Tnuint16; spaceInfo: PDIR_SPACE_INFO): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
 | 
						|
const
 | 
						|
  TF_NORMAL = $0000;
 | 
						|
  TF_READ_ONLY = $0001;
 | 
						|
  TF_HIDDEN = $0002;
 | 
						|
  TF_SYSTEM = $0004;
 | 
						|
  TF_EXECUTE_ONLY = $0008;
 | 
						|
  TF_DIRECTORY = $0010;
 | 
						|
  TF_NEEDS_ARCHIVED = $0020;
 | 
						|
  TF_EXECUTE_CONFIRM = $0040;
 | 
						|
  TF_SHAREABLE = $0080;
 | 
						|
  TF_LOW_SEARCH_BIT = $0100;
 | 
						|
  TF_MID_SEARCH_BIT = $0200;
 | 
						|
  TF_HI_SEARCH_BIT = $0400;
 | 
						|
  TF_PRIVATE = $0800;
 | 
						|
  TF_TRANSACTIONAL = $1000;
 | 
						|
  TF_INDEXED = $2000;
 | 
						|
  TF_READ_AUDIT = $4000;
 | 
						|
  TF_WRITE_AUDIT = $8000;
 | 
						|
  TF_PURGE = $10000;
 | 
						|
  TF_RENAME_INHIBIT = $20000;
 | 
						|
  TF_DELETE_INHIBIT = $40000;
 | 
						|
  TF_COPY_INHIBIT = $80000;
 | 
						|
  TF_AUDITING_BIT = $00100000;
 | 
						|
    { DIRECTORY ATTRIBUTES  }
 | 
						|
 | 
						|
  TD_HIDDEN = TF_HIDDEN;
 | 
						|
  TD_SYSTEM = TF_SYSTEM;
 | 
						|
  TD_PURGE = TF_PURGE;
 | 
						|
  TD_PRIVATE = TF_PRIVATE;
 | 
						|
  TD_VISIBLE = TF_PRIVATE;
 | 
						|
  TD_RENAME_INHIBIT = TF_RENAME_INHIBIT;
 | 
						|
  TD_DELETE_INHIBIT = TF_DELETE_INHIBIT;
 | 
						|
 | 
						|
 | 
						|
//*****************************************************************************
 | 
						|
//nwdpath.h
 | 
						|
//*****************************************************************************
 | 
						|
 | 
						|
 | 
						|
const
 | 
						|
  NW_UNMAPPED_DRIVE = $0000;
 | 
						|
  NW_FREE_DRIVE = $0000;
 | 
						|
  NW_CDROM_DRIVE = $0400;
 | 
						|
  NW_LOCAL_FREE_DRIVE = $0800;
 | 
						|
  NW_LOCAL_DRIVE = $1000;
 | 
						|
  NW_NETWORK_DRIVE = $2000;
 | 
						|
  NW_LITE_DRIVE = $4000;
 | 
						|
  NW_PNW_DRIVE = $4000;
 | 
						|
  NW_NETWARE_DRIVE = $8000;
 | 
						|
    { return error for NWGetDriveStatus  }
 | 
						|
  NW_INVALID_DRIVE = 15;
 | 
						|
    { defined for pathFormat parameter in NWGetDriveStatus  }
 | 
						|
  NW_FORMAT_NETWARE = 0;
 | 
						|
  NW_FORMAT_SERVER_VOLUME = 1;
 | 
						|
  NW_FORMAT_DRIVE = 2;
 | 
						|
  NW_FORMAT_UNC = 3;
 | 
						|
 | 
						|
 | 
						|
function NWSetDriveBase(driveNum: Tnuint16; conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; dirPath: Pnstr8; driveScope: Tnuint16): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWSetInitDrive(conn: TNWCONN_HANDLE): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWSetSearchDriveVector(vectorBuffer: Pnstr8): TNWCCODE; NWLIB_UNKNOWN;
 | 
						|
function NWGetSearchDriveVector(vectorBuffer: Pnstr8): TNWCCODE; NWLIB_UNKNOWN;
 | 
						|
function NWDeleteDriveBase(driveNum: Tnuint16; driveScope: Tnuint16): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
    { 3.x & 4.x file servers  }
 | 
						|
function NWGetPathFromDirectoryBase(conn: TNWCONN_HANDLE; volNum: Tnuint8; dirBase: Tnuint32; namSpc: Tnuint8; len: pnuint8;
 | 
						|
  pathName: Pnstr8): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
    { 2.x file servers only  }
 | 
						|
function NWGetPathFromDirectoryEntry(conn: TNWCONN_HANDLE; volNum: Tnuint8; dirEntry: Tnuint16; len: pnuint8; pathName: Pnstr8): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWGetDrivePathConnRef(driveNum: Tnuint16; mode: Tnuint16; connRef: pnuint32; basePath: Pnstr8; driveScope: pnuint16): TNWCCODE; NWLIB_UNKNOWN;
 | 
						|
function NWGetDrivePath(driveNum: Tnuint16; mode: Tnuint16; conn: PNWCONN_HANDLE; basePath: Pnstr8; driveScope: pnuint16): TNWCCODE; NWLIB_UNKNOWN;
 | 
						|
function NWGetDriveInformation(driveNum: Tnuint16; mode: Tnuint16; conn: PNWCONN_HANDLE; dirHandle: PNWDIR_HANDLE; driveScope: pnuint16;
 | 
						|
  dirPath: Pnstr8): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWGetDriveInfoConnRef(driveNum: Tnuint16; mode: Tnuint16; connRef: pnuint32; dirHandle: PNWDIR_HANDLE; driveScope: pnuint16;
 | 
						|
  dirPath: Pnstr8): TNWCCODE; NWLIB_UNKNOWN;
 | 
						|
function NWGetDriveStatus(driveNum: Tnuint16; pathFormat: Tnuint16; status: pnuint16; conn: PNWCONN_HANDLE; rootPath: Pnstr8;
 | 
						|
  relPath: Pnstr8; fullPath: Pnstr8): TNWCCODE; NWLIB_UNKNOWN;
 | 
						|
function NWGetDriveStatusConnRef(driveNum: Tnuint16; pathFormat: Tnuint16; status: pnuint16; connRef: pnuint32; rootPath: Pnstr8;
 | 
						|
  relPath: Pnstr8; fullPath: Pnstr8): TNWCCODE; NWLIB_UNKNOWN;
 | 
						|
function NWGetFirstDrive(firstDrive: pnuint16): TNWCCODE; NWLIB_UNKNOWN;
 | 
						|
function NWParseNetWarePath(path: Pnstr8; conn: PNWCONN_HANDLE; dirHandle: PNWDIR_HANDLE; newPath: Pnstr8): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWParseNetWarePathConnRef(path: Pnstr8; connRef: pnuint32; dirHandle: PNWDIR_HANDLE; newPath: Pnstr8): TNWCCODE; NWLIB_UNKNOWN;
 | 
						|
function NWParsePathConnRef(path: Pnstr8; serverName: Pnstr8; connRef: pnuint32; volName: Pnstr8; dirPath: Pnstr8): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWParsePath(path: Pnstr8; serverName: Pnstr8; conn: PNWCONN_HANDLE; volName: Pnstr8; dirPath: Pnstr8): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWStripServerOffPath(path: Pnstr8; server: Pnstr8): Pnstr8; NWLIB_CALNLM32;
 | 
						|
function NWCreateUNCPath(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; path: Pnstr8; UNCPath: Pnstr8): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
 | 
						|
 | 
						|
//*****************************************************************************
 | 
						|
//nwea.h
 | 
						|
//*****************************************************************************
 | 
						|
 | 
						|
 | 
						|
const
 | 
						|
  EA_EOF = 1;
 | 
						|
  EA_DONE = 1;
 | 
						|
  EA_READWRITE = 0;
 | 
						|
  EA_CREATE = 1;
 | 
						|
    { 0xC8  }
 | 
						|
  MISSING_EA_KEY = 200;
 | 
						|
    { 0xC9  }
 | 
						|
  EA_NOT_FOUND = 201;
 | 
						|
    { 0xCA  }
 | 
						|
  INVALID_EA_HANDLE_TYPE = 202;
 | 
						|
    { 0xCB  }
 | 
						|
  EA_NO_KEY_NO_DATA = 203;
 | 
						|
    { 0xCC  }
 | 
						|
  EA_NUMBER_MISMATCH = 204;
 | 
						|
    { 0xCD  }
 | 
						|
  EXTENT_NUMBER_OUT_OF_RANGE = 205;
 | 
						|
    { 0xCE  }
 | 
						|
  EA_BAD_DIR_NUM = 206;
 | 
						|
    { 0xCF  }
 | 
						|
  INVALID_EA_HANDLE = 207;
 | 
						|
    { 0xD0  }
 | 
						|
  EA_POSITION_OUT_OF_RANGE = 208;
 | 
						|
    { 0xD1  }
 | 
						|
  EA_ACCESS_DENIED = 209;
 | 
						|
    { 0xD2  }
 | 
						|
  DATA_PAGE_ODD_SIZE = 210;
 | 
						|
    { 0xD3  }
 | 
						|
  EA_VOLUME_NOT_MOUNTED = 211;
 | 
						|
    { 0xD4  }
 | 
						|
  BAD_PAGE_BOUNDARY = 212;
 | 
						|
    { 0xD5  }
 | 
						|
  INSPECT_FAILURE = 213;
 | 
						|
    { 0xD6  }
 | 
						|
  EA_ALREADY_CLAIMED = 214;
 | 
						|
    { 0xD7  }
 | 
						|
  ODD_BUFFER_SIZE = 215;
 | 
						|
    { 0xD8  }
 | 
						|
  NO_SCORECARDS = 216;
 | 
						|
    { 0xD9  }
 | 
						|
  BAD_EDS_SIGNATURE = 217;
 | 
						|
    { 0xDA  }
 | 
						|
  EA_SPACE_LIMIT = 218;
 | 
						|
    { 0xDB  }
 | 
						|
  EA_KEY_CORRUPT = 219;
 | 
						|
    { 0xDC  }
 | 
						|
  EA_KEY_LIMIT = 220;
 | 
						|
    { 0xDD  }
 | 
						|
  TALLY_CORRUPT = 221;
 | 
						|
 | 
						|
 | 
						|
type
 | 
						|
  PNW_EA_HANDLE = ^TNW_EA_HANDLE;
 | 
						|
  TNW_EA_HANDLE = record
 | 
						|
    connID: TNWCONN_HANDLE;
 | 
						|
    rwPosition: Tnuint32;
 | 
						|
    EAHandle: Tnuint32;
 | 
						|
    volNumber: Tnuint32;
 | 
						|
    dirBase: Tnuint32;
 | 
						|
    keyUsed: Tnuint8;
 | 
						|
    keyLength: Tnuint16;
 | 
						|
    key: array[0..255] of Tnuint8;
 | 
						|
  end;
 | 
						|
 | 
						|
  PNW_EA_HANDLE_EXT = ^TNW_EA_HANDLE_EXT;
 | 
						|
  TNW_EA_HANDLE_EXT = record
 | 
						|
    connID: TNWCONN_HANDLE;
 | 
						|
    rwPosition: Tnuint32;
 | 
						|
    EAHandle: Tnuint32;
 | 
						|
    volNumber: Tnuint32;
 | 
						|
    dirBase: Tnuint32;
 | 
						|
    keyUsed: Tnuint8;
 | 
						|
    keyLength: Tnuint16;
 | 
						|
    key: array[0..765] of Tnuint8;
 | 
						|
  end;
 | 
						|
 | 
						|
  PNW_EA_FF_STRUCT = ^TNW_EA_FF_STRUCT;
 | 
						|
  TNW_EA_FF_STRUCT = record
 | 
						|
    connID: TNWCONN_HANDLE;
 | 
						|
    nextKeyOffset: Tnuint16;
 | 
						|
    nextKey: Tnuint16;
 | 
						|
    numKeysRead: Tnuint32;
 | 
						|
    totalKeys: Tnuint32;
 | 
						|
    EAHandle: Tnuint32;
 | 
						|
    sequence: Tnuint16;
 | 
						|
    numKeysInBuffer: Tnuint16;
 | 
						|
    enumBuffer: array[0..511] of Tnuint8;
 | 
						|
  end;
 | 
						|
 | 
						|
  PNW_EA_FF_STRUCT_EXT = ^TNW_EA_FF_STRUCT_EXT;
 | 
						|
  TNW_EA_FF_STRUCT_EXT = record
 | 
						|
    connID: TNWCONN_HANDLE;
 | 
						|
    nextKeyOffset: Tnuint16;
 | 
						|
    nextKey: Tnuint16;
 | 
						|
    numKeysRead: Tnuint32;
 | 
						|
    totalKeys: Tnuint32;
 | 
						|
    EAHandle: Tnuint32;
 | 
						|
    sequence: Tnuint16;
 | 
						|
    numKeysInBuffer: Tnuint16;
 | 
						|
    enumBuffer: array[0..1529] of Tnuint8;
 | 
						|
  end;
 | 
						|
 | 
						|
  PNW_IDX = ^TNW_IDX;
 | 
						|
  TNW_IDX = record
 | 
						|
    volNumber: Tnuint8;
 | 
						|
    srcNameSpace: Tnuint8;
 | 
						|
    srcDirBase: Tnuint32;
 | 
						|
    dstNameSpace: Tnuint8;
 | 
						|
    dstDirBase: Tnuint32;
 | 
						|
  end;
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
function NWCloseEA(EAHandle: PNW_EA_HANDLE): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWCloseEAExt(EAHandle: PNW_EA_HANDLE_EXT): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWFindFirstEA(conn: TNWCONN_HANDLE; idxStruct: PNW_IDX; ffStruct: PNW_EA_FF_STRUCT; EAHandle: PNW_EA_HANDLE; EAName: Pnstr8): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWFindFirstEAExt(conn: TNWCONN_HANDLE; idxStruct: PNW_IDX; ffStruct: PNW_EA_FF_STRUCT_EXT; EAHandle: PNW_EA_HANDLE_EXT; EAName: Pnstr8): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWFindNextEA(ffStruct: PNW_EA_FF_STRUCT; EAHandle: PNW_EA_HANDLE; EAName: Pnstr8): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWFindNextEAExt(ffStruct: PNW_EA_FF_STRUCT_EXT; EAHandle: PNW_EA_HANDLE_EXT; EAName: Pnstr8): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWReadEA(EAHandle: PNW_EA_HANDLE; bufferSize: Tnuint32; buffer: pnuint8; totalEASize: pnuint32; amountRead: pnuint32): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWReadEAExt(EAHandle: PNW_EA_HANDLE_EXT; bufferSize: Tnuint32; buffer: pnuint8; totalEASize: pnuint32; amountRead: pnuint32): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWWriteEA(EAHandle: PNW_EA_HANDLE; totalWriteSize: Tnuint32; bufferSize: Tnuint32; buffer: Pnuint8; amountWritten: pnuint32): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWWriteEAExt(EAHandle: PNW_EA_HANDLE_EXT; totalWriteSize: Tnuint32; bufferSize: Tnuint32; buffer: Pnuint8; amountWritten: pnuint32): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWGetEAHandleStruct(conn: TNWCONN_HANDLE; EAName: Pnstr8; idxStruct: PNW_IDX; EAHandle: PNW_EA_HANDLE): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWGetEAHandleStructExt(conn: TNWCONN_HANDLE; EAName: Pnstr8; idxStruct: PNW_IDX; EAHandle: PNW_EA_HANDLE_EXT): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWOpenEA(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; path: Pnstr8; EAName: Pnstr8; nameSpace: Tnuint8;
 | 
						|
  EAHandle: PNW_EA_HANDLE): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
 | 
						|
function NWOpenEAExt(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; path: Pnstr8; EAName: Pnstr8; nameSpace: Tnuint8;
 | 
						|
  EAHandle: PNW_EA_HANDLE_EXT): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
 | 
						|
 | 
						|
 | 
						|
const
 | 
						|
  SUCCESS = 0;
 | 
						|
    { Network errors }
 | 
						|
    { Decimal values at end of line are 32768 lower than actual }
 | 
						|
  SHELL_ERROR = $8800;
 | 
						|
  VLM_ERROR = $8800;
 | 
						|
  ALREADY_ATTACHED = $8800; { 0 - Attach attempted to server with valid, existing connection }
 | 
						|
  INVALID_CONNECTION = $8801; { 1 - Request attempted with invalid or non-attached connection handle }
 | 
						|
  DRIVE_IN_USE = $8802; { 2 - OS/2 only (NOT USED) }
 | 
						|
  CANT_ADD_CDS = $8803; { 3 - Map drive attempted but unable to add new current directory structure }
 | 
						|
  DRIVE_CANNOT_MAP = $8803;
 | 
						|
  BAD_DRIVE_BASE = $8804; { 4 - Map drive attempted with invalid path specification }
 | 
						|
  NET_READ_ERROR = $8805; { 5 - Attempt to receive from the selected transport failed }
 | 
						|
  NET_RECV_ERROR = $8805;
 | 
						|
  UNKNOWN_NET_ERROR = $8806; { 6 - Network send attempted with an un-specific network error }
 | 
						|
  SERVER_INVALID_SLOT = $8807; { 7 - Server request attempted with invalid server connection slot }
 | 
						|
  BAD_SERVER_SLOT = $8807;
 | 
						|
  NO_SERVER_SLOTS = $8808; { 8 - Attach attempted to server with no connection slots available }
 | 
						|
  NET_WRITE_ERROR = $8809; { 9 - Attempt to send on the selected transport failed }
 | 
						|
  CONNECTION_IN_ERROR_STATE = $8809; { Client-32 }
 | 
						|
  NET_SEND_ERROR = $8809;
 | 
						|
  SERVER_NO_ROUTE = $880A; { 10 - Attempted to find route to server where no route exists }
 | 
						|
  BAD_LOCAL_TARGET = $880B; { 11 - OS/2 only }
 | 
						|
  TOO_MANY_REQ_FRAGS = $880C; { 12 - Attempted request with too many request fragments specified }
 | 
						|
  CONNECT_LIST_OVERFLOW = $880D;
 | 
						|
  BUFFER_OVERFLOW = $880E; { 14 - Attempt to receive more data than the reply buffer had room for }
 | 
						|
  MORE_DATA_ERROR = $880E; { Client-32 }
 | 
						|
  NO_CONN_TO_SERVER = $880F;
 | 
						|
  NO_CONNECTION_TO_SERVER = $880F; { 15 - Attempt to get connection for a server not connected }
 | 
						|
  NO_ROUTER_FOUND = $8810; { 16 - OS/2 only }
 | 
						|
  BAD_FUNC_ERROR = $8811;
 | 
						|
  INVALID_SHELL_CALL = $8811; { 17 - Attempted function call to non- existent or illegal function }
 | 
						|
  SCAN_COMPLETE = $8812;
 | 
						|
  LIP_RESIZE_ERROR = $8812; { Client-32 }
 | 
						|
  UNSUPPORTED_NAME_FORMAT_TYPE = $8813;
 | 
						|
  INVALID_DIR_HANDLE = $8813; { Client-32 }
 | 
						|
  HANDLE_ALREADY_LICENSED = $8814;
 | 
						|
  OUT_OF_CLIENT_MEMORY = $8814; { Client-32 }
 | 
						|
  HANDLE_ALREADY_UNLICENSED = $8815;
 | 
						|
  PATH_NOT_OURS = $8815; { Client-32 }
 | 
						|
  INVALID_NCP_PACKET_LENGTH = $8816;
 | 
						|
  PATH_IS_PRINT_DEVICE = $8816; { Client-32 }
 | 
						|
  SETTING_UP_TIMEOUT = $8817;
 | 
						|
  PATH_IS_EXCLUDED_DEVICE = $8817; { Client-32 }
 | 
						|
  SETTING_SIGNALS = $8818;
 | 
						|
  PATH_IS_INVALID = $8818; { Client-32 }
 | 
						|
  SERVER_CONNECTION_LOST = $8819;
 | 
						|
  NOT_SAME_DEVICE = $8819; { Client-32 }
 | 
						|
  OUT_OF_HEAP_SPACE = $881A;
 | 
						|
  INVALID_SERVICE_REQUEST = $881B;
 | 
						|
  INVALID_SEARCH_HANDLE = $881B; { Client-32 }
 | 
						|
  INVALID_TASK_NUMBER = $881C;
 | 
						|
  INVALID_DEVICE_HANDLE = $881C; { Client-32 }
 | 
						|
  INVALID_MESSAGE_LENGTH = $881D;
 | 
						|
  INVALID_SEM_HANDLE = $881D; { Client-32 }
 | 
						|
  EA_SCAN_DONE = $881E;
 | 
						|
  INVALID_CFG_HANDLE = $881E; { Client-32 }
 | 
						|
  BAD_CONNECTION_NUMBER = $881F;
 | 
						|
  INVALID_MOD_HANDLE = $881F; { Client-32 }
 | 
						|
  ASYN_FIRST_PASS = $8820;
 | 
						|
  INVALID_DEVICE_INDEX = $8821;
 | 
						|
  INVALID_CONN_HANDLE = $8822;
 | 
						|
  INVALID_QUEUE_ID = $8823;
 | 
						|
  INVALID_PDEVICE_HANDLE = $8824;
 | 
						|
  INVALID_JOB_HANDLE = $8825;
 | 
						|
  INVALID_ELEMENT_ID = $8826;
 | 
						|
  ALIAS_NOT_FOUND = $8827;
 | 
						|
  RESOURCE_SUSPENDED = $8828;
 | 
						|
  INVALID_QUEUE_SPECIFIED = $8829;
 | 
						|
  DEVICE_ALREADY_OPEN = $882A;
 | 
						|
  JOB_ALREADY_OPEN = $882B;
 | 
						|
  QUEUE_NAME_ID_MISMATCH = $882C;
 | 
						|
  JOB_ALREADY_STARTED = $882D;
 | 
						|
  SPECT_DAA_TYPE_NOT_SUPPORTED = $882E;
 | 
						|
  INVALID_ENVIR_HANDLE = $882F;
 | 
						|
  NOT_SAME_CONNECTION = $8830; { 48 - Internal server request attempted accross different server connections }
 | 
						|
  PRIMARY_CONNECTION_NOT_SET = $8831; { 49 - Attempt to retrieve default connection with no primary connection set }
 | 
						|
  NO_PRIMARY_SET = $8831;
 | 
						|
  KEYWORD_NOT_FOUND = $8832; { Client-32 }
 | 
						|
  PRINT_CAPTURE_NOT_IN_PROGRESS = $8832; { Client-32 }
 | 
						|
  NO_CAPTURE_SET = $8832;
 | 
						|
  NO_CAPTURE_IN_PROGRESS = $8832; { 50 - Capture information requested on port with no capture in progress }
 | 
						|
  BAD_BUFFER_LENGTH = $8833;
 | 
						|
  INVALID_BUFFER_LENGTH = $8833; { 51 - Used to indicate length which caller requested on a GetDNC or SetDNC was too large }
 | 
						|
  NO_USER_NAME = $8834;
 | 
						|
  NO_NETWARE_PRINT_SPOOLER = $8835; { 53 - Capture requested without having the local print spooler installed }
 | 
						|
  INVALID_PARAMETER = $8836; { 54 - Attempted function with an invalid function parameter specified }
 | 
						|
  CONFIG_FILE_OPEN_FAILED = $8837; { 55 - OS/2 only }
 | 
						|
  NO_CONFIG_FILE = $8838; { 56 - OS/2 only }
 | 
						|
  CONFIG_FILE_READ_FAILED = $8839; { 57 - OS/2 only }
 | 
						|
  CONFIG_LINE_TOO_LONG = $883A; { 58 - OS/2 only }
 | 
						|
  CONFIG_LINES_IGNORED = $883B; { 59 - OS/2 only }
 | 
						|
  NOT_MY_RESOURCE = $883C; { 60 - Attempted request made with a parameter using foriegn resource }
 | 
						|
  DAEMON_INSTALLED = $883D; { 61 - OS/2 only }
 | 
						|
  SPOOLER_INSTALLED = $883E; { 62 - Attempted load of print spooler with print spooler already installed }
 | 
						|
  CONN_TABLE_FULL = $883F;
 | 
						|
  CONNECTION_TABLE_FULL = $883F; { 63 - Attempted to allocate a connection handle with no more local connection table entries }
 | 
						|
  CONFIG_SECTION_NOT_FOUND = $8840; { 64 - OS/2 only }
 | 
						|
  BAD_TRAN_TYPE = $8841;
 | 
						|
  INVALID_TRANSPORT_TYPE = $8841; { 65 - Attempted function on a connection with an invalid transport selected }
 | 
						|
  TDS_TAG_IN_USE = $8842; { 66 - OS/2 only }
 | 
						|
  TDS_OUT_OF_MEMORY = $8843; { 67 - OS/2 only }
 | 
						|
  TDS_INVALID_TAG = $8844; { 68 - Attempted TDS function with invalid tag }
 | 
						|
  TDS_WRITE_TRUNCATED = $8845; { 69 - Attempted TDS write with buffer that exceeded buffer }
 | 
						|
  NO_CONNECTION_TO_DS = $8846; { Client-32 }
 | 
						|
  NO_DIRECTORY_SERVICE_CONNECTION = $8846;
 | 
						|
  SERVICE_BUSY = $8846; { 70 - Attempted request made to partially asynchronous function in busy state }
 | 
						|
  NO_SERVER_ERROR = $8847; { 71 - Attempted connect failed to find any servers responding }
 | 
						|
  BAD_VLM_ERROR = $8848; { 72 - Attempted function call to non-existant or not-loaded overlay }
 | 
						|
  NETWORK_DRIVE_IN_USE = $8849; { 73 - Attempted map to network drive that was already mapped }
 | 
						|
  LOCAL_DRIVE_IN_USE = $884A; { 74 - Attempted map to local drive that was in use }
 | 
						|
  NO_DRIVES_AVAILABLE = $884B; { 75 - Attempted map to next available drive when none were available }
 | 
						|
  DEVICE_NOT_REDIRECTED = $884C; { 76 - The device is not redirected }
 | 
						|
  NO_MORE_SFT_ENTRIES = $884D; { 77 - Maximum number of files was reached }
 | 
						|
  UNLOAD_ERROR = $884E; { 78 - Attempted unload failed }
 | 
						|
  IN_USE_ERROR = $884F; { 79 - Attempted re-use of already in use connection entry }
 | 
						|
  TOO_MANY_REP_FRAGS = $8850; { 80 - Attempted request with too many reply fragments specified }
 | 
						|
  TABLE_FULL = $8851; { 81 - Attempted to add a name into the name table after it was full }
 | 
						|
  SOCKET_NOT_OPEN = $8852; { 82 - Listen was posted on unopened socket }
 | 
						|
  MEM_MGR_ERROR = $8853; { 83 - Attempted enhanced memory operation failed }
 | 
						|
  SFT3_ERROR = $8854; { 84 - An SFT3 switch occured mid-transfer }
 | 
						|
  PREFERRED_NOT_FOUND = $8855; { 85 - the preferred directory server was not established but another directory server was returned }
 | 
						|
  DEVICE_NOT_RECOGNIZED = $8856; { 86 - used to determine if the device is not used by VISE so pass it on to the next redirector, if any. }
 | 
						|
  BAD_NET_TYPE = $8857; { 87 - the network type (Bind/NDS) does not match the server version }
 | 
						|
  ERROR_OPENING_FILE = $8858; { 88 - generic open failure error, invalid path, access denied, etc.. }
 | 
						|
  NO_PREFERRED_SPECIFIED = $8859; { 89 - no preferred name specified }
 | 
						|
  ERROR_OPENING_SOCKET = $885A; { 90 - error opening a socket }
 | 
						|
  REQUESTER_FAILURE = $885A; { Client-32 }
 | 
						|
  RESOURCE_ACCESS_DENIED = $885B; { Client-32 }
 | 
						|
  SIGNATURE_LEVEL_CONFLICT = $8861;
 | 
						|
  NO_LOCK_FOUND = $8862; { OS/2 - process lock on conn handle failed, process ID not recognized }
 | 
						|
  LOCK_TABLE_FULL = $8863; { OS/2 - process lock on conn handle failed, process lock table full }
 | 
						|
  INVALID_MATCH_DATA = $8864;
 | 
						|
  MATCH_FAILED = $8865;
 | 
						|
  NO_MORE_ENTRIES = $8866;
 | 
						|
  INSUFFICIENT_RESOURCES = $8867;
 | 
						|
  STRING_TRANSLATION = $8868;
 | 
						|
  STRING_TRANSLATION_NEEDED = $8868; { Client-32 }
 | 
						|
  ACCESS_VIOLATION = $8869;
 | 
						|
  NOT_AUTHENTICATED = $886A;
 | 
						|
  INVALID_LEVEL = $886B;
 | 
						|
  RESOURCE_LOCK_ERROR = $886C;
 | 
						|
  INVALID_NAME_FORMAT = $886D;
 | 
						|
  OBJECT_EXISTS = $886E;
 | 
						|
  OBJECT_NOT_FOUND = $886F;
 | 
						|
  UNSUPPORTED_TRAN_TYPE = $8870;
 | 
						|
  INVALID_STRING_TYPE = $8871;
 | 
						|
  INVALID_OWNER = $8872;
 | 
						|
  UNSUPPORTED_AUTHENTICATOR = $8873;
 | 
						|
  IO_PENDING = $8874;
 | 
						|
  INVALID_DRIVE_NUM = $8875;
 | 
						|
  SHELL_FAILURE = $88FF;
 | 
						|
  VLM_FAILURE = $88FF;
 | 
						|
  SVC_ALREADY_REGISTERED = $8880; { Client-32 }
 | 
						|
  SVC_REGISTRY_FULL = $8881; { Client-32 }
 | 
						|
  SVC_NOT_REGISTERED = $8882; { Client-32 }
 | 
						|
  OUT_OF_RESOURCES = $8883; { Client-32 }
 | 
						|
  RESOLVE_SVC_FAILED = $8884; { Client-32 }
 | 
						|
  CONNECT_FAILED = $8885; { Client-32 }
 | 
						|
  PROTOCOL_NOT_BOUND = $8886; { Client-32 }
 | 
						|
  AUTHENTICATION_FAILED = $8887; { Client-32 }
 | 
						|
  INVALID_AUTHEN_HANDLE = $8888; { Client-32 }
 | 
						|
  AUTHEN_HANDLE_ALREADY_EXISTS = $8889; { Client-32 }
 | 
						|
  DIFF_OBJECT_ALREADY_AUTHEN = $8890; { Client-32 }
 | 
						|
  REQUEST_NOT_SERVICEABLE = $8891; { Client-32 }
 | 
						|
  AUTO_RECONNECT_SO_REBUILD = $8892; { Client-32 }
 | 
						|
  AUTO_RECONNECT_RETRY_REQUEST = $8893; { Client-32 }
 | 
						|
  ASYNC_REQUEST_IN_USE = $8894; { Client-32 }
 | 
						|
  ASYNC_REQUEST_CANCELED = $8895; { Client-32 }
 | 
						|
  SESS_SVC_ALREADY_REGISTERED = $8896; { Client-32 }
 | 
						|
  SESS_SVC_NOT_REGISTERED = $8897; { Client-32 }
 | 
						|
  PREVIOUSLY_AUTHENTICATED = $8899; { Client-32 }
 | 
						|
  RESOLVE_SVC_PARTIAL = $889A; { Client-32 }
 | 
						|
  NO_DEFAULT_SPECIFIED = $889B; { Client-32 }
 | 
						|
  HOOK_REQUEST_NOT_HANDLED = $889C; { Client-32 }
 | 
						|
  HOOK_REQUEST_BUSY = $889D; { Client-32 }
 | 
						|
  HOOK_REQUEST_QUEUED = $889D; { Client-32 }
 | 
						|
  AUTO_RECONNECT_SO_IGNORE = $889E; { Client-32 }
 | 
						|
  ASYNC_REQUEST_NOT_IN_USE = $889F; { Client-32 }
 | 
						|
  AUTO_RECONNECT_FAILURE = $88A0; { Client-32 }
 | 
						|
  NET_ERROR_ABORT_APPLICATION = $88A1; { Client-32 }
 | 
						|
  NET_ERROR_SUSPEND_APPLICATION = $88A2; { Client-32 }
 | 
						|
  NET_ERROR_ABORTED_PROCESS_GROUP = $88A3; { Client-32 }
 | 
						|
  NET_ERROR_PASSWORD_HAS_EXPIRED = $88A5; { Client-32 }
 | 
						|
  NET_ERROR_NETWORK_INACTIVE = $88A6; { Client-32 }
 | 
						|
  REPLY_TRUNCATED = $88E6; { 230 NLM }
 | 
						|
  UTF8_CONVERSION_FAILED = $88F0; { NWCALLS }
 | 
						|
    { Server Errors }
 | 
						|
  ERR_INSUFFICIENT_SPACE = $8901; { 001 }
 | 
						|
  NLM_INVALID_CONNECTION = $890A; { 010 }
 | 
						|
  ERR_TIMEOUT = $8910; { 016 - nlm connection timeout }
 | 
						|
  ERR_NO_MORE_ENTRY = $8914; { 020 }
 | 
						|
  ERR_BUFFER_TOO_SMALL = $8977; { 119 }
 | 
						|
  ERR_VOLUME_FLAG_NOT_SET = $8978; { 120 the service requested, not avail. on the selected vol. }
 | 
						|
  ERR_NO_ITEMS_FOUND = $8979; { 121 }
 | 
						|
  ERR_CONN_ALREADY_TEMP = $897A; { 122 }
 | 
						|
  ERR_CONN_ALREADY_LOGGED_IN = $897B; { 123 }
 | 
						|
  ERR_CONN_NOT_AUTHENTICATED = $897C; { 124 }
 | 
						|
  ERR_CONN_NOT_LOGGED_IN = $897D; { 125 }
 | 
						|
  NCP_BOUNDARY_CHECK_FAILED = $897E; { 126 }
 | 
						|
  ERR_LOCK_WAITING = $897F; { 127 }
 | 
						|
  ERR_LOCK_FAIL = $8980; { 128 }
 | 
						|
  FILE_IN_USE_ERROR = $8980; { 128 }
 | 
						|
  NO_MORE_FILE_HANDLES = $8981; { 129 }
 | 
						|
  NO_OPEN_PRIVILEGES = $8982; { 130 }
 | 
						|
  IO_ERROR_NETWORK_DISK = $8983; { 131 }
 | 
						|
  ERR_AUDITING_HARD_IO_ERROR = $8983; { 131 }
 | 
						|
  NO_CREATE_PRIVILEGES = $8984; { 132 }
 | 
						|
  ERR_AUDITING_NOT_SUPV = $8984; { 132 }
 | 
						|
  NO_CREATE_DELETE_PRIVILEGES = $8985; { 133 }
 | 
						|
  CREATE_FILE_EXISTS_READ_ONLY = $8986; { 134 }
 | 
						|
  WILD_CARDS_IN_CREATE_FILE_NAME = $8987;
 | 
						|
  CREATE_FILENAME_ERROR = $8987; { 135 }
 | 
						|
  INVALID_FILE_HANDLE = $8988; { 136 }
 | 
						|
  NO_SEARCH_PRIVILEGES = $8989; { 137 }
 | 
						|
  NO_DELETE_PRIVILEGES = $898A; { 138 }
 | 
						|
  NO_RENAME_PRIVILEGES = $898B; { 139 }
 | 
						|
  NO_MODIFY_PRIVILEGES = $898C; { 140 }
 | 
						|
  SOME_FILES_AFFECTED_IN_USE = $898D; { 141 }
 | 
						|
  NO_FILES_AFFECTED_IN_USE = $898E; { 142 }
 | 
						|
  SOME_FILES_AFFECTED_READ_ONLY = $898F; { 143 }
 | 
						|
  NO_FILES_AFFECTED_READ_ONLY = $8990; { 144 }
 | 
						|
  SOME_FILES_RENAMED_NAME_EXISTS = $8991; { 145 }
 | 
						|
  NO_FILES_RENAMED_NAME_EXISTS = $8992; { 146 }
 | 
						|
  NO_READ_PRIVILEGES = $8993; { 147 }
 | 
						|
  NO_WRITE_PRIVILEGES_OR_READONLY = $8994; { 148 }
 | 
						|
  FILE_DETACHED = $8995; { 149 }
 | 
						|
  SERVER_OUT_OF_MEMORY = $8996; { 150 }
 | 
						|
  ERR_TARGET_NOT_A_SUBDIRECTORY = $8996; { 150 can be changed later (note written by server people). }
 | 
						|
  NO_DISK_SPACE_FOR_SPOOL_FILE = $8997; { 151 }
 | 
						|
  ERR_AUDITING_NOT_ENABLED = $8997; { 151 }
 | 
						|
  VOLUME_DOES_NOT_EXIST = $8998; { 152 }
 | 
						|
  DIRECTORY_FULL = $8999; { 153 }
 | 
						|
  RENAMING_ACROSS_VOLUMES = $899A; { 154 }
 | 
						|
  BAD_DIRECTORY_HANDLE = $899B; { 155 }
 | 
						|
  INVALID_PATH = $899C; { 156 }
 | 
						|
  NO_MORE_TRUSTEES = $899C; { 156 }
 | 
						|
  NO_MORE_DIRECTORY_HANDLES = $899D; { 157 }
 | 
						|
  INVALID_FILENAME = $899E; { 158 }
 | 
						|
  DIRECTORY_ACTIVE = $899F; { 159 }
 | 
						|
  DIRECTORY_NOT_EMPTY = $89A0; { 160 }
 | 
						|
  DIRECTORY_IO_ERROR = $89A1; { 161 }
 | 
						|
  READ_FILE_WITH_RECORD_LOCKED = $89A2; { 162 }
 | 
						|
  ERR_TRANSACTION_RESTARTED = $89A3; { 163 }
 | 
						|
  ERR_RENAME_DIR_INVALID = $89A4; { 164 }
 | 
						|
  ERR_INVALID_OPENCREATE_MODE = $89A5; { 165 }
 | 
						|
  ERR_ALREADY_IN_USE = $89A6; { 166 }
 | 
						|
  ERR_AUDITING_ACTIVE = $89A6; { 166 }
 | 
						|
  ERR_INVALID_RESOURCE_TAG = $89A7; { 167 }
 | 
						|
  ERR_ACCESS_DENIED = $89A8; { 168 }
 | 
						|
  ERR_AUDITING_NO_RIGHTS = $89A8; { 168 }
 | 
						|
  ERR_LINK_IN_PATH = $89A9; { 169 }
 | 
						|
  INVALID_DATA_TYPE = $89AA; { 170 }
 | 
						|
  INVALID_DATA_STREAM = $89BE; { 190 }
 | 
						|
  INVALID_NAME_SPACE = $89BF; { 191 }
 | 
						|
  NO_ACCOUNTING_PRIVILEGES = $89C0; { 192 }
 | 
						|
  LOGIN_DENIED_NO_ACCOUNT_BALANCE = $89C1; { 193 }
 | 
						|
  LOGIN_DENIED_NO_CREDIT = $89C2; { 194 }
 | 
						|
  ERR_AUDITING_RECORD_SIZE = $89C2; { 194 }
 | 
						|
  ERR_TOO_MANY_HOLDS = $89C3; { 195 }
 | 
						|
  ACCOUNTING_DISABLED = $89C4; { 196 }
 | 
						|
  INTRUDER_DETECTION_LOCK = $89C5; { 197 }
 | 
						|
  NO_CONSOLE_OPERATOR = $89C6; { 198 }
 | 
						|
  NO_CONSOLE_PRIVILEGES = $89C6; { 198 }
 | 
						|
  ERR_Q_IO_FAILURE = $89D0; { 208 }
 | 
						|
  ERR_NO_QUEUE = $89D1; { 209 }
 | 
						|
  ERR_NO_Q_SERVER = $89D2; { 210 }
 | 
						|
  ERR_NO_Q_RIGHTS = $89D3; { 211 }
 | 
						|
  ERR_Q_FULL = $89D4; { 212 }
 | 
						|
  ERR_NO_Q_JOB = $89D5; { 213 }
 | 
						|
  ERR_NO_Q_JOB_RIGHTS = $89D6; { 214 }
 | 
						|
  ERR_Q_IN_SERVICE = $89D7; { 215 }
 | 
						|
  PASSWORD_NOT_UNIQUE = $89D7; { 215 }
 | 
						|
  ERR_Q_NOT_ACTIVE = $89D8; { 216 }
 | 
						|
  PASSWORD_TOO_SHORT = $89D8; { 216 }
 | 
						|
  ERR_Q_STN_NOT_SERVER = $89D9; { 217 }
 | 
						|
  LOGIN_DENIED_NO_CONNECTION = $89D9; { 217 }
 | 
						|
  ERR_MAXIMUM_LOGINS_EXCEEDED = $89D9; { 217 }
 | 
						|
  ERR_Q_HALTED = $89DA; { 218 }
 | 
						|
  UNAUTHORIZED_LOGIN_TIME = $89DA; { 218 }
 | 
						|
  UNAUTHORIZED_LOGIN_STATION = $89DB; { 219 }
 | 
						|
  ERR_Q_MAX_SERVERS = $89DB; { 219 }
 | 
						|
  ACCOUNT_DISABLED = $89DC; { 220 }
 | 
						|
  PASSWORD_HAS_EXPIRED_NO_GRACE = $89DE; { 222 }
 | 
						|
  PASSWORD_HAS_EXPIRED = $89DF; { 223 }
 | 
						|
  E_NO_MORE_USERS = $89E7; { 231 }
 | 
						|
  NOT_ITEM_PROPERTY = $89E8; { 232 }
 | 
						|
  WRITE_PROPERTY_TO_GROUP = $89E8; { 232 }
 | 
						|
  MEMBER_ALREADY_EXISTS = $89E9; { 233 }
 | 
						|
  NO_SUCH_MEMBER = $89EA; { 234 }
 | 
						|
  NOT_GROUP_PROPERTY = $89EB; { 235 }
 | 
						|
  NO_SUCH_SEGMENT = $89EC; { 236 }
 | 
						|
  PROPERTY_ALREADY_EXISTS = $89ED; { 237 }
 | 
						|
  OBJECT_ALREADY_EXISTS = $89EE; { 238 }
 | 
						|
  INVALID_NAME = $89EF; { 239 }
 | 
						|
  WILD_CARD_NOT_ALLOWED = $89F0; { 240 }
 | 
						|
  INVALID_BINDERY_SECURITY = $89F1; { 241 }
 | 
						|
  NO_OBJECT_READ_PRIVILEGE = $89F2; { 242 }
 | 
						|
  NO_OBJECT_RENAME_PRIVILEGE = $89F3; { 243 }
 | 
						|
  NO_OBJECT_DELETE_PRIVILEGE = $89F4; { 244 }
 | 
						|
  NO_OBJECT_CREATE_PRIVILEGE = $89F5; { 245 }
 | 
						|
  NO_PROPERTY_DELETE_PRIVILEGE = $89F6; { 246 }
 | 
						|
  NO_PROPERTY_CREATE_PRIVILEGE = $89F7; { 247 }
 | 
						|
  NO_PROPERTY_WRITE_PRIVILEGE = $89F8; { 248 }
 | 
						|
  NO_FREE_CONNECTION_SLOTS = $89F9; { 249 }
 | 
						|
  NO_PROPERTY_READ_PRIVILEGE = $89F9; { 249 }
 | 
						|
  NO_MORE_SERVER_SLOTS = $89FA; { 250 }
 | 
						|
  TEMP_REMAP_ERROR = $89FA; { 250 }
 | 
						|
  INVALID_PARAMETERS = $89FB; { 251 }
 | 
						|
  NO_SUCH_PROPERTY = $89FB; { 251 }
 | 
						|
  ERR_NCP_NOT_SUPPORTED = $89FB; { 251 }
 | 
						|
  INTERNET_PACKET_REQT_CANCELED = $89FC; { 252 }
 | 
						|
  UNKNOWN_FILE_SERVER = $89FC; { 252 }
 | 
						|
  MESSAGE_QUEUE_FULL = $89FC; { 252 }
 | 
						|
  NO_SUCH_OBJECT = $89FC; { 252 }
 | 
						|
  LOCK_COLLISION = $89FD; { 253 }
 | 
						|
  BAD_STATION_NUMBER = $89FD; { 253 }
 | 
						|
  INVALID_PACKET_LENGTH = $89FD; { 253 }
 | 
						|
  UNKNOWN_REQUEST = $89FD; { 253 }
 | 
						|
  BINDERY_LOCKED = $89FE; { 254 }
 | 
						|
  TRUSTEE_NOT_FOUND = $89FE; { 254 }
 | 
						|
  DIRECTORY_LOCKED = $89FE; { 254 }
 | 
						|
  INVALID_SEMAPHORE_NAME_LENGTH = $89FE; { 254 }
 | 
						|
  PACKET_NOT_DELIVERABLE = $89FE; { 254 }
 | 
						|
  SERVER_BINDERY_LOCKED = $89FE; { 254 }
 | 
						|
  SOCKET_TABLE_FULL = $89FE; { 254 }
 | 
						|
  SPOOL_DIRECTORY_ERROR = $89FE; { 254 }
 | 
						|
  SUPERVISOR_HAS_DISABLED_LOGIN = $89FE; { 254 }
 | 
						|
  TIMEOUT_FAILURE = $89FE; { 254 }
 | 
						|
  BAD_PRINTER_ERROR = $89FF; { 255 }
 | 
						|
  BAD_RECORD_OFFSET = $89FF; { 255 }
 | 
						|
  CLOSE_FCB_ERROR = $89FF; { 255 }
 | 
						|
  FILE_EXTENSION_ERROR = $89FF; { 255 }
 | 
						|
  FILE_NAME_ERROR = $89FF; { 255 }
 | 
						|
  HARDWARE_FAILURE = $89FF; { 255 }
 | 
						|
  INVALID_DRIVE_NUMBER = $89FF; { 255 }
 | 
						|
  DOS_INVALID_DRIVE = $000F; { 255 }
 | 
						|
  INVALID_INITIAL_SEMAPHORE_VALUE = $89FF; { 255 }
 | 
						|
  INVALID_SEMAPHORE_HANDLE = $89FF; { 255 }
 | 
						|
  IO_BOUND_ERROR = $89FF; { 255 }
 | 
						|
  NO_FILES_FOUND_ERROR = $89FF; { 255 }
 | 
						|
  NO_RESPONSE_FROM_SERVER = $89FF; { 255 }
 | 
						|
  NO_SUCH_OBJECT_OR_BAD_PASSWORD = $89FF; { 255 }
 | 
						|
  PATH_NOT_LOCATABLE = $89FF; { 255 }
 | 
						|
  QUEUE_FULL_ERROR = $89FF; { 255 }
 | 
						|
  REQUEST_NOT_OUTSTANDING = $89FF; { 255 }
 | 
						|
  SOCKET_ALREADY_OPEN = $89FF; { 255 }
 | 
						|
  LOCK_ERROR = $89FF; { 255 }
 | 
						|
  FAILURE = $89FF; { 255 Generic Failure }
 | 
						|
     { NOT_SAME_LOCAL_DRIVE = $89F6; }
 | 
						|
     { TARGET_DRIVE_NOT_LOCAL = $89F7; }
 | 
						|
     { ALREADY_ATTACHED_TO_SERVER = $89F8; // 248 }
 | 
						|
     { NOT_ATTACHED_TO_SERVER = $89F8; }
 | 
						|
     {/// Network errors ///// }
 | 
						|
     { Decimal values at end of line are 32768 lower than actual }
 | 
						|
 | 
						|
 | 
						|
  NWE_ALREADY_ATTACHED = $8800; { 0 - Attach attempted to server with valid, existing connection }
 | 
						|
  NWE_CONN_INVALID = $8801; { 1 - Request attempted with invalid or non-attached connection handle }
 | 
						|
  NWE_DRIVE_IN_USE = $8802; { 2 - OS/2 only (NOT USED) }
 | 
						|
  NWE_DRIVE_CANNOT_MAP = $8803; { 3 - Map drive attempted but unable to add new current directory structure }
 | 
						|
  NWE_DRIVE_BAD_PATH = $8804; { 4 - Map drive attempted with invalid path specification }
 | 
						|
  NWE_NET_RECEIVE = $8805; { 5 - Attempt to receive from the selected transport failed }
 | 
						|
  NWE_NET_UNKNOWN = $8806; { 6 - Network send attempted with an un-specific network error }
 | 
						|
  NWE_SERVER_BAD_SLOT = $8807; { 7 - Server request attempted with invalid server connection slot }
 | 
						|
  NWE_SERVER_NO_SLOTS = $8808; { 8 - Attach attempted to server with no connection slots available }
 | 
						|
  NWE_NET_SEND = $8809; { 9 - Attempt to send on the selected transport failed }
 | 
						|
  NWE_SERVER_NO_ROUTE = $880A; { 10 - Attempted to find route to server where no route exists }
 | 
						|
  NWE_BAD_LOCAL_TARGET = $880B; { 11 - OS/2 only }
 | 
						|
  NWE_REQ_TOO_MANY_REQ_FRAGS = $880C; { 12 - Attempted request with too many request fragments specified }
 | 
						|
  NWE_CONN_LIST_OVERFLOW = $880D;
 | 
						|
  NWE_BUFFER_OVERFLOW = $880E; { 14 - Attempt to receive more data than the reply buffer had room for }
 | 
						|
  NWE_SERVER_NO_CONN = $880F; { 15 - Attempt to get connection for a server not connected }
 | 
						|
  NWE_NO_ROUTER_FOUND = $8810; { 16 - OS/2 only }
 | 
						|
  NWE_FUNCTION_INVALID = $8811; { 17 - Attempted function call to non- existent or illegal function }
 | 
						|
  NWE_SCAN_COMPLETE = $8812;
 | 
						|
  NWE_UNSUPPORTED_NAME_FORMAT_TYP = $8813;
 | 
						|
  NWE_HANDLE_ALREADY_LICENSED = $8814;
 | 
						|
  NWE_HANDLE_ALREADY_UNLICENSED = $8815;
 | 
						|
  NWE_INVALID_NCP_PACKET_LENGTH = $8816;
 | 
						|
  NWE_SETTING_UP_TIMEOUT = $8817;
 | 
						|
  NWE_SETTING_SIGNALS = $8818;
 | 
						|
  NWE_SERVER_CONNECTION_LOST = $8819;
 | 
						|
  NWE_OUT_OF_HEAP_SPACE = $881A;
 | 
						|
  NWE_INVALID_SERVICE_REQUEST = $881B;
 | 
						|
  NWE_INVALID_TASK_NUMBER = $881C;
 | 
						|
  NWE_INVALID_MESSAGE_LENGTH = $881D;
 | 
						|
  NWE_EA_SCAN_DONE = $881E;
 | 
						|
  NWE_BAD_CONNECTION_NUMBER = $881F;
 | 
						|
  NWE_MULT_TREES_NOT_SUPPORTED = $8820; { 32 - Attempt to open a connection to a DS tree other than the default tree }
 | 
						|
  NWE_CONN_NOT_SAME = $8830; { 48 - Internal server request attempted across different server connections }
 | 
						|
  NWE_CONN_PRIMARY_NOT_SET = $8831; { 49 - Attempt to retrieve default connection with no primary connection set }
 | 
						|
  NWE_PRN_CAPTURE_NOT_IN_PROGRESS = $8832; { 50 - Capture information requested on port with no capture in progress }
 | 
						|
  NWE_BUFFER_INVALID_LEN = $8833; { 51 - Used to indicate length which caller requested on a GetDNC or SetDNC was too large }
 | 
						|
  NWE_USER_NO_NAME = $8834; { 52 }
 | 
						|
  NWE_PRN_NO_LOCAL_SPOOLER = $8835; { 53 - Capture requested without having the local print spooler installed }
 | 
						|
  NWE_PARAM_INVALID = $8836; { 54 - Attempted function with an invalid function parameter specified }
 | 
						|
  NWE_CFG_OPEN_FAILED = $8837; { 55 - OS/2 only }
 | 
						|
  NWE_CFG_NO_FILE = $8838; { 56 - OS/2 only }
 | 
						|
  NWE_CFG_READ_FAILED = $8839; { 57 - OS/2 only }
 | 
						|
  NWE_CFG_LINE_TOO_LONG = $883A; { 58 - OS/2 only }
 | 
						|
  NWE_CFG_LINES_IGNORED = $883B; { 59 - OS/2 only }
 | 
						|
  NWE_RESOURCE_NOT_OWNED = $883C; { 60 - Attempted request made with a parameter using foriegn resource }
 | 
						|
  NWE_DAEMON_INSTALLED = $883D; { 61 - OS/2 only }
 | 
						|
  NWE_PRN_SPOOLER_INSTALLED = $883E; { 62 - Attempted load of print spooler with print spooler already installed }
 | 
						|
  NWE_CONN_TABLE_FULL = $883F; { 63 - Attempted to allocate a connection handle with no more local connection table entries }
 | 
						|
  NWE_CFG_SECTION_NOT_FOUND = $8840; { 64 - OS/2 only }
 | 
						|
  NWE_TRAN_INVALID_TYPE = $8841; { 65 - Attempted function on a connection with an invalid transport selected }
 | 
						|
  NWE_TDS_TAG_IN_USE = $8842; { 66 - OS/2 only }
 | 
						|
  NWE_TDS_OUT_OF_MEMORY = $8843; { 67 - OS/2 only }
 | 
						|
  NWE_TDS_INVALID_TAG = $8844; { 68 - Attempted TDS function with invalid tag }
 | 
						|
  NWE_TDS_WRITE_TRUNCATED = $8845; { 69 - Attempted TDS write with buffer that exceeded buffer }
 | 
						|
  NWE_DS_NO_CONN = $8846; { 70 }
 | 
						|
  NWE_SERVICE_BUSY = $8846; { 70 - Attempted request made to partially asynchronous function in busy state }
 | 
						|
  NWE_SERVER_NOT_FOUND = $8847; { 71 - Attempted connect failed to find any servers responding }
 | 
						|
  NWE_VLM_INVALID = $8848; { 72 - Attempted function call to non-existant or not-loaded overlay }
 | 
						|
  NWE_DRIVE_ALREADY_MAPPED = $8849; { 73 - Attempted map to network drive that was already mapped }
 | 
						|
  NWE_DRIVE_LOCAL_IN_USE = $884A; { 74 - Attempted map to local drive that was in use }
 | 
						|
  NWE_DRIVE_NONE_AVAILABLE = $884B; { 75 - Attempted map to next available drive when none were available }
 | 
						|
  NWE_DEVICE_NOT_REDIRECTED = $884C; { 76 - The device is not redirected }
 | 
						|
  NWE_FILE_MAX_REACHED = $884D; { 77 - Maximum number of files was reached }
 | 
						|
  NWE_UNLOAD_FAILED = $884E; { 78 - Attempted unload failed }
 | 
						|
  NWE_CONN_IN_USE = $884F; { 79 - Attempted re-use of already in use connection entry }
 | 
						|
  NWE_REQ_TOO_MANY_REP_FRAGS = $8850; { 80 - Attempted request with too many reply fragments specified }
 | 
						|
  NWE_NAME_TABLE_FULL = $8851; { 81 - Attempted to add a name into the name table after it was full }
 | 
						|
  NWE_SOCKET_NOT_OPEN = $8852; { 82 - Listen was posted on unopened socket }
 | 
						|
  NWE_MEMORY_MGR_ERROR = $8853; { 83 - Attempted enhanced memory operation failed }
 | 
						|
  NWE_SFT3_ERROR = $8854; { 84 - An SFT3 switch occured mid-transfer }
 | 
						|
  NWE_DS_PREFERRED_NOT_FOUND = $8855; { 85 - the preferred directory server was not established but another directory server was returned }
 | 
						|
  NWE_DEVICE_NOT_RECOGNIZED = $8856; { 86 - used to determine if the device is not used by VISE so pass it on to the next redirector, if any. }
 | 
						|
  NWE_NET_INVALID_TYPE = $8857; { 87 - the network type (Bind/NDS) does not match the server version }
 | 
						|
  NWE_FILE_OPEN_FAILED = $8858; { 88 - generic open failure error, invalid path, access denied, etc.. }
 | 
						|
  NWE_DS_PREFERRED_NOT_SPECIFIED = $8859; { 89 - no preferred name specified }
 | 
						|
  NWE_SOCKET_OPEN_FAILED = $885A; { 90 - error opening a socket }
 | 
						|
  NWE_SIGNATURE_LEVEL_CONFLICT = $8861;
 | 
						|
  NWE_NO_LOCK_FOUND = $8862; { OS/2 - process lock on conn handle failed, process ID not recognized }
 | 
						|
  NWE_LOCK_TABLE_FULL = $8863; { OS/2 - process lock on conn handle failed, process lock table full }
 | 
						|
  NWE_INVALID_MATCH_DATA = $8864;
 | 
						|
  NWE_MATCH_FAILED = $8865;
 | 
						|
  NWE_NO_MORE_ENTRIES = $8866;
 | 
						|
  NWE_INSUFFICIENT_RESOURCES = $8867;
 | 
						|
  NWE_STRING_TRANSLATION = $8868;
 | 
						|
  NWE_ACCESS_VIOLATION = $8869;
 | 
						|
  NWE_NOT_AUTHENTICATED = $886A;
 | 
						|
  NWE_INVALID_LEVEL = $886B;
 | 
						|
  NWE_RESOURCE_LOCK = $886C;
 | 
						|
  NWE_INVALID_NAME_FORMAT = $886D;
 | 
						|
  NWE_OBJECT_EXISTS = $886E;
 | 
						|
  NWE_OBJECT_NOT_FOUND = $886F;
 | 
						|
  NWE_UNSUPPORTED_TRAN_TYPE = $8870;
 | 
						|
  NWE_INVALID_STRING_TYPE = $8871;
 | 
						|
  NWE_INVALID_OWNER = $8872;
 | 
						|
  NWE_UNSUPPORTED_AUTHENTICATOR = $8873;
 | 
						|
  NWE_IO_PENDING = $8874;
 | 
						|
  NWE_INVALID_DRIVE_NUMBER = $8875;
 | 
						|
  NWE_REPLY_TRUNCATED = $88E6; { 230 NLM }
 | 
						|
  NWE_REQUESTER_FAILURE = $88FF;
 | 
						|
    { Server Errors }
 | 
						|
  NWE_INSUFFICIENT_SPACE = $8901; { 001 }
 | 
						|
  NWE_INVALID_CONNECTION = $890A; { 010 - nlm invalid connection }
 | 
						|
  NWE_TIMEOUT = $8910; { 016 - nlm connection timeout }
 | 
						|
  NWE_NO_MORE_ENTRY = $8914; { 020 }
 | 
						|
  NWE_BUFFER_TOO_SMALL = $8977; { 119 }
 | 
						|
  NWE_VOL_FLAG_NOT_SET = $8978; { 120 the service requested, not avail. on the selected vol. }
 | 
						|
  NWE_NO_ITEMS_FOUND = $8979; { 121 }
 | 
						|
  NWE_CONN_ALREADY_TEMP = $897A; { 122 }
 | 
						|
  NWE_CONN_ALREADY_LOGGED_IN = $897B; { 123 }
 | 
						|
  NWE_CONN_NOT_AUTHENTICATED = $897C; { 124 }
 | 
						|
  NWE_CONN_NOT_LOGGED_IN = $897D; { 125 }
 | 
						|
  NWE_NCP_BOUNDARY_CHECK_FAILED = $897E; { 126 }
 | 
						|
  NWE_LOCK_WAITING = $897F; { 127 }
 | 
						|
  NWE_LOCK_FAIL = $8980; { 128 }
 | 
						|
  NWE_FILE_IN_USE = $8980; { 128 }
 | 
						|
  NWE_FILE_NO_HANDLES = $8981; { 129 }
 | 
						|
  NWE_FILE_NO_OPEN_PRIV = $8982; { 130 }
 | 
						|
  NWE_DISK_IO_ERROR = $8983; { 131 }
 | 
						|
  NWE_AUDITING_HARD_IO_ERROR = $8983; { 131 }
 | 
						|
  NWE_FILE_NO_CREATE_PRIV = $8984; { 132 }
 | 
						|
  NWE_AUDITING_NOT_SUPV = $8984; { 132 }
 | 
						|
  NWE_FILE_NO_CREATE_DEL_PRIV = $8985; { 133 }
 | 
						|
  NWE_FILE_EXISTS_READ_ONLY = $8986; { 134 }
 | 
						|
  NWE_FILE_WILD_CARDS_IN_NAME = $8987; { 135 }
 | 
						|
  NWE_FILE_INVALID_HANDLE = $8988; { 136 }
 | 
						|
  NWE_FILE_NO_SRCH_PRIV = $8989; { 137 }
 | 
						|
  NWE_FILE_NO_DEL_PRIV = $898A; { 138 }
 | 
						|
  NWE_FILE_NO_RENAME_PRIV = $898B; { 139 }
 | 
						|
  NWE_FILE_NO_MOD_PRIV = $898C; { 140 }
 | 
						|
  NWE_FILE_SOME_IN_USE = $898D; { 141 }
 | 
						|
  NWE_FILE_NONE_IN_USE = $898E; { 142 }
 | 
						|
  NWE_FILE_SOME_READ_ONLY = $898F; { 143 }
 | 
						|
  NWE_FILE_NONE_READ_ONLY = $8990; { 144 }
 | 
						|
  NWE_FILE_SOME_RENAMED_EXIST = $8991; { 145 }
 | 
						|
  NWE_FILE_NONE_RENAMED_EXIST = $8992; { 146 }
 | 
						|
  NWE_FILE_NO_READ_PRIV = $8993; { 147 }
 | 
						|
  NWE_FILE_NO_WRITE_PRIV = $8994; { 148 }
 | 
						|
  NWE_FILE_READ_ONLY = $8994; { 148 }
 | 
						|
  NWE_FILE_DETACHED = $8995; { 149 }
 | 
						|
  NWE_SERVER_OUT_OF_MEMORY = $8996; { 150 }
 | 
						|
  NWE_DIR_TARGET_INVALID = $8996; { 150 }
 | 
						|
  NWE_DISK_NO_SPOOL_SPACE = $8997; { 151 }
 | 
						|
  NWE_AUDITING_NOT_ENABLED = $8997; { 151 }
 | 
						|
  NWE_VOL_INVALID = $8998; { 152 }
 | 
						|
  NWE_DIR_FULL = $8999; { 153 }
 | 
						|
  NWE_VOL_RENAMING_ACROSS = $899A; { 154 }
 | 
						|
  NWE_DIRHANDLE_INVALID = $899B; { 155 }
 | 
						|
  NWE_PATH_INVALID = $899C; { 156 }
 | 
						|
  NWE_TRUSTEES_NO_MORE = $899C; { 156 }
 | 
						|
  NWE_DIRHANDLE_NO_MORE = $899D; { 157 }
 | 
						|
  NWE_FILE_NAME_INVALID = $899E; { 158 }
 | 
						|
  NWE_DIR_ACTIVE = $899F; { 159 }
 | 
						|
  NWE_DIR_NOT_EMPTY = $89A0; { 160 }
 | 
						|
  NWE_DIR_IO_ERROR = $89A1; { 161 }
 | 
						|
  NWE_FILE_IO_LOCKED = $89A2; { 162 }
 | 
						|
  NWE_TTS_RANSACTION_RESTARTED = $89A3; { 163 }
 | 
						|
  NWE_TTS_TRANSACTION_RESTARTED = $89A3; { 163 }
 | 
						|
  NWE_DIR_RENAME_INVALID = $89A4; { 164 }
 | 
						|
  NWE_FILE_OPENCREAT_MODE_INVALID = $89A5; { 165 }
 | 
						|
  NWE_ALREADY_IN_USE = $89A6; { 166 }
 | 
						|
  NWE_AUDITING_ACTIVE = $89A6; { 166 }
 | 
						|
  NWE_RESOURCE_TAG_INVALID = $89A7; { 167 }
 | 
						|
  NWE_ACCESS_DENIED = $89A8; { 168 }
 | 
						|
  NWE_AUDITING_NO_RIGHTS = $89A8; { 168 }
 | 
						|
  NWE_DATA_STREAM_INVALID = $89BE; { 190 }
 | 
						|
  NWE_NAME_SPACE_INVALID = $89BF; { 191 }
 | 
						|
  NWE_ACCTING_NO_PRIV = $89C0; { 192 }
 | 
						|
  NWE_ACCTING_NO_BALANCE = $89C1; { 193 }
 | 
						|
  NWE_ACCTING_NO_CREDIT = $89C2; { 194 }
 | 
						|
  NWE_AUDITING_RECORD_SIZE = $89C2; { 194 }
 | 
						|
  NWE_ACCTING_TOO_MANY_HOLDS = $89C3; { 195 }
 | 
						|
  NWE_ACCTING_DISABLED = $89C4; { 196 }
 | 
						|
  NWE_LOGIN_LOCKOUT = $89C5; { 197 }
 | 
						|
  NWE_CONSOLE_NO_PRIV = $89C6; { 198 }
 | 
						|
  NWE_Q_IO_FAILURE = $89D0; { 208 }
 | 
						|
  NWE_Q_NONE = $89D1; { 209 }
 | 
						|
  NWE_Q_NO_SERVER = $89D2; { 210 }
 | 
						|
  NWE_Q_NO_RIGHTS = $89D3; { 211 }
 | 
						|
  NWE_Q_FULL = $89D4; { 212 }
 | 
						|
  NWE_Q_NO_JOB = $89D5; { 213 }
 | 
						|
  NWE_Q_NO_JOB_RIGHTS = $89D6; { 214 }
 | 
						|
  NWE_PASSWORD_UNENCRYPTED = $89D6; { 214 }
 | 
						|
  NWE_Q_IN_SERVICE = $89D7; { 215 }
 | 
						|
  NWE_PASSWORD_NOT_UNIQUE = $89D7; { 215 }
 | 
						|
  NWE_Q_NOT_ACTIVE = $89D8; { 216 }
 | 
						|
  NWE_PASSWORD_TOO_SHORT = $89D8; { 216 }
 | 
						|
  NWE_Q_STN_NOT_SERVER = $89D9; { 217 }
 | 
						|
  NWE_LOGIN_NO_CONN = $89D9; { 217 }
 | 
						|
  NWE_LOGIN_MAX_EXCEEDED = $89D9; { 217 }
 | 
						|
  NWE_Q_HALTED = $89DA; { 218 }
 | 
						|
  NWE_LOGIN_UNAUTHORIZED_TIME = $89DA; { 218 }
 | 
						|
  NWE_LOGIN_UNAUTHORIZED_STATION = $89DB; { 219 }
 | 
						|
  NWE_Q_MAX_SERVERS = $89DB; { 219 }
 | 
						|
  NWE_ACCT_DISABLED = $89DC; { 220 }
 | 
						|
  NWE_PASSWORD_INVALID = $89DE; { 222 }
 | 
						|
  NWE_PASSWORD_EXPIRED = $89DF; { 223 }
 | 
						|
  NWE_LOGIN_NO_CONN_AVAIL = $89E0; { 224 }
 | 
						|
  NWE_E_NO_MORE_USERS = $89E7; { 231 }
 | 
						|
  NWE_BIND_NOT_ITEM_PROP = $89E8; { 232 }
 | 
						|
  NWE_BIND_WRITE_TO_GROUP_PROP = $89E8; { 232 }
 | 
						|
  NWE_BIND_MEMBER_ALREADY_EXISTS = $89E9; { 233 }
 | 
						|
  NWE_BIND_NO_SUCH_MEMBER = $89EA; { 234 }
 | 
						|
  NWE_BIND_NOT_GROUP_PROP = $89EB; { 235 }
 | 
						|
  NWE_BIND_NO_SUCH_SEGMENT = $89EC; { 236 }
 | 
						|
  NWE_BIND_PROP_ALREADY_EXISTS = $89ED; { 237 }
 | 
						|
  NWE_BIND_OBJ_ALREADY_EXISTS = $89EE; { 238 }
 | 
						|
  NWE_BIND_NAME_INVALID = $89EF; { 239 }
 | 
						|
  NWE_BIND_WILDCARD_INVALID = $89F0; { 240 }
 | 
						|
  NWE_BIND_SECURITY_INVALID = $89F1; { 241 }
 | 
						|
  NWE_BIND_OBJ_NO_READ_PRIV = $89F2; { 242 }
 | 
						|
  NWE_BIND_OBJ_NO_RENAME_PRIV = $89F3; { 243 }
 | 
						|
  NWE_BIND_OBJ_NO_DELETE_PRIV = $89F4; { 244 }
 | 
						|
  NWE_BIND_OBJ_NO_CREATE_PRIV = $89F5; { 245 }
 | 
						|
  NWE_BIND_PROP_NO_DELETE_PRIV = $89F6; { 246 }
 | 
						|
  NWE_BIND_PROP_NO_CREATE_PRIV = $89F7; { 247 }
 | 
						|
  NWE_BIND_PROP_NO_WRITE_PRIV = $89F8; { 248 }
 | 
						|
  NWE_BIND_PROP_NO_READ_PRIV = $89F9; { 249 }
 | 
						|
  NWE_NO_FREE_CONN_SLOTS = $89F9; { 249 }
 | 
						|
  NWE_NO_MORE_SERVER_SLOTS = $89FA; { 250 }
 | 
						|
  NWE_TEMP_REMAP_ERROR = $89FA; { 250 }
 | 
						|
  NWE_PARAMETERS_INVALID = $89FB; { 251 }
 | 
						|
  NWE_BIND_NO_SUCH_PROP = $89FB; { 251 }
 | 
						|
  NWE_NCP_NOT_SUPPORTED = $89FB; { 251 }
 | 
						|
  NWE_INET_PACKET_REQ_CANCELED = $89FC; { 252 }
 | 
						|
  NWE_SERVER_UNKNOWN = $89FC; { 252 }
 | 
						|
  NWE_MSG_Q_FULL = $89FC; { 252 }
 | 
						|
  NWE_BIND_NO_SUCH_OBJ = $89FC; { 252 }
 | 
						|
  NWE_LOCK_COLLISION = $89FD; { 253 }
 | 
						|
  NWE_CONN_NUM_INVALID = $89FD; { 253 }
 | 
						|
  NWE_PACKET_LEN_INVALID = $89FD; { 253 }
 | 
						|
  NWE_UNKNOWN_REQ = $89FD; { 253 }
 | 
						|
  NWE_BIND_LOCKED = $89FE; { 254 }
 | 
						|
  NWE_TRUSTEE_NOT_FOUND = $89FE; { 254 }
 | 
						|
  NWE_DIR_LOCKED = $89FE; { 254 }
 | 
						|
  NWE_SEM_INVALID_NAME_LEN = $89FE; { 254 }
 | 
						|
  NWE_PACKET_NOT_DELIVERABLE = $89FE; { 254 }
 | 
						|
  NWE_SOCKET_TABLE_FULL = $89FE; { 254 }
 | 
						|
  NWE_SPOOL_DIR_ERROR = $89FE; { 254 }
 | 
						|
  NWE_LOGIN_DISABLED_BY_SUPER = $89FE; { 254 }
 | 
						|
  NWE_TIMEOUT_FAILURE = $89FE; { 254 }
 | 
						|
  NWE_FILE_EXT = $89FF; { 255 }
 | 
						|
  NWE_FILE_NAME = $89FF; { 255 }
 | 
						|
  NWE_HARD_FAILURE = $89FF; { 255 }
 | 
						|
  NWE_FCB_CLOSE = $89FF; { 255 }
 | 
						|
  NWE_IO_BOUND = $89FF; { 255 }
 | 
						|
  NWE_BAD_SPOOL_PRINTER = $89FF; { 255 }
 | 
						|
  NWE_BAD_RECORD_OFFSET = $89FF; { 255 }
 | 
						|
  NWE_DRIVE_INVALID_NUM = $89FF; { 255 }
 | 
						|
  NWE_SEM_INVALID_INIT_VAL = $89FF; { 255 }
 | 
						|
  NWE_SEM_INVALID_HANDLE = $89FF; { 255 }
 | 
						|
  NWE_NO_FILES_FOUND_ERROR = $89FF; { 255 }
 | 
						|
  NWE_NO_RESPONSE_FROM_SERVER = $89FF; { 255 }
 | 
						|
  NWE_NO_OBJ_OR_BAD_PASSWORD = $89FF; { 255 }
 | 
						|
  NWE_PATH_NOT_LOCATABLE = $89FF; { 255 }
 | 
						|
  NWE_Q_FULL_ERROR = $89FF; { 255 }
 | 
						|
  NWE_REQ_NOT_OUTSTANDING = $89FF; { 255 }
 | 
						|
  NWE_SOCKET_ALREADY_OPEN = $89FF; { 255 }
 | 
						|
  NWE_LOCK_ERROR = $89FF; { 255 }
 | 
						|
  NWE_FAILURE = $89FF; { 255 Generic Failure }
 | 
						|
 | 
						|
//*****************************************************************************
 | 
						|
//nwfile.h
 | 
						|
//*****************************************************************************
 | 
						|
 | 
						|
type
 | 
						|
 | 
						|
  PNW_FILE_INFO = ^TNW_FILE_INFO;
 | 
						|
  TNW_FILE_INFO = record
 | 
						|
    fileName: array[0..13] of Tnstr8;
 | 
						|
    fileAttributes: Tnuint8;
 | 
						|
    extendedFileAttributes: Tnuint8;
 | 
						|
    fileSize: Tnuint32;
 | 
						|
    creationDate: Tnuint16;
 | 
						|
    lastAccessDate: Tnuint16;
 | 
						|
    lastUpdateDateAndTime: Tnuint32;
 | 
						|
    fileOwnerID: Tnuint32;
 | 
						|
    lastArchiveDateAndTime: Tnuint32;
 | 
						|
  end;
 | 
						|
 | 
						|
  PNW_FILE_INFO2 = ^TNW_FILE_INFO2;
 | 
						|
  TNW_FILE_INFO2 = record
 | 
						|
    fileAttributes: Tnuint8;
 | 
						|
    extendedFileAttributes: Tnuint8;
 | 
						|
    fileSize: Tnuint32;
 | 
						|
    creationDate: Tnuint16;
 | 
						|
    lastAccessDate: Tnuint16;
 | 
						|
    lastUpdateDateAndTime: Tnuint32;
 | 
						|
    fileOwnerID: Tnuint32;
 | 
						|
    lastArchiveDateAndTime: Tnuint32;
 | 
						|
    fileName: array[0..259] of Tnstr8;
 | 
						|
  end;
 | 
						|
    { 255*3 + 1  }
 | 
						|
 | 
						|
  PNW_FILE_INFO2_EXT = ^TNW_FILE_INFO2_EXT;
 | 
						|
  TNW_FILE_INFO2_EXT = record
 | 
						|
    fileAttributes: Tnuint8;
 | 
						|
    extendedFileAttributes: Tnuint8;
 | 
						|
    fileSize: Tnuint32;
 | 
						|
    creationDate: Tnuint16;
 | 
						|
    lastAccessDate: Tnuint16;
 | 
						|
    lastUpdateDateAndTime: Tnuint32;
 | 
						|
    fileOwnerID: Tnuint32;
 | 
						|
    lastArchiveDateAndTime: Tnuint32;
 | 
						|
    fileName: array[0..765] of Tnstr8;
 | 
						|
  end;
 | 
						|
 | 
						|
  PSEARCH_FILE_INFO = ^TSEARCH_FILE_INFO;
 | 
						|
  TSEARCH_FILE_INFO = record
 | 
						|
    sequenceNumber: Tnuint16;
 | 
						|
    reserved: Tnuint16;
 | 
						|
    fileName: array[0..14] of Tnstr8;
 | 
						|
    fileAttributes: Tnuint8;
 | 
						|
    fileMode: Tnuint8;
 | 
						|
    fileLength: Tnuint32;
 | 
						|
    createDate: Tnuint16;
 | 
						|
    accessDate: Tnuint16;
 | 
						|
    updateDate: Tnuint16;
 | 
						|
    updateTime: Tnuint16;
 | 
						|
  end;
 | 
						|
 | 
						|
  PSEARCH_DIR_INFO = ^TSEARCH_DIR_INFO;
 | 
						|
  TSEARCH_DIR_INFO = record
 | 
						|
    sequenceNumber: Tnuint16;
 | 
						|
    reserved1: Tnuint16;
 | 
						|
    directoryName: array[0..14] of Tnstr8;
 | 
						|
    directoryAttributes: Tnuint8;
 | 
						|
    directoryAccessRights: Tnuint8;
 | 
						|
    createDate: Tnuint16;
 | 
						|
    createTime: Tnuint16;
 | 
						|
    owningObjectID: Tnuint32;
 | 
						|
    reserved2: Tnuint16;
 | 
						|
    directoryStamp: Tnuint16;
 | 
						|
  end;
 | 
						|
 | 
						|
  PCONN_OPEN_FILE = ^TCONN_OPEN_FILE;
 | 
						|
  TCONN_OPEN_FILE = record
 | 
						|
    taskNumber: Tnuint8;
 | 
						|
    lockType: Tnuint8;
 | 
						|
    accessControl: Tnuint8;
 | 
						|
    lockFlag: Tnuint8;
 | 
						|
    volNumber: Tnuint8;
 | 
						|
    dirEntry: Tnuint16;
 | 
						|
    fileName: array[0..13] of Tnstr8;
 | 
						|
  end;
 | 
						|
 | 
						|
  PCONN_OPEN_FILES = ^TCONN_OPEN_FILES;
 | 
						|
  TCONN_OPEN_FILES = record
 | 
						|
    nextRequest: Tnuint16;
 | 
						|
    connCount: Tnuint8;
 | 
						|
    connInfo: array[0..21] of TCONN_OPEN_FILE;
 | 
						|
  end;
 | 
						|
 | 
						|
  POPEN_FILE_CONN = ^TOPEN_FILE_CONN;
 | 
						|
  TOPEN_FILE_CONN = record
 | 
						|
    taskNumber: Tnuint16;
 | 
						|
    lockType: Tnuint8;
 | 
						|
    accessControl: Tnuint8;
 | 
						|
    lockFlag: Tnuint8;
 | 
						|
    volNumber: Tnuint8;
 | 
						|
    parent: Tnuint32;
 | 
						|
    dirEntry: Tnuint32;
 | 
						|
    forkCount: Tnuint8;
 | 
						|
    nameSpace: Tnuint8;
 | 
						|
    nameLen: Tnuint8;
 | 
						|
    fileName: array[0..254] of Tnstr8;
 | 
						|
  end;
 | 
						|
 | 
						|
  POPEN_FILE_CONN_CTRL = ^TOPEN_FILE_CONN_CTRL;
 | 
						|
  TOPEN_FILE_CONN_CTRL = record
 | 
						|
    nextRequest: Tnuint16;
 | 
						|
    openCount: Tnuint16;
 | 
						|
    buffer: array[0..511] of Tnuint8;
 | 
						|
    curRecord: Tnuint16;
 | 
						|
  end;
 | 
						|
 | 
						|
  PCONN_USING_FILE = ^TCONN_USING_FILE;
 | 
						|
  TCONN_USING_FILE = record
 | 
						|
    connNumber: Tnuint16;
 | 
						|
    taskNumber: Tnuint16;
 | 
						|
    lockType: Tnuint8;
 | 
						|
    accessControl: Tnuint8;
 | 
						|
    lockFlag: Tnuint8;
 | 
						|
  end;
 | 
						|
 | 
						|
  PCONNS_USING_FILE = ^TCONNS_USING_FILE;
 | 
						|
  TCONNS_USING_FILE = record
 | 
						|
    nextRequest: Tnuint16;
 | 
						|
    useCount: Tnuint16;
 | 
						|
    openCount: Tnuint16;
 | 
						|
    openForReadCount: Tnuint16;
 | 
						|
    openForWriteCount: Tnuint16;
 | 
						|
    denyReadCount: Tnuint16;
 | 
						|
    denyWriteCount: Tnuint16;
 | 
						|
    locked: Tnuint8;
 | 
						|
    forkCount: Tnuint8;
 | 
						|
    connCount: Tnuint16;
 | 
						|
    connInfo: array[0..69] of TCONN_USING_FILE;
 | 
						|
  end;
 | 
						|
 | 
						|
const
 | 
						|
  SEEK_FROM_BEGINNING = 1;
 | 
						|
  SEEK_FROM_CURRENT_OFFSET = 2;
 | 
						|
  SEEK_FROM_END = 3;
 | 
						|
    { The following flags are to be used in the createFlag parameter of
 | 
						|
       the NWCreateFile call.  }
 | 
						|
  NWCREATE_NEW_FILE = 1;
 | 
						|
  NWOVERWRITE_FILE = 2;
 | 
						|
 | 
						|
function NWSetCompressedFileSize(conn: TNWCONN_HANDLE; fileHandle: TNWFILE_HANDLE; reqFileSize: Tnuint32; resFileSize: pnuint32): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWFileServerFileCopy(srcFileHandle: TNWFILE_HANDLE; dstFileHandle: TNWFILE_HANDLE; srcOffset: Tnuint32; dstOffset: Tnuint32; bytesToCopy: Tnuint32;
 | 
						|
  bytesCopied: pnuint32): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWGetFileConnectionID(fileHandle: TNWFILE_HANDLE; conn: PNWCONN_HANDLE): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWGetFileConnRef(fileHandle: TNWFILE_HANDLE; connRef: pnuint32): TNWCCODE; NWLIB_UNKNOWN;
 | 
						|
 | 
						|
function NWFileSearchInitialize(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; path: Pnstr8; volNum: pnuint8; dirID: pnuint16;
 | 
						|
  iterhandle: pnuint16; accessRights: pnuint8): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
    { was #define dname(params) para_def_expr }
 | 
						|
    //function NWIntFileSearchInitialize(a,b,c,d,e,f,g,h : longint) : longint;
 | 
						|
 | 
						|
 | 
						|
function NWIntFileSearchContinue(conn: TNWCONN_HANDLE; volNum: Tnuint8; dirID: Tnuint16; searchContext: Tnuint16; searchAttr: Tnuint8;
 | 
						|
  searchPath: Pnstr8; retBuf: pnuint8; augmentFlag: Tnuint16): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
    { was #define dname(params) para_def_expr }
 | 
						|
    // function NWScanFileInformation(a,b,c,d,e,f : longint) : longint;
 | 
						|
 | 
						|
 | 
						|
function NWIntScanFileInformation(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; filePattern: Pnstr8; searchAttr: Tnuint8; iterhandle: pnint16;
 | 
						|
  info: PNW_FILE_INFO; augmentFlag: Tnuint16): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
 | 
						|
function NWSetFileInformation(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; fileName: Pnstr8; searchAttrs: Tnuint8; info: PNW_FILE_INFO): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWSetFileInformation2(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; fileName: Pnstr8; searchAttrs: Tnuint8; info: PNW_FILE_INFO2): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
 | 
						|
function NWIntScanFileInformation2(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; filePattern: Pnstr8; searchAttrs: Tnuint8; iterHandle: pnuint8;
 | 
						|
  info: PNW_FILE_INFO2; augmentFlag: Tnuint16): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
 | 
						|
function NWIntScanFileInformation2Ext(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; filePattern: Pnstr8; searchAttrs: Tnuint8; iterHandle: pnuint8;
 | 
						|
  info: PNW_FILE_INFO2_EXT; augmentFlag: Tnuint16): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
 | 
						|
function NWSetFileAttributes(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; fileName: Pnstr8; searchAttrs: Tnuint8; newAttrs: Tnuint8): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWGetExtendedFileAttributes2(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; path: Pnstr8; extAttrs: pnuint8): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWScanConnectionsUsingFile(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; filePath: Pnstr8; iterhandle: pnint16; fileUse: PCONN_USING_FILE;
 | 
						|
  fileUsed: PCONNS_USING_FILE): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWScanOpenFilesByConn2(conn: TNWCONN_HANDLE; connNum: Tnuint16; iterHandle: pnint16; openCtrl: POPEN_FILE_CONN_CTRL; openFile: POPEN_FILE_CONN): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWScanOpenFilesByConn(conn: TNWCONN_HANDLE; connNum: Tnuint16; iterHandle: pnint16; openFile: PCONN_OPEN_FILE; openFiles: PCONN_OPEN_FILES): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWSetExtendedFileAttributes2(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; path: Pnstr8; extAttrs: Tnuint8): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWRenameFile(conn: TNWCONN_HANDLE; oldDirHandle: TNWDIR_HANDLE; oldFileName: Pnstr8; searchAttrs: Tnuint8; newDirHandle: TNWDIR_HANDLE;
 | 
						|
  newFileName: Pnstr8): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
 | 
						|
function NWIntEraseFiles(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; path: Pnstr8; searchAttrs: Tnuint8; augmentFlag: Tnuint16): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWGetSparseFileBitMap(conn: TNWCONN_HANDLE; fileHandle: Tnuint32; flag: Tnint16; offset: Tnuint32; blockSize: pnuint32;
 | 
						|
  bitMap: pnuint8): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
 | 
						|
function NWLogPhysicalRecord(fileHandle: TNWFILE_HANDLE; recStartOffset: Tnuint32; recLength: Tnuint32; lockFlags: Tnuint8; timeOut: Tnuint16): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWLockPhysicalRecordSet(lockFlags: Tnuint8; timeOut: Tnuint16): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWReleasePhysicalRecordSet: TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWClearPhysicalRecordSet: TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWReleasePhysicalRecord(fileHandle: TNWFILE_HANDLE; recStartOffset: Tnuint32; recSize: Tnuint32): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWClearPhysicalRecord(fileHandle: TNWFILE_HANDLE; recStartOffset: Tnuint32; recSize: Tnuint32): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWLockFileLockSet(timeOut: Tnuint16): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWReleaseFileLockSet: TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWClearFileLockSet: TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWClearFileLock2(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; path: Pnstr8): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWReleaseFileLock2(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; path: Pnstr8): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWLogFileLock2(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; path: Pnstr8; lockFlags: Tnuint8; timeOut: Tnuint16): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWLogLogicalRecord(conn: TNWCONN_HANDLE; logRecName: Pnstr8; lockFlags: Tnuint8; timeOut: Tnuint16): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWLockLogicalRecordSet(lockFlags: Tnuint8; timeOut: Tnuint16): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWReleaseLogicalRecordSet: TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWClearLogicalRecordSet: TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWReleaseLogicalRecord(conn: TNWCONN_HANDLE; logRecName: Pnstr8): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWClearLogicalRecord(conn: TNWCONN_HANDLE; logRecName: Pnstr8): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWCloseFile(fileHandle: TNWFILE_HANDLE): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWCreateFile(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; fileName: Pnstr8; fileAttrs: Tnuint8; fileHandle: PNWFILE_HANDLE;
 | 
						|
  createFlag: Tnflag32): TNWCCODE; NWLIB_UNKNOWN;
 | 
						|
function NWOpenFile(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; fileName: Pnstr8; searchAttr: Tnuint16; accessRights: Tnuint8;
 | 
						|
  fileHandle: PNWFILE_HANDLE): TNWCCODE; NWLIB_UNKNOWN;
 | 
						|
function NWReadFile(fileHandle: TNWFILE_HANDLE; bytesToRead: Tnuint32; bytesActuallyRead: pnuint32; data: pnuint8): TNWCCODE; NWLIB_UNKNOWN;
 | 
						|
function NWWriteFile(fileHandle: TNWFILE_HANDLE; bytesToWrite: Tnuint32; data: pnuint8): TNWCCODE; NWLIB_UNKNOWN;
 | 
						|
function NWCommitFile(fileHandle: TNWFILE_HANDLE): TNWCCODE; NWLIB_UNKNOWN;
 | 
						|
function NWGetEOF(fileHandle: TNWFILE_HANDLE; getEOF: pnuint32): TNWCCODE; NWLIB_UNKNOWN;
 | 
						|
function NWSetEOF(fileHandle: TNWFILE_HANDLE; setEOF: Tnuint32): TNWCCODE; NWLIB_UNKNOWN;
 | 
						|
function NWGetFilePos(fileHandle: TNWFILE_HANDLE; filePos: pnuint32): TNWCCODE; NWLIB_UNKNOWN;
 | 
						|
function NWSetFilePos(fileHandle: TNWFILE_HANDLE; mode: Tnuint; filePos: Tnuint32): TNWCCODE; NWLIB_UNKNOWN;
 | 
						|
function NWGetFileDirEntryNumber(fileHandle: TNWFILE_HANDLE; volumeNum: pnuint32; directoryEntry: pnuint32; DOSDirectoryEntry: pnuint32; nameSpace: pnuint32;
 | 
						|
  dataStream: pnuint32; parentDirEntry: pnuint32; parentDOSDirEntry: pnuint32): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWGetDirectoryEntryNumber(conn: TNWCONN_HANDLE; dirHandle: Tnuint8; volumeNum: pnuint32; directoryEntry: pnuint32; DOSDirectoryEntry: pnuint32;
 | 
						|
  nameSpace: pnuint32; parentDirEntry: pnuint32; parentDOSDirEntry: pnuint32): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWGetNSFileDirEntryNumber(fileHandle: TNWFILE_HANDLE; nameSpace: Tnuint8; volumeNum: pnuint32; directoryEntry: pnuint32; dataStream: pnuint32): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
 | 
						|
 | 
						|
//*****************************************************************************
 | 
						|
//nwmisc.h
 | 
						|
//*****************************************************************************
 | 
						|
 | 
						|
const
 | 
						|
  NW_SHORT_NAME_SERVER = 0;
 | 
						|
  NW_LONG_NAME_SERVER = 1;
 | 
						|
  NW_ENCP_SERVER = 1;
 | 
						|
  NW_EXTENDED_NCP_SERVER = 1;
 | 
						|
  _NETX_COM = $0001;
 | 
						|
  _NETX_VLM = $0002;
 | 
						|
  _REDIR_LOADED = $4000;
 | 
						|
  _VLM_LOADED = $8000;
 | 
						|
 | 
						|
type
 | 
						|
  PNW_DATE = ^TNW_DATE;
 | 
						|
  TNW_DATE = record
 | 
						|
    day: Tnuint8;
 | 
						|
    month: Tnuint8;
 | 
						|
    year: Tnuint16;
 | 
						|
  end;
 | 
						|
    { hours is a word  so that this structure will be the same length as a dword  }
 | 
						|
 | 
						|
  PNW_TIME = ^TNW_TIME;
 | 
						|
  TNW_TIME = record
 | 
						|
    seconds: Tnuint8;
 | 
						|
    minutes: Tnuint8;
 | 
						|
    hours: Tnuint16;
 | 
						|
  end;
 | 
						|
 | 
						|
  PNW_REQUESTER_TYPE = ^TNW_REQUESTER_TYPE;
 | 
						|
  TNW_REQUESTER_TYPE = Longint;
 | 
						|
const
 | 
						|
  NW_LONG_NAME_REQUESTER = 0;
 | 
						|
  NW_SHORT_NAME_REQUESTER = 1;
 | 
						|
  NW_ERROR_ON_REQUESTER_TYPE = 2;
 | 
						|
type
 | 
						|
 | 
						|
  PNW_FRAGMENT = ^TNW_FRAGMENT;
 | 
						|
  TNW_FRAGMENT = record
 | 
						|
    fragAddress: Tnptr;
 | 
						|
    fragSize: Tnuint32;
 | 
						|
    fragSize16: Tnuint16;
 | 
						|
  end;
 | 
						|
 | 
						|
  PCONN_TASK = ^TCONN_TASK;
 | 
						|
  TCONN_TASK = record
 | 
						|
    taskNumber: Tnuint16;
 | 
						|
    taskState: Tnuint8;
 | 
						|
  end;
 | 
						|
    { use NW_ constants from nwserver.h  }
 | 
						|
    { this field is only valid in 3.11  }
 | 
						|
    { this field is only valid in 3.11  }
 | 
						|
    { this field is only valid in 2.x   }
 | 
						|
 | 
						|
  PCONN_TASK_INFO = ^TCONN_TASK_INFO;
 | 
						|
  TCONN_TASK_INFO = record
 | 
						|
    serverVersion: Tnuint16;
 | 
						|
    lockState: Tnuint8;
 | 
						|
    waitingTaskNumber: Tnuint16;
 | 
						|
    recordStart: Tnuint32;
 | 
						|
    recordEnd: Tnuint32;
 | 
						|
    volNumber: Tnuint8;
 | 
						|
    dirEntry: Tnuint32;
 | 
						|
    nameSpace: Tnuint8;
 | 
						|
    dirID: Tnuint16;
 | 
						|
    lockedName: array[0..255] of Tnstr8;
 | 
						|
    taskCount: Tnuint8;
 | 
						|
    tasks: array[0..255] of TCONN_TASK;
 | 
						|
  end;
 | 
						|
 | 
						|
  PDIR_ENTRY = ^TDIR_ENTRY;
 | 
						|
  TDIR_ENTRY = record
 | 
						|
    volNumber: Tnuint8;
 | 
						|
    dirEntry: Tnuint32;
 | 
						|
  end;
 | 
						|
 | 
						|
procedure NWUnpackDateTime(dateTime: Tnuint32; sDate: PNW_DATE; sTime: PNW_TIME); NWLIB_CALNLM32;
 | 
						|
procedure NWUnpackDate(date: Tnuint16; sDate: PNW_DATE); NWLIB_CALNLM32;
 | 
						|
procedure NWUnpackTime(time: Tnuint16; sTime: PNW_TIME); NWLIB_CALNLM32;
 | 
						|
function NWPackDateTime(sDate: PNW_DATE; sTime: PNW_TIME): Tnuint32; NWLIB_CALNLM32;
 | 
						|
function NWPackDate(sDate: PNW_DATE): Tnuint16; NWLIB_CALNLM32;
 | 
						|
function NWPackTime(sTime: PNW_TIME): Tnuint16; NWLIB_CALNLM32;
 | 
						|
    { Avoid using the following three NWConvertDate/Time functions,
 | 
						|
       they just call the NWUnpackDate/Time functions. They are here for
 | 
						|
       compatibility reasons only.  }
 | 
						|
procedure NWConvertDateTime(dateTime: Tnuint32; sDate: PNW_DATE; sTime: PNW_TIME); NWLIB_CALNLM32;
 | 
						|
procedure NWConvertDate(date: Tnuint16; sDate: PNW_DATE); NWLIB_CALNLM32;
 | 
						|
procedure NWConvertTime(time: Tnuint16; sTime: PNW_TIME); NWLIB_CALNLM32;
 | 
						|
function NWRequest(conn: TNWCONN_HANDLE; _function: Tnuint16; numReqFrags: Tnuint16; reqFrags: PNW_FRAGMENT; numReplyFrags: Tnuint16;
 | 
						|
  replyFrags: PNW_FRAGMENT): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function _NWGetRequesterType(_type: PNW_REQUESTER_TYPE): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWWordSwap(swapWord: Tnuint16): Tnuint16; NWLIB_CALNLM32;
 | 
						|
function NWLongSwap(swapLong: Tnuint32): Tnuint32; NWLIB_CALNLM32;
 | 
						|
function NWInitDBCS: Tnint16; NWLIB_UNKNOWN;
 | 
						|
function NWConvertPathToDirEntry(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; path: Pnstr8; dirEntry: PDIR_ENTRY): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWGetTaskInformationByConn(conn: TNWCONN_HANDLE; connNum: Tnuint16; taskInfo: PCONN_TASK_INFO): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWGetRequesterVersion(majorVer: pnuint8; minorVer: pnuint8; revision: pnuint8): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWIsLNSSupportedOnVolume(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; path: Pnstr8): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWConvertFileHandle(fileHandle: TNWFILE_HANDLE; handleType: Tnuint16; NWHandle: pnuint8; conn: PNWCONN_HANDLE): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWConvertFileHandleConnRef(fileHandle: TNWFILE_HANDLE; handleType: Tnuint16; NWHandle: pnuint8; connRef: pnuint32): TNWCCODE; NWLIB_UNKNOWN;
 | 
						|
procedure _NWConvert4ByteTo6ByteHandle(NW4ByteHandle: pnuint8; NW6ByteHandle: pnuint8); NWLIB_CALNLM32;
 | 
						|
function NWEndOfJob: TNWCCODE; NWLIB_UNKNOWN;
 | 
						|
function NWCallsInit(reserved1: Tnptr; reserved2: Tnptr): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWCallsTerm(reserved: Tnptr): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWGetClientType: Tnuint16; NWLIB_CALNLM32;
 | 
						|
function __NWGetNWCallsState: Tnuint16; NWLIB_UNKNOWN;
 | 
						|
function NWSetNetWareErrorMode(errorMode: Tnuint8; prevMode: pnuint8): TNWCCODE; NWLIB_UNKNOWN;
 | 
						|
function NWSetEndOfJobStatus(endOfJobStatus: Tnuint8; prevStatus: pnuint8): TNWCCODE; NWLIB_UNKNOWN;
 | 
						|
procedure NWGetNWCallsVersion(majorVer: pnuint8; minorVer: pnuint8; revLevel: pnuint8; betaLevel: pnuint8); NWLIB_CALNLM32;
 | 
						|
function NWConvertHandle(conn: TNWCONN_HANDLE; accessMode: Tnuint8; NWHandle: pointer; handleSize: Tnuint16; fileSize: Tnuint32;
 | 
						|
  fileHandle: PNWFILE_HANDLE): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
 | 
						|
 | 
						|
//*****************************************************************************
 | 
						|
//nwmsg.h
 | 
						|
//*****************************************************************************
 | 
						|
 | 
						|
function NWDisableBroadcasts(conn: TNWCONN_HANDLE): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWEnableBroadcasts(conn: TNWCONN_HANDLE): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWSendBroadcastMessage(conn: TNWCONN_HANDLE; message: Pnstr8; connCount: Tnuint16; connList: Pnuint16; resultList: pnuint8): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWGetBroadcastMessage(conn: TNWCONN_HANDLE; message: Pnstr8): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWSetBroadcastMode(conn: TNWCONN_HANDLE; mode: Tnuint16): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWBroadcastToConsole(conn: TNWCONN_HANDLE; message: Pnstr8): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWSendConsoleBroadcast(conn: TNWCONN_HANDLE; message: Pnstr8; connCount: Tnuint16; connList: pnuint16): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
 | 
						|
 | 
						|
 | 
						|
//*****************************************************************************
 | 
						|
//nwnamspc.h
 | 
						|
//*****************************************************************************
 | 
						|
 | 
						|
const
 | 
						|
  SUCCESSFUL = 0;
 | 
						|
  MORE_NS_TO_READ = 0;
 | 
						|
  NO_EXTENDED_NS_INFO = 9;
 | 
						|
  NS_EOF = $8910;
 | 
						|
  NW_NS_DOS = 0;
 | 
						|
  NW_NS_MAC = 1;
 | 
						|
  NW_NS_NFS = 2;
 | 
						|
  NW_NS_FTAM = 3;
 | 
						|
  NW_NS_OS2 = 4;
 | 
						|
  NW_NS_LONG = 4;
 | 
						|
  NW_DS_DOS = 0;
 | 
						|
  NW_DS_MAC = 1;
 | 
						|
  NW_DS_FTAM = 2;
 | 
						|
 | 
						|
type
 | 
						|
  PNWNSINFO = ^TNWNSINFO;
 | 
						|
  TNWNSINFO = record
 | 
						|
    NSInfoBitMask: Tnuint32;
 | 
						|
    fixedBitMask: Tnuint32;
 | 
						|
    reservedBitMask: Tnuint32;
 | 
						|
    extendedBitMask: Tnuint32;
 | 
						|
    fixedBitsDefined: Tnuint16;
 | 
						|
    reservedBitsDefined: Tnuint16;
 | 
						|
    extendedBitsDefined: Tnuint16;
 | 
						|
    fieldsLenTable: array[0..31] of Tnuint32;
 | 
						|
    hugeStateInfo: array[0..15] of Tnuint8;
 | 
						|
    hugeDataLength: Tnuint32;
 | 
						|
  end;
 | 
						|
  TNW_NS_INFO = TNWNSINFO;
 | 
						|
  PNW_NS_INFO = ^TNW_NS_INFO;
 | 
						|
 | 
						|
  PNW_ENTRY_INFO = ^TNW_ENTRY_INFO;
 | 
						|
  TNW_ENTRY_INFO = record
 | 
						|
    spaceAlloc: Tnuint32;
 | 
						|
    attributes: Tnuint32;
 | 
						|
    flags: Tnuint16;
 | 
						|
    dataStreamSize: Tnuint32;
 | 
						|
    totalStreamSize: Tnuint32;
 | 
						|
    numberOfStreams: Tnuint16;
 | 
						|
    creationTime: Tnuint16;
 | 
						|
    creationDate: Tnuint16;
 | 
						|
    creatorID: Tnuint32;
 | 
						|
    modifyTime: Tnuint16;
 | 
						|
    modifyDate: Tnuint16;
 | 
						|
    modifierID: Tnuint32;
 | 
						|
    lastAccessDate: Tnuint16;
 | 
						|
    archiveTime: Tnuint16;
 | 
						|
    archiveDate: Tnuint16;
 | 
						|
    archiverID: Tnuint32;
 | 
						|
    inheritedRightsMask: Tnuint16;
 | 
						|
    dirEntNum: Tnuint32;
 | 
						|
    DosDirNum: Tnuint32;
 | 
						|
    volNumber: Tnuint32;
 | 
						|
    EADataSize: Tnuint32;
 | 
						|
    EAKeyCount: Tnuint32;
 | 
						|
    EAKeySize: Tnuint32;
 | 
						|
    NSCreator: Tnuint32;
 | 
						|
    nameLength: Tnuint8;
 | 
						|
    entryName: array[0..255] of Tnstr8;
 | 
						|
  end;
 | 
						|
    { 255*3 + 1  }
 | 
						|
 | 
						|
  PNW_ENTRY_INFO_EXT = ^TNW_ENTRY_INFO_EXT;
 | 
						|
  TNW_ENTRY_INFO_EXT = record
 | 
						|
    spaceAlloc: Tnuint32;
 | 
						|
    attributes: Tnuint32;
 | 
						|
    flags: Tnuint16;
 | 
						|
    dataStreamSize: Tnuint32;
 | 
						|
    totalStreamSize: Tnuint32;
 | 
						|
    numberOfStreams: Tnuint16;
 | 
						|
    creationTime: Tnuint16;
 | 
						|
    creationDate: Tnuint16;
 | 
						|
    creatorID: Tnuint32;
 | 
						|
    modifyTime: Tnuint16;
 | 
						|
    modifyDate: Tnuint16;
 | 
						|
    modifierID: Tnuint32;
 | 
						|
    lastAccessDate: Tnuint16;
 | 
						|
    archiveTime: Tnuint16;
 | 
						|
    archiveDate: Tnuint16;
 | 
						|
    archiverID: Tnuint32;
 | 
						|
    inheritedRightsMask: Tnuint16;
 | 
						|
    dirEntNum: Tnuint32;
 | 
						|
    DosDirNum: Tnuint32;
 | 
						|
    volNumber: Tnuint32;
 | 
						|
    EADataSize: Tnuint32;
 | 
						|
    EAKeyCount: Tnuint32;
 | 
						|
    EAKeySize: Tnuint32;
 | 
						|
    NSCreator: Tnuint32;
 | 
						|
    nameLength: Tnuint16;
 | 
						|
    entryName: array[0..765] of Tnstr8;
 | 
						|
  end;
 | 
						|
 | 
						|
  PNW_DATA_STREAM_FAT_INFO = ^TNW_DATA_STREAM_FAT_INFO;
 | 
						|
  TNW_DATA_STREAM_FAT_INFO = record
 | 
						|
    dataStreamNumber: Tnuint32;
 | 
						|
    dataStreamFATBlocksSize: Tnuint32;
 | 
						|
  end;
 | 
						|
 | 
						|
  PNW_DATA_STREAM_SIZE_INFO = ^TNW_DATA_STREAM_SIZE_INFO;
 | 
						|
  TNW_DATA_STREAM_SIZE_INFO = record
 | 
						|
    dataStreamNumber: Tnuint32;
 | 
						|
    dataStreamSize: Tnuint32;
 | 
						|
  end;
 | 
						|
 | 
						|
  PNW_MAC_TIME = ^TNW_MAC_TIME;
 | 
						|
  TNW_MAC_TIME = record
 | 
						|
    MACCreateTime: Tnuint32;
 | 
						|
    MACBackupTime: Tnuint32;
 | 
						|
  end;
 | 
						|
 | 
						|
  PNW_ENTRY_INFO2 = ^TNW_ENTRY_INFO2;
 | 
						|
  TNW_ENTRY_INFO2 = record
 | 
						|
    spaceAlloc: Tnuint32;
 | 
						|
    attributes: Tnuint32;
 | 
						|
    flags: Tnuint16;
 | 
						|
    dataStreamSize: Tnuint32;
 | 
						|
    totalStreamSize: Tnuint32;
 | 
						|
    numberOfStreams: Tnuint16;
 | 
						|
    EADataSize: Tnuint32;
 | 
						|
    EAKeyCount: Tnuint32;
 | 
						|
    EAKeySize: Tnuint32;
 | 
						|
    archiveTime: Tnuint16;
 | 
						|
    archiveDate: Tnuint16;
 | 
						|
    archiverID: Tnuint32;
 | 
						|
    modifyTime: Tnuint16;
 | 
						|
    modifyDate: Tnuint16;
 | 
						|
    modifierID: Tnuint32;
 | 
						|
    lastAccessDate: Tnuint16;
 | 
						|
    creationTime: Tnuint16;
 | 
						|
    creationDate: Tnuint16;
 | 
						|
    creatorID: Tnuint32;
 | 
						|
    NSCreator: Tnuint32;
 | 
						|
    dirEntNum: Tnuint32;
 | 
						|
    DosDirNum: Tnuint32;
 | 
						|
    volNumber: Tnuint32;
 | 
						|
    inheritedRightsMask: Tnuint16;
 | 
						|
    currentReferenceID: Tnuint16;
 | 
						|
    NSFileAttributes: Tnuint32;
 | 
						|
    numberOfDataStreamFATInfo: Tnuint32;
 | 
						|
    dataStreamFATInfo: array[0..2] of TNW_DATA_STREAM_FAT_INFO;
 | 
						|
    numberOfDataStreamSizeInfo: Tnuint32;
 | 
						|
    dataStreamSizeInfo: array[0..2] of TNW_DATA_STREAM_SIZE_INFO;
 | 
						|
    secondsRelativeToTheYear2000: Tnint32;
 | 
						|
    DOSNameLen: Tnuint8;
 | 
						|
    DOSName: array[0..12] of Tnstr8;
 | 
						|
    flushTime: Tnuint32;
 | 
						|
    parentBaseID: Tnuint32;
 | 
						|
    MacFinderInfo: array[0..31] of Tnuint8;
 | 
						|
    siblingCount: Tnuint32;
 | 
						|
    effectiveRights: Tnuint32;
 | 
						|
    MacTime: TNW_MAC_TIME;
 | 
						|
    lastAccessedTime: Tnuint16;
 | 
						|
    nameLength: Tnuint8;
 | 
						|
    entryName: array[0..255] of Tnstr8;
 | 
						|
  end;
 | 
						|
 | 
						|
  PMODIFY_DOS_INFO = ^TMODIFY_DOS_INFO;
 | 
						|
  TMODIFY_DOS_INFO = record
 | 
						|
    attributes: Tnuint32;
 | 
						|
    createDate: Tnuint16;
 | 
						|
    createTime: Tnuint16;
 | 
						|
    creatorID: Tnuint32;
 | 
						|
    modifyDate: Tnuint16;
 | 
						|
    modifyTime: Tnuint16;
 | 
						|
    modifierID: Tnuint32;
 | 
						|
    archiveDate: Tnuint16;
 | 
						|
    archiveTime: Tnuint16;
 | 
						|
    archiverID: Tnuint32;
 | 
						|
    lastAccessDate: Tnuint16;
 | 
						|
    inheritanceGrantMask: Tnuint16;
 | 
						|
    inheritanceRevokeMask: Tnuint16;
 | 
						|
    maximumSpace: Tnuint32;
 | 
						|
  end;
 | 
						|
 | 
						|
  PSEARCH_SEQUENCE = ^TSEARCH_SEQUENCE;
 | 
						|
  TSEARCH_SEQUENCE = record
 | 
						|
    volNumber: Tnuint8;
 | 
						|
    dirNumber: Tnuint32;
 | 
						|
    searchDirNumber: Tnuint32;
 | 
						|
  end;
 | 
						|
 | 
						|
  PNW_NS_PATH = ^TNW_NS_PATH;
 | 
						|
  TNW_NS_PATH = record
 | 
						|
    srcPath,
 | 
						|
      dstPath: Pnstr8;
 | 
						|
    dstPathSize: Tnuint16;
 | 
						|
  end;
 | 
						|
 | 
						|
  PNW_NS_OPENCREATE = ^TNW_NS_OPENCREATE;
 | 
						|
  TNW_NS_OPENCREATE = record
 | 
						|
    openCreateMode: Tnuint8;
 | 
						|
    searchAttributes: Tnuint16;
 | 
						|
    reserved: Tnuint32;
 | 
						|
    createAttributes: Tnuint32;
 | 
						|
    accessRights: Tnuint16;
 | 
						|
    NetWareHandle: Tnuint32;
 | 
						|
    openCreateAction: Tnuint8;
 | 
						|
  end;
 | 
						|
  TNW_NS_OPEN = TNW_NS_OPENCREATE;
 | 
						|
  PNW_NS_OPEN = ^TNW_NS_OPEN;
 | 
						|
    { open/create modes  }
 | 
						|
 | 
						|
const
 | 
						|
  OC_MODE_OPEN = $01;
 | 
						|
  OC_MODE_TRUNCATE = $02;
 | 
						|
  OC_MODE_REPLACE = $02;
 | 
						|
  OC_MODE_CREATE = $08;
 | 
						|
    { open/create results  }
 | 
						|
  OC_ACTION_NONE = $00;
 | 
						|
  OC_ACTION_OPEN = $01;
 | 
						|
  OC_ACTION_CREATE = $02;
 | 
						|
  OC_ACTION_TRUNCATE = $04;
 | 
						|
  OC_ACTION_REPLACE = $04;
 | 
						|
    { return info mask  }
 | 
						|
  IM_NAME = $0001;
 | 
						|
  IM_ENTRY_NAME = $0001;
 | 
						|
  IM_SPACE_ALLOCATED = $0002;
 | 
						|
  IM_ATTRIBUTES = $0004;
 | 
						|
  IM_SIZE = $0008;
 | 
						|
  IM_TOTAL_SIZE = $0010;
 | 
						|
  IM_EA = $0020;
 | 
						|
  IM_ARCHIVE = $0040;
 | 
						|
  IM_MODIFY = $0080;
 | 
						|
  IM_CREATION = $0100;
 | 
						|
  IM_OWNING_NAMESPACE = $0200;
 | 
						|
  IM_DIRECTORY = $0400;
 | 
						|
  IM_RIGHTS = $0800;
 | 
						|
  IM_ALMOST_ALL = $0FED;
 | 
						|
  IM_ALL = $0FFF;
 | 
						|
  IM_REFERENCE_ID = $1000;
 | 
						|
  IM_NS_ATTRIBUTES = $2000;
 | 
						|
  IM_DATASTREAM_SIZES = $4000;
 | 
						|
  IM_DATASTREAM_ACTUAL = $4000;
 | 
						|
  IM_DATASTREAM_LOGICAL = $8000;
 | 
						|
  IM_LASTUPDATEDINSECONDS = $00010000;
 | 
						|
  IM_DOSNAME = $00020000;
 | 
						|
  IM_FLUSHTIME = $00040000;
 | 
						|
  IM_PARENTBASEID = $00080000;
 | 
						|
  IM_MACFINDER = $00100000;
 | 
						|
  IM_SIBLINGCOUNT = $00200000;
 | 
						|
  IM_EFECTIVERIGHTS = $00400000;
 | 
						|
  IM_MACTIME = $00800000;
 | 
						|
  IM_LASTACCESSEDTIME = $01000000;
 | 
						|
  IM_EXTENDED_ALL = $01FFF000;
 | 
						|
  IM_NSS_LARGE_SIZES = $40000000;
 | 
						|
  IM_COMPRESSED_INFO = $80000000;
 | 
						|
  IM_NS_SPECIFIC_INFO = $80000000;
 | 
						|
    { access rights attributes  }
 | 
						|
 | 
						|
const
 | 
						|
  NW_TYPE_FILE = $8000;
 | 
						|
  NW_TYPE_SUBDIR = $0010;
 | 
						|
  NW_NAME_CONVERT = $03;
 | 
						|
  NW_NO_NAME_CONVERT = $04;
 | 
						|
    { modify mask - use with MODIFY_DOS_INFO structure  }
 | 
						|
  DM_FILENAME = $0001;
 | 
						|
  DM_ATTRIBUTES = $0002;
 | 
						|
  DM_CREATE_DATE = $0004;
 | 
						|
  DM_CREATE_TIME = $0008;
 | 
						|
  DM_CREATOR_ID = $0010;
 | 
						|
  DM_ARCHIVE_DATE = $0020;
 | 
						|
  DM_ARCHIVE_TIME = $0040;
 | 
						|
  DM_ARCHIVER_ID = $0080;
 | 
						|
  DM_MODIFY_DATE = $0100;
 | 
						|
  DM_MODIFY_TIME = $0200;
 | 
						|
  DM_MODIFIER_ID = $0400;
 | 
						|
  DM_LAST_ACCESS_DATE = $0800;
 | 
						|
  DM_INHERITED_RIGHTS_MASK = $1000;
 | 
						|
  DM_MAXIMUM_SPACE = $2000;
 | 
						|
 | 
						|
{$IF defined( N_PLAT_NLM )}
 | 
						|
    {const
 | 
						|
       NWGetNSLoadedList = NWGetNSLoadedList2;
 | 
						|
       NWGetNSInfo = NWGetNSInfo2;}
 | 
						|
{$ENDIF}
 | 
						|
 | 
						|
 | 
						|
function NWGetDirectoryBase(conn: TNWCONN_HANDLE; dirHandle: Tnuint8; path: Pnstr8; dstNamSpc: Tnuint8; idxStruct: PNW_IDX): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWGetDirectoryBaseExt(conn: TNWCONN_HANDLE; dirHandle: Tnuint8; path: Pnstr8; dstNamSpc: Tnuint8; idxStruct: PNW_IDX): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWScanNSEntryInfo(conn: TNWCONN_HANDLE; dirHandle: Tnuint8; namSpc: Tnuint8; attrs: Tnuint16; sequence: PSEARCH_SEQUENCE;
 | 
						|
  searchPattern: Pnstr8; retInfoMask: Tnuint32; entryInfo: PNW_ENTRY_INFO): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWScanNSEntryInfoExt(conn: TNWCONN_HANDLE; dirHandle: Tnuint8; namSpc: Tnuint8; attrs: Tnuint16; sequence: PSEARCH_SEQUENCE;
 | 
						|
  searchPattern: Pnstr8; retInfoMask: Tnuint32; entryInfo: PNW_ENTRY_INFO_EXT): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWScanNSEntryInfo2(conn: TNWCONN_HANDLE; dirHandle: Tnuint8; namSpc: Tnuint8; attrs: Tnuint16; sequence: PSEARCH_SEQUENCE;
 | 
						|
  searchPattern: Pnstr8; retInfoMask: Tnuint32; entryInfo2: PNW_ENTRY_INFO2): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWGetNSLoadedList(conn: TNWCONN_HANDLE; volNum: Tnuint8; maxListLen: Tnuint8; NSLoadedList: pnuint8; actualListLen: pnuint8): TNWCCODE; NWLIB_CLIB;
 | 
						|
function NWGetOwningNameSpace(conn: TNWCONN_HANDLE; dirHandle: Tnuint8; path: Pnstr8; namSpc: pnuint8): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWOpenCreateNSEntry(conn: TNWCONN_HANDLE; dirHandle: Tnuint8; namSpc: Tnuint8; path: Pnstr8; NSOpenCreate: PNW_NS_OPENCREATE;
 | 
						|
  fileHandle: PNWFILE_HANDLE): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWOpenCreateNSEntryExt(conn: TNWCONN_HANDLE; dirHandle: Tnuint8; namSpc: Tnuint8; path: Pnstr8; NSOpenCreate: PNW_NS_OPENCREATE;
 | 
						|
  fileHandle: PNWFILE_HANDLE): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWOpenNSEntry(conn: TNWCONN_HANDLE; dirHandle: Tnuint8; namSpc: Tnuint8; dataStream: Tnuint8; path: Pnstr8;
 | 
						|
  NSOpen: PNW_NS_OPEN; fileHandle: PNWFILE_HANDLE): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWOpenNSEntryExt(conn: TNWCONN_HANDLE; dirHandle: Tnuint8; namSpc: Tnuint8; dataStream: Tnuint8; path: Pnstr8;
 | 
						|
  NSOpen: PNW_NS_OPEN; fileHandle: PNWFILE_HANDLE): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWSetLongName(conn: TNWCONN_HANDLE; dirHandle: Tnuint8; namSpc: Tnuint8; dstPath: Pnstr8; dstType: Tnuint16;
 | 
						|
  longName: Pnstr8): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWGetLongName(conn: TNWCONN_HANDLE; dirHandle: Tnuint8; path: Pnstr8; srcNamSpc: Tnuint8; dstNamSpc: Tnuint8;
 | 
						|
  longName: Pnstr8): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWGetLongNameExt(conn: TNWCONN_HANDLE; dirHandle: Tnuint8; path: Pnstr8; srcNamSpc: Tnuint8; dstNamSpc: Tnuint8;
 | 
						|
  longName: Pnstr8): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWGetNSInfo(conn: TNWCONN_HANDLE; idxStruct: PNW_IDX; NSInfo: PNW_NS_INFO): TNWCCODE; NWLIB_CLIB;
 | 
						|
function NWWriteNSInfo(conn: TNWCONN_HANDLE; idxStruct: PNW_IDX; NSInfo: PNW_NS_INFO; data: Pnuint8): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWWriteNSInfoExt(conn: TNWCONN_HANDLE; idxStruct: PNW_IDX; NSInfo: PNW_NS_INFO; data: Pnuint8): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWWriteExtendedNSInfo(conn: TNWCONN_HANDLE; idxStruct: PNW_IDX; NSInfo: PNW_NS_INFO; data: Pnuint8): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWReadNSInfo(conn: TNWCONN_HANDLE; idxStruct: PNW_IDX; NSInfo: PNW_NS_INFO; data: pnuint8): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWReadNSInfoExt(conn: TNWCONN_HANDLE; idxStruct: PNW_IDX; NSInfo: PNW_NS_INFO; data: pnuint8): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWReadExtendedNSInfo(conn: TNWCONN_HANDLE; idxStruct: PNW_IDX; NSInfo: PNW_NS_INFO; data: pnuint8): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWGetNSPath(conn: TNWCONN_HANDLE; dirHandle: Tnuint8; fileFlag: Tnuint16; srcNamSpc: Tnuint8; dstNamSpc: Tnuint8;
 | 
						|
  NSPath: PNW_NS_PATH): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWGetNSPathExt(conn: TNWCONN_HANDLE; dirHandle: Tnuint8; fileFlag: Tnuint16; srcNamSpc: Tnuint8; dstNamSpc: Tnuint8;
 | 
						|
  NSPath: PNW_NS_PATH): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWAllocTempNSDirHandle2(conn: TNWCONN_HANDLE; dirHandle: Tnuint8; path: Pnstr8; namSpc: Tnuint8; newDirHandle: pnuint8;
 | 
						|
  newNamSpc: Tnuint8): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWAllocTempNSDirHandle2Ext(conn: TNWCONN_HANDLE; dirHandle: Tnuint8; path: Pnstr8; namSpc: Tnuint8; newDirHandle: pnuint8;
 | 
						|
  newNamSpc: Tnuint8): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWGetNSEntryInfo(conn: TNWCONN_HANDLE; dirHandle: Tnuint8; path: Pnstr8; srcNamSpc: Tnuint8; dstNamSpc: Tnuint8;
 | 
						|
  searchAttrs: Tnuint16; retInfoMask: Tnuint32; entryInfo: PNW_ENTRY_INFO): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWGetNSEntryInfoExt(conn: TNWCONN_HANDLE; dirHandle: Tnuint8; path: Pnstr8; srcNamSpc: Tnuint8; dstNamSpc: Tnuint8;
 | 
						|
  searchAttrs: Tnuint16; retInfoMask: Tnuint32; entryInfo: PNW_ENTRY_INFO_EXT): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWNSGetMiscInfo(conn: TNWCONN_HANDLE; dirHandle: Tnuint8; path: Pnstr8; dstNameSpace: Tnuint8; idxStruct: PNW_IDX): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWOpenDataStream(conn: TNWCONN_HANDLE; dirHandle: Tnuint8; fileName: Pnstr8; dataStream: Tnuint16; attrs: Tnuint16;
 | 
						|
  accessMode: Tnuint16; NWHandle: pnuint32; fileHandle: PNWFILE_HANDLE): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWNSRename(conn: TNWCONN_HANDLE; dirHandle: Tnuint8; namSpc: Tnuint8; oldName: Pnstr8; oldType: Tnuint16;
 | 
						|
  newName: Pnstr8; renameFlag: Tnuint8): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWNSRenameExt(conn: TNWCONN_HANDLE; dirHandle: Tnuint8; namSpc: Tnuint8; oldName: Pnstr8; oldType: Tnuint16;
 | 
						|
  newName: Pnstr8; renameFlag: Tnuint8): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWSetNSEntryDOSInfo(conn: TNWCONN_HANDLE; dirHandle: Tnuint8; path: Pnstr8; namSpc: Tnuint8; searchAttrs: Tnuint16;
 | 
						|
  modifyDOSMask: Tnuint32; dosInfo: PMODIFY_DOS_INFO): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWSetNSEntryDOSInfoExt(conn: TNWCONN_HANDLE; dirHandle: Tnuint8; path: Pnstr8; namSpc: Tnuint8; searchAttrs: Tnuint16;
 | 
						|
  modifyDOSMask: Tnuint32; dosInfo: PMODIFY_DOS_INFO): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWGetFullPath(conn: TNWCONN_HANDLE; volNum: Tnuint8; dirBase: Tnuint32; handleFlag: Tnuint16; srcNamSpc: Tnint;
 | 
						|
  dstNamSpc: Tnint; maxPathLen: Tnuint16; path: Pnstr8; pathType: pnuint16): TNWCCODE; NWLIB_UNKNOWN;
 | 
						|
function NWDeleteNSEntry(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; fileName: Pnstr8; nameSpace: Tnuint8; searchAttr: Tnuint16): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWDeleteNSEntryExt(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; fileName: Pnstr8; nameSpace: Tnuint8; searchAttr: Tnuint16): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWNSGetDefaultNS(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; path: Pnstr8; pbuDefaultNameSpace: pnuint8): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWScanNSEntryInfoSet(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; buNameSpace: Tnuint8; suAttr: Tnuint16; pIterHnd: PSEARCH_SEQUENCE;
 | 
						|
  pbstrSrchPattern: Pnstr8; luRetMask: Tnuint32; pbuMoreEntriesFlag: pnuint8; psuNumReturned: pnuint16; suNumItems: Tnuint16;
 | 
						|
  pEntryInfo: PNW_ENTRY_INFO): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWAddTrusteeToNSDirectory(conn: TNWCONN_HANDLE; namSpc: Tnuint8; dirHandle: TNWDIR_HANDLE; path: Pnstr8; trusteeID: Tnuint32;
 | 
						|
  rightsMask: Tnuint8): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWDeleteTrusteeFromNSDirectory(conn: TNWCONN_HANDLE; namSpc: Tnuint8; dirHandle: TNWDIR_HANDLE; dirPath: Pnstr8; objID: Tnuint32): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWScanNSDirectoryForTrustees(conn: TNWCONN_HANDLE; namSpc: Tnuint8; dirHandle: TNWDIR_HANDLE; pbstrSrchPath: Pnstr8; pluIterHnd: pnuint32;
 | 
						|
  pbstrDirName: Pnstr8; pluDirDateTime: pnuint32; pluOwnerID: pnuint32; trusteeList: PTRUSTEE_INFO): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
 | 
						|
function SetCurrentNameSpace(newNameSpace: Tnuint8): Tnuint8; NWLIB_CLIB;
 | 
						|
function SetTargetNameSpace(newNameSpace: Tnuint8): Tnuint8; NWLIB_CLIB;
 | 
						|
 | 
						|
//*****************************************************************************
 | 
						|
//nwprint.h
 | 
						|
//*****************************************************************************
 | 
						|
 | 
						|
const
 | 
						|
  LPT1 = 1;
 | 
						|
  LPT2 = 2;
 | 
						|
  LPT3 = 3;
 | 
						|
  LPT4 = 4;
 | 
						|
  LPT5 = 5;
 | 
						|
  LPT6 = 6;
 | 
						|
  LPT7 = 7;
 | 
						|
  LPT8 = 8;
 | 
						|
  LPT9 = 9;
 | 
						|
  START_CAPTURE = 1;
 | 
						|
  END_CAPTURE = 2;
 | 
						|
  CANCEL_CAPTURE = 3;
 | 
						|
  GET_PRINT_JOB_FLAGS = 4;
 | 
						|
  SET_PRINT_JOB_FLAGS = 5;
 | 
						|
  GET_BANNER_USER_NAME = 6;
 | 
						|
  SET_BANNER_USER_NAME = 7;
 | 
						|
  GET_PRINTER_SETUP_STRING = 8;
 | 
						|
  SET_PRINTER_SETUP_STRING = 9;
 | 
						|
  GET_PRINTER_RESET_STRING = 10;
 | 
						|
  SET_PRINTER_RESET_STRING = 11;
 | 
						|
    { must be set to zeros  }
 | 
						|
type
 | 
						|
 | 
						|
  PPrintJobStruct = ^TPrintJobStruct;
 | 
						|
  TPrintJobStruct = record
 | 
						|
    clientStation: Tnuint8;
 | 
						|
    clientTask: Tnuint8;
 | 
						|
    clientID: Tnuint32;
 | 
						|
    targetServerID: Tnuint32;
 | 
						|
    targetExecutionTime: array[0..5] of Tnuint8;
 | 
						|
    jobEntryTime: array[0..5] of Tnuint8;
 | 
						|
    jobNumber: Tnuint16;
 | 
						|
    formType: Tnuint16;
 | 
						|
    jobPosition: Tnuint8;
 | 
						|
    jobControlFlags: Tnuint8;
 | 
						|
    jobFileName: array[0..13] of Tnuint8;
 | 
						|
    jobFileHandle: array[0..5] of Tnuint8;
 | 
						|
    servicingServerStation: Tnuint8;
 | 
						|
    servicingServerTask: Tnuint8;
 | 
						|
    servicingServerID: Tnuint32;
 | 
						|
    jobDescription: array[0..49] of Tnuint8;
 | 
						|
    clientJobInfoVer: Tnuint8;
 | 
						|
    tabSize: Tnuint8;
 | 
						|
    numberCopies: Tnuint16;
 | 
						|
    printFlags: Tnuint16;
 | 
						|
    maxLines: Tnuint16;
 | 
						|
    maxChars: Tnuint16;
 | 
						|
    formName: array[0..15] of Tnuint8;
 | 
						|
    reserved: array[0..5] of Tnuint8;
 | 
						|
    bannerUserName: array[0..12] of Tnuint8;
 | 
						|
    bannerFileName: array[0..12] of Tnuint8;
 | 
						|
    bannerHeaderFileName: array[0..13] of Tnuint8;
 | 
						|
    filePathName: array[0..79] of Tnuint8;
 | 
						|
  end;
 | 
						|
    { must be set to zeros  }
 | 
						|
 | 
						|
  PNWPrintJobStruct = ^TNWPrintJobStruct;
 | 
						|
  TNWPrintJobStruct = record
 | 
						|
    clientStation: Tnuint32;
 | 
						|
    clientTask: Tnuint32;
 | 
						|
    clientID: Tnuint32;
 | 
						|
    targetServerID: Tnuint32;
 | 
						|
    targetExecutionTime: array[0..5] of Tnuint8;
 | 
						|
    jobEntryTime: array[0..5] of Tnuint8;
 | 
						|
    jobNumber: Tnuint32;
 | 
						|
    formType: Tnuint16;
 | 
						|
    jobPosition: Tnuint16;
 | 
						|
    jobControlFlags: Tnuint16;
 | 
						|
    jobFileName: array[0..13] of Tnuint8;
 | 
						|
    jobFileHandle: Tnuint32;
 | 
						|
    servicingServerStation: Tnuint32;
 | 
						|
    servicingServerTask: Tnuint32;
 | 
						|
    servicingServerID: Tnuint32;
 | 
						|
    jobDescription: array[0..49] of Tnuint8;
 | 
						|
    clientJobInfoVer: Tnuint8;
 | 
						|
    tabSize: Tnuint8;
 | 
						|
    numberCopies: Tnuint16;
 | 
						|
    printFlags: Tnuint16;
 | 
						|
    maxLines: Tnuint16;
 | 
						|
    maxChars: Tnuint16;
 | 
						|
    formName: array[0..15] of Tnuint8;
 | 
						|
    reserved: array[0..5] of Tnuint8;
 | 
						|
    bannerUserName: array[0..12] of Tnuint8;
 | 
						|
    bannerFileName: array[0..12] of Tnuint8;
 | 
						|
    bannerHeaderFileName: array[0..13] of Tnuint8;
 | 
						|
    filePathName: array[0..79] of Tnuint8;
 | 
						|
  end;
 | 
						|
 | 
						|
  PPRINTER_STATUS = ^TPRINTER_STATUS;
 | 
						|
  TPRINTER_STATUS = record
 | 
						|
    printerHalted: Tnuint8;
 | 
						|
    printerOffline: Tnuint8;
 | 
						|
    currentFormType: Tnuint8;
 | 
						|
    redirectedPrinter: Tnuint8;
 | 
						|
  end;
 | 
						|
    { OS/2, VLM only                          }
 | 
						|
    { VLM returns or sets only 12 characters  }
 | 
						|
    { plus the NULL -- a total of 13 byte's    }
 | 
						|
    { OS/2, VLM only  }
 | 
						|
    { DOS/WIN only  }
 | 
						|
    { DOS/WIN only  }
 | 
						|
 | 
						|
  PNWCAPTURE_FLAGSRW = ^TNWCAPTURE_FLAGSRW;
 | 
						|
  TNWCAPTURE_FLAGSRW = record
 | 
						|
    jobDescription: array[0..49] of Tnuint8;
 | 
						|
    jobControlFlags: Tnuint8;
 | 
						|
    tabSize: Tnuint8;
 | 
						|
    numCopies: Tnuint16;
 | 
						|
    printFlags: Tnuint16;
 | 
						|
    maxLines: Tnuint16;
 | 
						|
    maxChars: Tnuint16;
 | 
						|
    formName: array[0..12] of Tnuint8;
 | 
						|
    reserved: array[0..8] of Tnuint8;
 | 
						|
    formType: Tnuint16;
 | 
						|
    bannerText: array[0..12] of Tnuint8;
 | 
						|
    reserved2: Tnuint8;
 | 
						|
    flushCaptureTimeout: Tnuint16;
 | 
						|
    flushCaptureOnClose: Tnuint8;
 | 
						|
  end;
 | 
						|
 | 
						|
 | 
						|
  TNWCAPTURE_FLAGS1 = TNWCAPTURE_FLAGSRW;
 | 
						|
  PNWCAPTURE_FLAGS1 = ^TNWCAPTURE_FLAGS1;
 | 
						|
 | 
						|
    { DOS/WIN only  }
 | 
						|
    { DOS/WIN only  }
 | 
						|
    { DOS/WIN only  }
 | 
						|
    { DOS/WIN only  }
 | 
						|
    { DOS/WIN only  }
 | 
						|
    { DOS/WIN only  }
 | 
						|
    { VLM only      }
 | 
						|
 | 
						|
 | 
						|
  PNWCAPTURE_FLAGSRO = ^TNWCAPTURE_FLAGSRO;
 | 
						|
  TNWCAPTURE_FLAGSRO = record
 | 
						|
    connID: TNWCONN_HANDLE;
 | 
						|
    queueID: Tnuint32;
 | 
						|
    setupStringMaxLen: Tnuint16;
 | 
						|
    resetStringMaxLen: Tnuint16;
 | 
						|
    LPTCaptureFlag: Tnuint8;
 | 
						|
    fileCaptureFlag: Tnuint8;
 | 
						|
    timingOutFlag: Tnuint8;
 | 
						|
    inProgress: Tnuint8;
 | 
						|
    printQueueFlag: Tnuint8;
 | 
						|
    printJobValid: Tnuint8;
 | 
						|
    queueName: array[0..64] of Tnstr8;
 | 
						|
  end;
 | 
						|
 | 
						|
 | 
						|
  TNWCAPTURE_FLAGS2 = TNWCAPTURE_FLAGSRO;
 | 
						|
  PNWCAPTURE_FLAGS2 = ^TNWCAPTURE_FLAGS2;
 | 
						|
    { DOS/WIN only  }
 | 
						|
    { DOS/WIN only  }
 | 
						|
    { DOS/WIN only  }
 | 
						|
    { DOS/WIN only  }
 | 
						|
    { DOS/WIN only  }
 | 
						|
    { DOS/WIN only  }
 | 
						|
    { VLM only      }
 | 
						|
type
 | 
						|
 | 
						|
  PNWCAPTURE_FLAGSRO3 = ^TNWCAPTURE_FLAGSRO3;
 | 
						|
  TNWCAPTURE_FLAGSRO3 = record
 | 
						|
    connRef: Tnuint32;
 | 
						|
    queueID: Tnuint32;
 | 
						|
    setupStringMaxLen: Tnuint16;
 | 
						|
    resetStringMaxLen: Tnuint16;
 | 
						|
    LPTCaptureFlag: Tnuint8;
 | 
						|
    fileCaptureFlag: Tnuint8;
 | 
						|
    timingOutFlag: Tnuint8;
 | 
						|
    inProgress: Tnuint8;
 | 
						|
    printQueueFlag: Tnuint8;
 | 
						|
    printJobValid: Tnuint8;
 | 
						|
    queueName: array[0..64] of Tnstr8;
 | 
						|
  end;
 | 
						|
 | 
						|
 | 
						|
  TNWCAPTURE_FLAGS3 = TNWCAPTURE_FLAGSRO3;
 | 
						|
  PNWCAPTURE_FLAGS3 = ^TNWCAPTURE_FLAGS3;
 | 
						|
 | 
						|
 | 
						|
  PCaptureFlagsStruct = ^TCaptureFlagsStruct;
 | 
						|
  TCaptureFlagsStruct = record
 | 
						|
    status: Tnuint8;
 | 
						|
    flags: Tnuint8;
 | 
						|
    tabSize: Tnuint8;
 | 
						|
    serverPrinter: Tnuint8;
 | 
						|
    numberCopies: Tnuint8;
 | 
						|
    formType: Tnuint8;
 | 
						|
    reserved: Tnuint8;
 | 
						|
    bannerText: array[0..12] of Tnuint8;
 | 
						|
    reserved2: Tnuint8;
 | 
						|
    localLPTDevice: Tnuint8;
 | 
						|
    captureTimeOutCount: Tnuint16;
 | 
						|
    captureOnDeviceClose: Tnuint8;
 | 
						|
  end;
 | 
						|
 | 
						|
function NWGetPrinterDefaults(status: pnuint8; flags: pnuint8; tabSize: pnuint8; serverPrinter: pnuint8; numberCopies: pnuint8;
 | 
						|
  formType: pnuint8; bannerText: Pnstr8; localLPTDevice: pnuint8; captureTimeOutCount: pnuint16; captureOnDeviceClose: pnuint8): TNWCCODE; NWLIB_UNKNOWN;
 | 
						|
function NWSetPrinterDefaults(flags: Tnuint8; tabSize: Tnuint8; serverPrinter: Tnuint8; numberCopies: Tnuint8; formType: Tnuint8;
 | 
						|
  bannerText: Pnstr8; localLPTDevice: Tnuint8; captureTimeOutCount: Tnuint16; captureOnDeviceClose: Tnuint8): TNWCCODE; NWLIB_UNKNOWN;
 | 
						|
function NWStartLPTCapture(deviceID: Tnuint16): TNWCCODE; NWLIB_UNKNOWN;
 | 
						|
function NWGetLPTCaptureStatus(conn: PNWCONN_HANDLE): TNWCCODE; NWLIB_UNKNOWN;
 | 
						|
 | 
						|
function NWSpoolStartCapture(deviceID: Tnuint16; queueID: Tnuint32; conn: TNWCONN_HANDLE; scope: Tnuint16): TNWCCODE; NWLIB_UNKNOWN;
 | 
						|
function NWSpoolEndCapture(deviceID: Tnuint16; scope: Tnuint16): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWSpoolCancelCapture(deviceID: Tnuint16; scope: Tnuint16): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWSpoolGetBannerUserName(username: Pnstr8; mode: Tnuint16; scope: pnuint16): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWSpoolSetBannerUserName(username: Pnstr8; scope: Tnuint16): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWGetPrinterStatus(conn: TNWCONN_HANDLE; printerNumber: Tnuint16; status: PPRINTER_STATUS): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWStartQueueCapture(conn: TNWCONN_HANDLE; LPTDevice: Tnuint8; queueID: Tnuint32; queueName: Pnstr8): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWGetCaptureStatus(LPTDevice: Tnuint8): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWFlushCapture(LPTDevice: Tnuint8): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWEndCapture(LPTDevice: Tnuint8): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWCancelCapture(LPTDevice: Tnuint8): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWGetBannerUserName(userName: Pnstr8): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWSetBannerUserName(userName: Pnstr8): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWGetCaptureFlags(LPTDevice: Tnuint8; captureFlags1: PNWCAPTURE_FLAGS1; captureFlags2: PNWCAPTURE_FLAGS2): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWGetCaptureFlagsConnRef(LPTDevice: Tnuint8; captureFlags1: PNWCAPTURE_FLAGS1; captureFlags3: PNWCAPTURE_FLAGS3): TNWCCODE; NWLIB_UNKNOWN;
 | 
						|
function NWSetCaptureFlags(conn: TNWCONN_HANDLE; LPTDevice: Tnuint8; captureFlags1: PNWCAPTURE_FLAGS1): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWGetPrinterStrings(LPTDevice: Tnuint8; setupStringLen: pnuint16; setupString: Pnstr8; resetStringLen: pnuint16; resetString: Pnstr8): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWSetPrinterStrings(LPTDevice: Tnuint8; setupStringLen: Tnuint16; setupString: Pnstr8; resetStringLen: Tnuint16; resetString: Pnstr8): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWGetMaxPrinters(numPrinters: pnuint16): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
 | 
						|
 | 
						|
//*****************************************************************************
 | 
						|
//nwqms.h
 | 
						|
//*****************************************************************************
 | 
						|
 | 
						|
const
 | 
						|
  QF_AUTO_START = $08;
 | 
						|
  QF_ENTRY_RESTART = $10;
 | 
						|
  QF_ENTRY_OPEN = $20;
 | 
						|
  QF_USER_HOLD = $40;
 | 
						|
  QF_OPERATOR_HOLD = $80;
 | 
						|
  QS_CANT_ADD_JOBS = $01;
 | 
						|
  QS_SERVERS_CANT_ATTACH = $02;
 | 
						|
  QS_CANT_SERVICE_JOBS = $04;
 | 
						|
    {
 | 
						|
    This struct is taken from NLM platform in the nwqueue.h file.  This
 | 
						|
    structure is the format for a print queue only.  Other queue types
 | 
						|
    might have different structures.  Used with the clientRecordArea field
 | 
						|
    in some of the structures listed below.
 | 
						|
     }
 | 
						|
type
 | 
						|
 | 
						|
  PQueuePrintJobStruct = ^TQueuePrintJobStruct;
 | 
						|
  TQueuePrintJobStruct = record
 | 
						|
    versionNumber: Tnuint8;
 | 
						|
    tabSize: Tnuint8;
 | 
						|
    numberOfCopies: Tnuint16;
 | 
						|
    printControlFlags: Tnuint16;
 | 
						|
    maxLinesPerPage: Tnuint16;
 | 
						|
    maxCharsPerLine: Tnuint16;
 | 
						|
    formName: array[0..12] of Tnuint8;
 | 
						|
    reserve: array[0..8] of Tnuint8;
 | 
						|
    bannerNameField: array[0..12] of Tnuint8;
 | 
						|
    bannerFileField: array[0..12] of Tnuint8;
 | 
						|
    bannerFileName: array[0..13] of Tnuint8;
 | 
						|
    directoryPath: array[0..79] of Tnuint8;
 | 
						|
  end;
 | 
						|
 | 
						|
  PQueueJobStruct = ^TQueueJobStruct;
 | 
						|
  TQueueJobStruct = record
 | 
						|
    clientStation: Tnuint8;
 | 
						|
    clientTask: Tnuint8;
 | 
						|
    clientID: Tnuint32;
 | 
						|
    targetServerID: Tnuint32;
 | 
						|
    targetExecutionTime: array[0..5] of Tnuint8;
 | 
						|
    jobEntryTime: array[0..5] of Tnuint8;
 | 
						|
    jobNumber: Tnuint16;
 | 
						|
    jobType: Tnuint16;
 | 
						|
    jobPosition: Tnuint8;
 | 
						|
    jobControlFlags: Tnuint8;
 | 
						|
    jobFileName: array[0..13] of Tnuint8;
 | 
						|
    jobFileHandle: array[0..5] of Tnuint8;
 | 
						|
    servicingServerStation: Tnuint8;
 | 
						|
    servicingServerTask: Tnuint8;
 | 
						|
    servicingServerID: Tnuint32;
 | 
						|
    jobDescription: array[0..49] of Tnuint8;
 | 
						|
    clientRecordArea: array[0..151] of Tnuint8;
 | 
						|
  end;
 | 
						|
 | 
						|
  PReplyJobStruct = ^TReplyJobStruct;
 | 
						|
  TReplyJobStruct = record
 | 
						|
    clientStation: Tnuint8;
 | 
						|
    clientTask: Tnuint8;
 | 
						|
    clientID: Tnuint32;
 | 
						|
    targetServerID: Tnuint32;
 | 
						|
    targetExecutionTime: array[0..5] of Tnuint8;
 | 
						|
    jobEntryTime: array[0..5] of Tnuint8;
 | 
						|
    jobNumber: Tnuint16;
 | 
						|
    jobType: Tnuint16;
 | 
						|
    jobPosition: Tnuint8;
 | 
						|
    jobControlFlags: Tnuint8;
 | 
						|
    jobFileName: array[0..13] of Tnuint8;
 | 
						|
    jobFileHandle: array[0..5] of Tnuint8;
 | 
						|
    servicingServerStation: Tnuint8;
 | 
						|
    servicingServerTask: Tnuint8;
 | 
						|
    servicingServerID: Tnuint32;
 | 
						|
  end;
 | 
						|
 | 
						|
  PNWQueueJobStruct = ^TNWQueueJobStruct;
 | 
						|
  TNWQueueJobStruct = record
 | 
						|
    clientStation: Tnuint32;
 | 
						|
    clientTask: Tnuint32;
 | 
						|
    clientID: Tnuint32;
 | 
						|
    targetServerID: Tnuint32;
 | 
						|
    targetExecutionTime: array[0..5] of Tnuint8;
 | 
						|
    jobEntryTime: array[0..5] of Tnuint8;
 | 
						|
    jobNumber: Tnuint32;
 | 
						|
    jobType: Tnuint16;
 | 
						|
    jobPosition: Tnuint16;
 | 
						|
    jobControlFlags: Tnuint16;
 | 
						|
    jobFileName: array[0..13] of Tnuint8;
 | 
						|
    jobFileHandle: Tnuint32;
 | 
						|
    servicingServerStation: Tnuint32;
 | 
						|
    servicingServerTask: Tnuint32;
 | 
						|
    servicingServerID: Tnuint32;
 | 
						|
    jobDescription: array[0..49] of Tnuint8;
 | 
						|
    clientRecordArea: array[0..151] of Tnuint8;
 | 
						|
  end;
 | 
						|
 | 
						|
  PNWReplyJobStruct = ^TNWReplyJobStruct;
 | 
						|
  TNWReplyJobStruct = record
 | 
						|
    clientStation: Tnuint32;
 | 
						|
    clientTask: Tnuint32;
 | 
						|
    clientID: Tnuint32;
 | 
						|
    targetServerID: Tnuint32;
 | 
						|
    targetExecutionTime: array[0..5] of Tnuint8;
 | 
						|
    jobEntryTime: array[0..5] of Tnuint8;
 | 
						|
    jobNumber: Tnuint32;
 | 
						|
    jobType: Tnuint16;
 | 
						|
    jobPosition: Tnuint16;
 | 
						|
    jobControlFlags: Tnuint16;
 | 
						|
    jobFileName: array[0..13] of Tnuint8;
 | 
						|
    jobFileHandle: Tnuint32;
 | 
						|
    servicingServerStation: Tnuint32;
 | 
						|
    servicingServerTask: Tnuint32;
 | 
						|
    servicingServerID: Tnuint32;
 | 
						|
  end;
 | 
						|
    { 250 to hold job #'s for old NCP }
 | 
						|
 | 
						|
  PQueueJobListReply = ^TQueueJobListReply;
 | 
						|
  TQueueJobListReply = record
 | 
						|
    totalQueueJobs: Tnuint32;
 | 
						|
    replyQueueJobNumbers: Tnuint32;
 | 
						|
    jobNumberList: array[0..249] of Tnuint32;
 | 
						|
  end;
 | 
						|
 | 
						|
function NWCreateQueueFile(conn: TNWCONN_HANDLE; queueID: Tnuint32; job: PQueueJobStruct; fileHandle: PNWFILE_HANDLE): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWCreateQueueFile2(conn: TNWCONN_HANDLE; queueID: Tnuint32; job: PNWQueueJobStruct; fileHandle: PNWFILE_HANDLE): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWCloseFileAndStartQueueJob(conn: TNWCONN_HANDLE; queueID: Tnuint32; jobNumber: Tnuint16; fileHandle: TNWFILE_HANDLE): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWCloseFileAndStartQueueJob2(conn: TNWCONN_HANDLE; queueID: Tnuint32; jobNumber: Tnuint32; fileHandle: TNWFILE_HANDLE): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWCloseFileAndAbortQueueJob(conn: TNWCONN_HANDLE; queueID: Tnuint32; jobNumber: Tnuint16; fileHandle: TNWFILE_HANDLE): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWCloseFileAndAbortQueueJob2(conn: TNWCONN_HANDLE; queueID: Tnuint32; jobNumber: Tnuint32; fileHandle: TNWFILE_HANDLE): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWRemoveJobFromQueue(conn: TNWCONN_HANDLE; queueID: Tnuint32; jobNumber: Tnuint16): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWRemoveJobFromQueue2(conn: TNWCONN_HANDLE; queueID: Tnuint32; jobNumber: Tnuint32): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWGetQueueJobList(conn: TNWCONN_HANDLE; queueID: Tnuint32; jobCount: pnuint16; jobList: pnuint16): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWGetQueueJobList2(conn: TNWCONN_HANDLE; queueID: Tnuint32; queueStartPos: Tnuint32; job: PQueueJobListReply): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWReadQueueJobEntry(conn: TNWCONN_HANDLE; queueID: Tnuint32; jobNumber: Tnuint16; job: PQueueJobStruct): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWReadQueueJobEntry2(conn: TNWCONN_HANDLE; queueID: Tnuint32; jobNumber: Tnuint32; job: PNWQueueJobStruct): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWGetQueueJobFileSize(conn: TNWCONN_HANDLE; queueID: Tnuint32; jobNumber: Tnuint16; fileSize: pnuint32): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWGetQueueJobFileSize2(conn: TNWCONN_HANDLE; queueID: Tnuint32; jobNumber: Tnuint32; fileSize: pnuint32): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
 | 
						|
function NWChangeQueueJobEntry(conn: TNWCONN_HANDLE; queueID: Tnuint32; job: PQueueJobStruct): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
 | 
						|
function NWChangeQueueJobEntry2(conn: TNWCONN_HANDLE; queueID: Tnuint32; job: PNWQueueJobStruct): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWChangeQueueJobPosition(conn: TNWCONN_HANDLE; queueID: Tnuint32; jobNumber: Tnuint16; newJobPos: Tnuint8): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWChangeQueueJobPosition2(conn: TNWCONN_HANDLE; queueID: Tnuint32; jobNumber: Tnuint32; newJobPos: Tnuint32): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWServiceQueueJob(conn: TNWCONN_HANDLE; queueID: Tnuint32; targetJobType: Tnuint16; job: PQueueJobStruct; fileHandle: PNWFILE_HANDLE): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWServiceQueueJob2(conn: TNWCONN_HANDLE; queueID: Tnuint32; targetJobType: Tnuint16; job: PNWQueueJobStruct; fileHandle: PNWFILE_HANDLE): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWAbortServicingQueueJob(conn: TNWCONN_HANDLE; QueueID: Tnuint32; JobNumber: Tnuint16; fileHandle: TNWFILE_HANDLE): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWAbortServicingQueueJob2(conn: TNWCONN_HANDLE; QueueID: Tnuint32; JobNumber: Tnuint32; fileHandle: TNWFILE_HANDLE): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWChangeToClientRights(conn: TNWCONN_HANDLE; queueID: Tnuint32; jobNumber: Tnuint16): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWChangeToClientRights2(conn: TNWCONN_HANDLE; queueID: Tnuint32; jobNumber: Tnuint32): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWFinishServicingQueueJob(conn: TNWCONN_HANDLE; queueID: Tnuint32; jobNumber: Tnuint16; fileHandle: TNWFILE_HANDLE): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWFinishServicingQueueJob2(conn: TNWCONN_HANDLE; queueID: Tnuint32; jobNumber: Tnuint32; fileHandle: TNWFILE_HANDLE): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWGetPrinterQueueID(conn: TNWCONN_HANDLE; printerNum: Tnuint16; queueID: pnuint32): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWCreateQueue(conn: TNWCONN_HANDLE; queueName: Pnstr8; queueType: Tnuint16; dirPath: Tnuint8; path: Pnstr8;
 | 
						|
  queueID: pnuint32): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWDestroyQueue(conn: TNWCONN_HANDLE; queueID: Tnuint32): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWReadQueueCurrentStatus(conn: TNWCONN_HANDLE; queueID: Tnuint32; queueStatus: pnuint8; numberOfJobs: pnuint16; numberOfServers: pnuint16;
 | 
						|
  serverIDlist: pnuint32; serverConnList: pnuint16): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWReadQueueCurrentStatus2(conn: TNWCONN_HANDLE; queueID: Tnuint32; queueStatus: pnuint32; numberOfJobs: pnuint32; numberOfServers: pnuint32;
 | 
						|
  serverIDlist: pnuint32; serverConnList: pnuint32): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWSetQueueCurrentStatus(conn: TNWCONN_HANDLE; queueID: Tnuint32; queueStatus: Tnuint8): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWSetQueueCurrentStatus2(conn: TNWCONN_HANDLE; queueID: Tnuint32; queueStatus: Tnuint32): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWReadQueueServerCurrentStatus(conn: TNWCONN_HANDLE; queueID: Tnuint32; serverID: Tnuint32; serverConn: Tnuint16; statusRec: Tnptr): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWReadQueueServerCurrentStatus2(conn: TNWCONN_HANDLE; queueID: Tnuint32; serverID: Tnuint32; serverConn: Tnuint32; statusRec: Tnptr): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWAttachQueueServerToQueue(conn: TNWCONN_HANDLE; queueID: Tnuint32): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWDetachQueueServerFromQueue(conn: TNWCONN_HANDLE; queueID: Tnuint32): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWRestoreQueueServerRights(conn: TNWCONN_HANDLE): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
 | 
						|
function NWSetQueueServerCurrentStatus(conn: TNWCONN_HANDLE; queueID: Tnuint32; statusRec: pointer): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
 | 
						|
//*****************************************************************************
 | 
						|
//nwserver.h
 | 
						|
//*****************************************************************************
 | 
						|
 | 
						|
const
 | 
						|
  LNS_CHECK = 0;
 | 
						|
  VERSION_CHECK = 1;
 | 
						|
  NW_2X = 0;
 | 
						|
  NW_30 = 1;
 | 
						|
  NW_311 = 2;
 | 
						|
  NW_32 = 3;
 | 
						|
  NW_40 = 4;
 | 
						|
type
 | 
						|
 | 
						|
  PVERSION_INFO = ^TVERSION_INFO;
 | 
						|
  TVERSION_INFO = record
 | 
						|
    serverName: array[0..47] of Tnuint8;
 | 
						|
    fileServiceVersion: Tnuint8;
 | 
						|
    fileServiceSubVersion: Tnuint8;
 | 
						|
    maximumServiceConnections: Tnuint16;
 | 
						|
    connectionsInUse: Tnuint16;
 | 
						|
    maxNumberVolumes: Tnuint16;
 | 
						|
    revision: Tnuint8;
 | 
						|
    SFTLevel: Tnuint8;
 | 
						|
    TTSLevel: Tnuint8;
 | 
						|
    maxConnectionsEverUsed: Tnuint16;
 | 
						|
    accountVersion: Tnuint8;
 | 
						|
    VAPVersion: Tnuint8;
 | 
						|
    queueVersion: Tnuint8;
 | 
						|
    printVersion: Tnuint8;
 | 
						|
    virtualConsoleVersion: Tnuint8;
 | 
						|
    restrictionLevel: Tnuint8;
 | 
						|
    internetBridge: Tnuint8;
 | 
						|
    reserved: array[0..59] of Tnuint8;
 | 
						|
  end;
 | 
						|
 | 
						|
  PNETWARE_PRODUCT_VERSION = ^TNETWARE_PRODUCT_VERSION;
 | 
						|
  TNETWARE_PRODUCT_VERSION = record
 | 
						|
    majorVersion: Tnuint16;
 | 
						|
    minorVersion: Tnuint16;
 | 
						|
    revision: Tnuint16;
 | 
						|
  end;
 | 
						|
    { Defines that are used for the NWCheckNetWareVersion call for values
 | 
						|
       that can be returned in the compatibilityFlag byte.   }
 | 
						|
 | 
						|
const
 | 
						|
  COMPATIBLE = $00;
 | 
						|
  VERSION_NUMBER_TOO_LOW = $01;
 | 
						|
  SFT_LEVEL_TOO_LOW = $02;
 | 
						|
  TTS_LEVEL_TOO_LOW = $04;
 | 
						|
 | 
						|
function NWCheckConsolePrivileges(conn: TNWCONN_HANDLE): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWDownFileServer(conn: TNWCONN_HANDLE; forceFlag: Tnuint8): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWGetFileServerDateAndTime(conn: TNWCONN_HANDLE; dateTimeBuffer: pnuint8): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWSetFileServerDateAndTime(conn: TNWCONN_HANDLE; year: Tnuint8; month: Tnuint8; day: Tnuint8; hour: Tnuint8;
 | 
						|
  minute: Tnuint8; second: Tnuint8): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWCheckNetWareVersion(conn: TNWCONN_HANDLE; minVer: Tnuint16; minSubVer: Tnuint16; minRev: Tnuint16; minSFT: Tnuint16;
 | 
						|
  minTTS: Tnuint16; compatibilityFlag: pnuint8): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWGetFileServerVersionInfo(conn: TNWCONN_HANDLE; versBuffer: PVERSION_INFO): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWGetNetWareProductVersion(conn: TNWCONN_HANDLE; version: PNETWARE_PRODUCT_VERSION): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWGetFileServerInformation(conn: TNWCONN_HANDLE; serverName: Pnstr8; majorVer: pnuint8; minVer: pnuint8; rev: pnuint8;
 | 
						|
  maxConns: pnuint16; maxConnsUsed: pnuint16; connsInUse: pnuint16; numVolumes: pnuint16; SFTLevel: pnuint8;
 | 
						|
  TTSLevel: pnuint8): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWGetFileServerExtendedInfo(conn: TNWCONN_HANDLE; accountingVer: pnuint8; VAPVer: pnuint8; queueingVer: pnuint8; printServerVer: pnuint8;
 | 
						|
  virtualConsoleVer: pnuint8; securityVer: pnuint8; internetBridgeVer: pnuint8): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function _NWGetFileServerType(conn: TNWCONN_HANDLE; typeFlag: Tnuint16; serverType: pnuint16): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWAttachToFileServer(serverName: Pnstr8; scopeFlag: Tnuint16; newConnID: PNWCONN_HANDLE): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWGetFileServerLoginStatus(conn: TNWCONN_HANDLE; loginEnabledFlag: pnuint8): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWLogoutFromFileServer(conn: TNWCONN_HANDLE): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWLoginToFileServer(conn: TNWCONN_HANDLE; objName: Pnstr8; objType: Tnuint16; password: Pnstr8): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWEnableFileServerLogin(conn: TNWCONN_HANDLE): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWDisableFileServerLogin(conn: TNWCONN_HANDLE): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWGetFileServerDescription(conn: TNWCONN_HANDLE; companyName: Pnstr8; revision: Pnstr8; revisionDate: Pnstr8; copyrightNotice: Pnstr8): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWAttachToFileServerByConn(conn: TNWCONN_HANDLE; serverName: Pnstr8; scopeFlag: Tnuint16; newConnID: PNWCONN_HANDLE): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWGetNetworkSerialNumber(conn: TNWCONN_HANDLE; serialNum: pnuint32; appNum: pnuint16): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWIsManager(conn: TNWCONN_HANDLE): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
 | 
						|
 | 
						|
//*****************************************************************************
 | 
						|
//nwsync.h
 | 
						|
//*****************************************************************************
 | 
						|
 | 
						|
type
 | 
						|
 | 
						|
  PLOGICAL_LOCK = ^TLOGICAL_LOCK;
 | 
						|
  TLOGICAL_LOCK = record
 | 
						|
    connNumber: Tnuint16;
 | 
						|
    taskNumber: Tnuint16;
 | 
						|
    lockStatus: Tnuint8;
 | 
						|
  end;
 | 
						|
 | 
						|
  PLOGICAL_LOCKS = ^TLOGICAL_LOCKS;
 | 
						|
  TLOGICAL_LOCKS = record
 | 
						|
    useCount: Tnuint16;
 | 
						|
    shareableLockCount: Tnuint16;
 | 
						|
    locked: Tnuint8;
 | 
						|
    nextRequest: Tnuint16;
 | 
						|
    numRecords: Tnuint16;
 | 
						|
    logicalLock: array[0..127] of TLOGICAL_LOCK;
 | 
						|
    curRecord: Tnuint16;
 | 
						|
  end;
 | 
						|
 | 
						|
  PCONN_LOGICAL_LOCK = ^TCONN_LOGICAL_LOCK;
 | 
						|
  TCONN_LOGICAL_LOCK = record
 | 
						|
    taskNumber: Tnuint16;
 | 
						|
    lockStatus: Tnuint8;
 | 
						|
    logicalName: array[0..127] of Tnstr8;
 | 
						|
  end;
 | 
						|
 | 
						|
  PCONN_LOGICAL_LOCKS = ^TCONN_LOGICAL_LOCKS;
 | 
						|
  TCONN_LOGICAL_LOCKS = record
 | 
						|
    nextRequest: Tnuint16;
 | 
						|
    numRecords: Tnuint16;
 | 
						|
    records: array[0..507] of Tnuint8;
 | 
						|
    curOffset: Tnuint16;
 | 
						|
    curRecord: Tnuint16;
 | 
						|
  end;
 | 
						|
 | 
						|
  PPHYSICAL_LOCK = ^TPHYSICAL_LOCK;
 | 
						|
  TPHYSICAL_LOCK = record
 | 
						|
    loggedCount: Tnuint16;
 | 
						|
    shareableLockCount: Tnuint16;
 | 
						|
    recordStart: Tnuint32;
 | 
						|
    recordEnd: Tnuint32;
 | 
						|
    connNumber: Tnuint16;
 | 
						|
    taskNumber: Tnuint16;
 | 
						|
    lockType: Tnuint8;
 | 
						|
  end;
 | 
						|
 | 
						|
  PPHYSICAL_LOCKS = ^TPHYSICAL_LOCKS;
 | 
						|
  TPHYSICAL_LOCKS = record
 | 
						|
    nextRequest: Tnuint16;
 | 
						|
    numRecords: Tnuint16;
 | 
						|
    locks: array[0..31] of TPHYSICAL_LOCK;
 | 
						|
    curRecord: Tnuint16;
 | 
						|
    reserved: array[0..7] of Tnuint8;
 | 
						|
  end;
 | 
						|
 | 
						|
  PCONN_PHYSICAL_LOCK = ^TCONN_PHYSICAL_LOCK;
 | 
						|
  TCONN_PHYSICAL_LOCK = record
 | 
						|
    taskNumber: Tnuint16;
 | 
						|
    lockType: Tnuint8;
 | 
						|
    recordStart: Tnuint32;
 | 
						|
    recordEnd: Tnuint32;
 | 
						|
  end;
 | 
						|
 | 
						|
  PCONN_PHYSICAL_LOCKS = ^TCONN_PHYSICAL_LOCKS;
 | 
						|
  TCONN_PHYSICAL_LOCKS = record
 | 
						|
    nextRequest: Tnuint16;
 | 
						|
    numRecords: Tnuint16;
 | 
						|
    locks: array[0..50] of TCONN_PHYSICAL_LOCK;
 | 
						|
    curRecord: Tnuint16;
 | 
						|
    reserved: array[0..21] of Tnuint8;
 | 
						|
  end;
 | 
						|
 | 
						|
  PSEMAPHORE = ^TSEMAPHORE;
 | 
						|
  TSEMAPHORE = record
 | 
						|
    connNumber: Tnuint16;
 | 
						|
    taskNumber: Tnuint16;
 | 
						|
  end;
 | 
						|
 | 
						|
  PSEMAPHORES = ^TSEMAPHORES;
 | 
						|
  TSEMAPHORES = record
 | 
						|
    nextRequest: Tnuint16;
 | 
						|
    openCount: Tnuint16;
 | 
						|
    semaphoreValue: Tnuint16;
 | 
						|
    semaphoreCount: Tnuint16;
 | 
						|
    semaphores: array[0..169] of TSEMAPHORE;
 | 
						|
    curRecord: Tnuint16;
 | 
						|
  end;
 | 
						|
 | 
						|
  PCONN_SEMAPHORE = ^TCONN_SEMAPHORE;
 | 
						|
  TCONN_SEMAPHORE = record
 | 
						|
    openCount: Tnuint16;
 | 
						|
    semaphoreValue: Tnuint16;
 | 
						|
    taskNumber: Tnuint16;
 | 
						|
    semaphoreName: array[0..127] of Tnstr8;
 | 
						|
  end;
 | 
						|
 | 
						|
  PCONN_SEMAPHORES = ^TCONN_SEMAPHORES;
 | 
						|
  TCONN_SEMAPHORES = record
 | 
						|
    nextRequest: Tnuint16;
 | 
						|
    numRecords: Tnuint16;
 | 
						|
    records: array[0..507] of Tnuint8;
 | 
						|
    curOffset: Tnuint16;
 | 
						|
    curRecord: Tnuint16;
 | 
						|
  end;
 | 
						|
 | 
						|
function NWScanPhysicalLocksByFile(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; path: Pnstr8; dataStream: Tnuint8; iterHandle: pnint16;
 | 
						|
  lock: PPHYSICAL_LOCK; locks: PPHYSICAL_LOCKS): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWScanLogicalLocksByConn(conn: TNWCONN_HANDLE; connNum: Tnuint16; iterHandle: pnint16; logicalLock: PCONN_LOGICAL_LOCK; logicalLocks: PCONN_LOGICAL_LOCKS): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWScanPhysicalLocksByConnFile(conn: TNWCONN_HANDLE; connNum: Tnuint16; dirHandle: TNWDIR_HANDLE; path: Pnstr8; dataStream: Tnuint8;
 | 
						|
  iterHandle: pnint16; lock: PCONN_PHYSICAL_LOCK; locks: PCONN_PHYSICAL_LOCKS): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWScanLogicalLocksByName(conn: TNWCONN_HANDLE; logicalName: Pnstr8; iterHandle: pnint16; logicalLock: PLOGICAL_LOCK; logicalLocks: PLOGICAL_LOCKS): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWScanSemaphoresByConn(conn: TNWCONN_HANDLE; connNum: Tnuint16; iterHandle: pnint16; semaphore: PCONN_SEMAPHORE; semaphores: PCONN_SEMAPHORES): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWScanSemaphoresByName(conn: TNWCONN_HANDLE; semName: Pnstr8; iterHandle: pnint16; semaphore: PSEMAPHORE; semaphores: PSEMAPHORES): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWSignalSemaphore(conn: TNWCONN_HANDLE; semHandle: Tnuint32): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWCloseSemaphore(conn: TNWCONN_HANDLE; semHandle: Tnuint32): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWOpenSemaphore(conn: TNWCONN_HANDLE; semName: Pnstr8; initSemHandle: Tnint16; semHandle: pnuint32; semOpenCount: pnuint16): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWExamineSemaphore(conn: TNWCONN_HANDLE; semHandle: Tnuint32; semValue: pnint16; semOpenCount: pnuint16): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWWaitOnSemaphore(conn: TNWCONN_HANDLE; semHandle: Tnuint32; timeOutValue: Tnuint16): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
 | 
						|
 | 
						|
 | 
						|
//*****************************************************************************
 | 
						|
//nwtts.h
 | 
						|
//*****************************************************************************
 | 
						|
 | 
						|
type
 | 
						|
 | 
						|
  PTTS_STATS = ^TTTS_STATS;
 | 
						|
  TTTS_STATS = record
 | 
						|
    systemElapsedTime: Tnuint32;
 | 
						|
    TTS_Supported: Tnuint8;
 | 
						|
    TTS_Enabled: Tnuint8;
 | 
						|
    TTS_VolumeNumber: Tnuint16;
 | 
						|
    TTS_MaxOpenTransactions: Tnuint16;
 | 
						|
    TTS_MaxTransactionsOpened: Tnuint16;
 | 
						|
    TTS_CurrTransactionsOpen: Tnuint16;
 | 
						|
    TTS_TotalTransactions: Tnuint32;
 | 
						|
    TTS_TotalWrites: Tnuint32;
 | 
						|
    TTS_TotalBackouts: Tnuint32;
 | 
						|
    TTS_UnfilledBackouts: Tnuint16;
 | 
						|
    TTS_DiskBlocksInUse: Tnuint16;
 | 
						|
    TTS_FATAllocations: Tnuint32;
 | 
						|
    TTS_FileSizeChanges: Tnuint32;
 | 
						|
    TTS_FilesTruncated: Tnuint32;
 | 
						|
    numberOfTransactions: Tnuint8;
 | 
						|
    connTask: array[0..234] of record
 | 
						|
      connNumber: Tnuint8;
 | 
						|
      taskNumber: Tnuint8;
 | 
						|
    end;
 | 
						|
  end;
 | 
						|
 | 
						|
function NWTTSAbortTransaction(conn: TNWCONN_HANDLE): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWTTSBeginTransaction(conn: TNWCONN_HANDLE): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWTTSIsAvailable(conn: TNWCONN_HANDLE): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWTTSGetControlFlags(conn: TNWCONN_HANDLE; controlFlags: pnuint8): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWTTSSetControlFlags(conn: TNWCONN_HANDLE; controlFlags: Tnuint8): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWTTSEndTransaction(conn: TNWCONN_HANDLE; transactionNum: pnuint32): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWTTSTransactionStatus(conn: TNWCONN_HANDLE; transactionNum: Tnuint32): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWTTSGetProcessThresholds(conn: TNWCONN_HANDLE; logicalLockLevel: pnuint8; physicalLockLevel: pnuint8): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWTTSSetProcessThresholds(conn: TNWCONN_HANDLE; logicalLockLevel: Tnuint8; physicalLockLevel: Tnuint8): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWTTSGetConnectionThresholds(conn: TNWCONN_HANDLE; logicalLockLevel: pnuint8; physicalLockLevel: pnuint8): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWTTSSetConnectionThresholds(conn: TNWCONN_HANDLE; logicalLockLevel: Tnuint8; physicalLockLevel: Tnuint8): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWEnableTTS(conn: TNWCONN_HANDLE): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWDisableTTS(conn: TNWCONN_HANDLE): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWGetTTSStats(conn: TNWCONN_HANDLE; ttsStats: PTTS_STATS): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
 | 
						|
//*****************************************************************************
 | 
						|
//nwvol.h
 | 
						|
//*****************************************************************************
 | 
						|
 | 
						|
    { define volume types   }
 | 
						|
 | 
						|
const
 | 
						|
  VINetWare386 = 0;
 | 
						|
  VINetWare286 = 1;
 | 
						|
  VINetWare386v30 = 2;
 | 
						|
  VINetWare386v31 = 3;
 | 
						|
    {    define the extended volume information status flag bits   }
 | 
						|
  NWSubAllocEnabledBit = $01;
 | 
						|
  NWCompressionEnabledBit = $02;
 | 
						|
  NWMigrationEnabledBit = $04;
 | 
						|
  NWAuditingEnabledBit = $08;
 | 
						|
  NWReadOnlyEnabledBit = $10;
 | 
						|
  NWPSSEnabledBit = $80000000;
 | 
						|
    { define the constant for volume request flag for NWScanMountedVolumeList  }
 | 
						|
  NW_VOLUME_NUMBER_ONLY = 0;
 | 
						|
  NW_VOLUME_NUMBER_AND_NAME = 1;
 | 
						|
type
 | 
						|
 | 
						|
  PNWOBJ_REST = ^TNWOBJ_REST;
 | 
						|
  TNWOBJ_REST = record
 | 
						|
    objectID: Tnuint32;
 | 
						|
    restriction: Tnuint32;
 | 
						|
  end;
 | 
						|
 | 
						|
  PNWVolumeRestrictions = ^TNWVolumeRestrictions;
 | 
						|
  TNWVolumeRestrictions = record
 | 
						|
    numberOfEntries: Tnuint8;
 | 
						|
    resInfo: array[0..11] of record
 | 
						|
      objectID: Tnuint32;
 | 
						|
      restriction: Tnuint32;
 | 
						|
    end;
 | 
						|
  end;
 | 
						|
 | 
						|
  PNWVOL_RESTRICTIONS = ^TNWVOL_RESTRICTIONS;
 | 
						|
  TNWVOL_RESTRICTIONS = record
 | 
						|
    numberOfEntries: Tnuint8;
 | 
						|
    resInfo: array[0..15] of record
 | 
						|
      objectID: Tnuint32;
 | 
						|
      restriction: Tnuint32;
 | 
						|
    end;
 | 
						|
  end;
 | 
						|
 | 
						|
  PVOL_STATS = ^TVOL_STATS;
 | 
						|
  TVOL_STATS = record
 | 
						|
    systemElapsedTime: Tnint32;
 | 
						|
    volumeNumber: Tnuint8;
 | 
						|
    logicalDriveNumber: Tnuint8;
 | 
						|
    sectorsPerBlock: Tnuint16;
 | 
						|
    startingBlock: Tnuint16;
 | 
						|
    totalBlocks: Tnuint16;
 | 
						|
    availableBlocks: Tnuint16;
 | 
						|
    totalDirectorySlots: Tnuint16;
 | 
						|
    availableDirectorySlots: Tnuint16;
 | 
						|
    maxDirectorySlotsUsed: Tnuint16;
 | 
						|
    isHashing: Tnuint8;
 | 
						|
    isCaching: Tnuint8;
 | 
						|
    isRemovable: Tnuint8;
 | 
						|
    isMounted: Tnuint8;
 | 
						|
    volumeName: array[0..15] of Tnstr8;
 | 
						|
  end;
 | 
						|
    { non freeable  }
 | 
						|
 | 
						|
  PExtendedVolInfo_tag = ^TExtendedVolInfo_tag;
 | 
						|
  TExtendedVolInfo_tag = record
 | 
						|
    volType: Tnuint32;
 | 
						|
    statusFlag: Tnuint32;
 | 
						|
    sectorSize: Tnuint32;
 | 
						|
    sectorsPerCluster: Tnuint32;
 | 
						|
    volSizeInClusters: Tnuint32;
 | 
						|
    freeClusters: Tnuint32;
 | 
						|
    subAllocFreeableClusters: Tnuint32;
 | 
						|
    freeableLimboSectors: Tnuint32;
 | 
						|
    nonfreeableLimboSectors: Tnuint32;
 | 
						|
    availSubAllocSectors: Tnuint32;
 | 
						|
    nonuseableSubAllocSectors: Tnuint32;
 | 
						|
    subAllocClusters: Tnuint32;
 | 
						|
    numDataStreams: Tnuint32;
 | 
						|
    numLimboDataStreams: Tnuint32;
 | 
						|
    oldestDelFileAgeInTicks: Tnuint32;
 | 
						|
    numCompressedDataStreams: Tnuint32;
 | 
						|
    numCompressedLimboDataStreams: Tnuint32;
 | 
						|
    numNoncompressibleDataStreams: Tnuint32;
 | 
						|
    precompressedSectors: Tnuint32;
 | 
						|
    compressedSectors: Tnuint32;
 | 
						|
    numMigratedDataStreams: Tnuint32;
 | 
						|
    migratedSectors: Tnuint32;
 | 
						|
    clustersUsedByFAT: Tnuint32;
 | 
						|
    clustersUsedByDirs: Tnuint32;
 | 
						|
    clustersUsedByExtDirs: Tnuint32;
 | 
						|
    totalDirEntries: Tnuint32;
 | 
						|
    unusedDirEntries: Tnuint32;
 | 
						|
    totalExtDirExtants: Tnuint32;
 | 
						|
    unusedExtDirExtants: Tnuint32;
 | 
						|
    extAttrsDefined: Tnuint32;
 | 
						|
    extAttrExtantsUsed: Tnuint32;
 | 
						|
    DirectoryServicesObjectID: Tnuint32;
 | 
						|
    volLastModifiedDateAndTime: Tnuint32;
 | 
						|
  end;
 | 
						|
  TNWVolExtendedInfo = TExtendedVolInfo_tag;
 | 
						|
  PNWVolExtendedInfo = ^TNWVolExtendedInfo;
 | 
						|
 | 
						|
  PNWVolMountNumWithName_tag = ^TNWVolMountNumWithName_tag;
 | 
						|
  TNWVolMountNumWithName_tag = record
 | 
						|
    volumeNumber: Tnuint32;
 | 
						|
    volumeName: array[0..(NW_MAX_VOLUME_NAME_LEN) - 1] of Tnstr8;
 | 
						|
  end;
 | 
						|
  TNWVolMountNumWithName = TNWVolMountNumWithName_tag;
 | 
						|
  PNWVolMountNumWithName = ^TNWVolMountNumWithName;
 | 
						|
 | 
						|
function NWGetDiskUtilization(conn: TNWCONN_HANDLE; objID: Tnuint32; volNum: Tnuint8; usedDirectories: pnuint16; usedFiles: pnuint16;
 | 
						|
  usedBlocks: pnuint16): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWGetObjDiskRestrictions(conn: TNWCONN_HANDLE; volNumber: Tnuint8; objectID: Tnuint32; restriction: pnuint32; inUse: pnuint32): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWScanVolDiskRestrictions(conn: TNWCONN_HANDLE; volNum: Tnuint8; iterhandle: pnuint32; volInfo: PNWVolumeRestrictions): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWScanVolDiskRestrictions2(conn: TNWCONN_HANDLE; volNum: Tnuint8; iterhandle: pnuint32; volInfo: PNWVOL_RESTRICTIONS): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWRemoveObjectDiskRestrictions(conn: TNWCONN_HANDLE; volNum: Tnuint8; objID: Tnuint32): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWSetObjectVolSpaceLimit(conn: TNWCONN_HANDLE; volNum: Tnuint16; objID: Tnuint32; restriction: Tnuint32): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWGetVolumeInfoWithHandle(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; volName: Pnstr8; totalBlocks: pnuint16; sectorsPerBlock: pnuint16;
 | 
						|
  availableBlocks: pnuint16; totalDirEntries: pnuint16; availableDirEntries: pnuint16; volIsRemovableFlag: pnuint16): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWGetVolumeInfoWithNumber(conn: TNWCONN_HANDLE; volNum: Tnuint16; volName: Pnstr8; totalBlocks: pnuint16; sectorsPerBlock: pnuint16;
 | 
						|
  availableBlocks: pnuint16; totalDirEntries: pnuint16; availableDirEntries: pnuint16; volIsRemovableFlag: pnuint16): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWGetVolumeName(conn: TNWCONN_HANDLE; volNum: Tnuint16; volName: Pnstr8): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWGetVolumeNumber(conn: TNWCONN_HANDLE; volName: Pnstr8; volNum: pnuint16): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWGetVolumeStats(conn: TNWCONN_HANDLE; volNum: Tnuint8; volInfo: PVOL_STATS): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
 | 
						|
 | 
						|
function NWGetExtendedVolumeInfo(conn: TNWCONN_HANDLE; volNum: Tnuint16; volInfo: PNWVolExtendedInfo): TNWCCODE; NWLIB_CLIB;
 | 
						|
function NWGetExtendedVolumeInfo2(conn: TNWCONN_HANDLE; volNum: Tnuint16; volInfo: PNWVolExtendedInfo): TNWCCODE; NWLIB_CLIB;
 | 
						|
function NWScanMountedVolumeList(conn: TNWCONN_HANDLE; volRequestFlags: Tnuint32; nameSpace: Tnuint32; iterHandle: pnuint32; numberItems: Tnuint32;
 | 
						|
  numberReturned: pnuint32; volMountArr: PNWVolMountNumWithName): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
 | 
						|
 | 
						|
//*****************************************************************************
 | 
						|
//nwacct.h
 | 
						|
//*****************************************************************************
 | 
						|
 | 
						|
type
 | 
						|
  PHOLDS_INFO = ^THOLDS_INFO;
 | 
						|
  THOLDS_INFO = record
 | 
						|
    objectID: Tnuint32;
 | 
						|
    amount: Tnint32;
 | 
						|
  end;
 | 
						|
 | 
						|
  PHOLDS_STATUS = ^THOLDS_STATUS;
 | 
						|
  THOLDS_STATUS = record
 | 
						|
    holdsCount: Tnuint16;
 | 
						|
    holds: array[0..15] of THOLDS_INFO;
 | 
						|
  end;
 | 
						|
 | 
						|
 | 
						|
function NWGetAccountStatus(conn: TNWCONN_HANDLE; objType: Tnuint16; objName: Pnstr8; balance: pnint32; limit: pnint32;
 | 
						|
  holds: PHOLDS_STATUS): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWQueryAccountingInstalled(conn: TNWCONN_HANDLE; installed: pnuint8): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWSubmitAccountCharge(conn: TNWCONN_HANDLE; objType: Tnuint16; objName: Pnstr8; serviceType: Tnuint16; chargeAmt: Tnint32;
 | 
						|
  holdCancelAmt: Tnint32; noteType: Tnuint16; note: Pnstr8): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWSubmitAccountHold(conn: TNWCONN_HANDLE; objType: Tnuint16; objName: Pnstr8; holdAmt: Tnint32): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWSubmitAccountNote(conn: TNWCONN_HANDLE; objType: Tnuint16; objName: Pnstr8; serviceType: Tnuint16; noteType: Tnuint16;
 | 
						|
  note: Pnstr8): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
 | 
						|
 | 
						|
 | 
						|
//*****************************************************************************
 | 
						|
//nwfse.h
 | 
						|
//*****************************************************************************
 | 
						|
 | 
						|
type
 | 
						|
  PSERVER_AND_VCONSOLE_INFO = ^TSERVER_AND_VCONSOLE_INFO;
 | 
						|
  TSERVER_AND_VCONSOLE_INFO = record
 | 
						|
    currentServerTime: Tnuint32;
 | 
						|
    vconsoleVersion: Tnuint8;
 | 
						|
    vconsoleRevision: Tnuint8;
 | 
						|
  end;
 | 
						|
    { Get Cache Information  }
 | 
						|
 | 
						|
  PCACHE_COUNTERS = ^TCACHE_COUNTERS;
 | 
						|
  TCACHE_COUNTERS = record
 | 
						|
    readExistingBlockCount: Tnuint32;
 | 
						|
    readExistingWriteWaitCount: Tnuint32;
 | 
						|
    readExistingPartialReadCount: Tnuint32;
 | 
						|
    readExistingReadErrorCount: Tnuint32;
 | 
						|
    writeBlockCount: Tnuint32;
 | 
						|
    writeEntireBlockCount: Tnuint32;
 | 
						|
    getDiskCount: Tnuint32;
 | 
						|
    getDiskNeedToAllocCount: Tnuint32;
 | 
						|
    getDiskSomeoneBeatMeCount: Tnuint32;
 | 
						|
    getDiskPartialReadCount: Tnuint32;
 | 
						|
    getDiskReadErrorCount: Tnuint32;
 | 
						|
    getAsyncDiskCount: Tnuint32;
 | 
						|
    getAsyncDiskNeedToAlloc: Tnuint32;
 | 
						|
    getAsyncDiskSomeoneBeatMe: Tnuint32;
 | 
						|
    errorDoingAsyncReadCount: Tnuint32;
 | 
						|
    getDiskNoReadCount: Tnuint32;
 | 
						|
    getDiskNoReadAllocCount: Tnuint32;
 | 
						|
    getDiskNoReadSomeoneBeatMeCount: Tnuint32;
 | 
						|
    diskWriteCount: Tnuint32;
 | 
						|
    diskWriteAllocCount: Tnuint32;
 | 
						|
    diskWriteSomeoneBeatMeCount: Tnuint32;
 | 
						|
    writeErrorCount: Tnuint32;
 | 
						|
    waitOnSemaphoreCount: Tnuint32;
 | 
						|
    allocBlockWaitForSomeoneCount: Tnuint32;
 | 
						|
    allocBlockCount: Tnuint32;
 | 
						|
    allocBlockWaitCount: Tnuint32;
 | 
						|
  end;
 | 
						|
 | 
						|
  PCACHE_MEM_COUNTERS = ^TCACHE_MEM_COUNTERS;
 | 
						|
  TCACHE_MEM_COUNTERS = record
 | 
						|
    originalNumOfCacheBuffers: Tnuint32;
 | 
						|
    currentNumOfCacheBuffers: Tnuint32;
 | 
						|
    cacheDirtyBlockThreshold: Tnuint32;
 | 
						|
    waitNodeCount: Tnuint32;
 | 
						|
    waitNodeAllocFailureCount: Tnuint32;
 | 
						|
    moveCacheNodeCount: Tnuint32;
 | 
						|
    moveCacheNodeFromAvailCount: Tnuint32;
 | 
						|
    accelerateCacheNodeWriteCount: Tnuint32;
 | 
						|
    removeCacheNodeCount: Tnuint32;
 | 
						|
    removeCacheNodeFromAvailCount: Tnuint32;
 | 
						|
  end;
 | 
						|
 | 
						|
  PCACHE_TREND_COUNTERS = ^TCACHE_TREND_COUNTERS;
 | 
						|
  TCACHE_TREND_COUNTERS = record
 | 
						|
    numCacheChecks: Tnuint32;
 | 
						|
    numCacheHits: Tnuint32;
 | 
						|
    numDirtyCacheChecks: Tnuint32;
 | 
						|
    numDirtyCacheHits: Tnuint32;
 | 
						|
    cacheUsedWhileChecking: Tnuint32;
 | 
						|
    waitForDirtyBlocksDecreaseCount: Tnuint32;
 | 
						|
    allocBlockFromAvailCount: Tnuint32;
 | 
						|
    allocBlockFromLRUCount: Tnuint32;
 | 
						|
    allocBlockAlreadyWaiting: Tnuint32;
 | 
						|
    LRUSittingTime: Tnuint32;
 | 
						|
  end;
 | 
						|
 | 
						|
  PCACHE_INFO = ^TCACHE_INFO;
 | 
						|
  TCACHE_INFO = record
 | 
						|
    maxByteCount: Tnuint32;
 | 
						|
    minNumOfCacheBuffers: Tnuint32;
 | 
						|
    minCacheReportThreshold: Tnuint32;
 | 
						|
    allocWaitingCount: Tnuint32;
 | 
						|
    numDirtyBlocks: Tnuint32;
 | 
						|
    cacheDirtyWaitTime: Tnuint32;
 | 
						|
    cacheMaxConcurrentWrites: Tnuint32;
 | 
						|
    maxDirtyTime: Tnuint32;
 | 
						|
    numOfDirCacheBuffers: Tnuint32;
 | 
						|
    cacheByteToBlockShiftFactor: Tnuint32;
 | 
						|
  end;
 | 
						|
 | 
						|
  PNWFSE_CACHE_INFO = ^TNWFSE_CACHE_INFO;
 | 
						|
  TNWFSE_CACHE_INFO = record
 | 
						|
    serverTimeAndVConsoleInfo: TSERVER_AND_VCONSOLE_INFO;
 | 
						|
    reserved: Tnuint16;
 | 
						|
    cacheCounters: TCACHE_COUNTERS;
 | 
						|
    cacheMemCounters: TCACHE_MEM_COUNTERS;
 | 
						|
    cacheTrendCounters: TCACHE_TREND_COUNTERS;
 | 
						|
    cacheInformation: TCACHE_INFO;
 | 
						|
  end;
 | 
						|
    { Get File Server Information  }
 | 
						|
    { writeHeldOffWithDuplicateRequest  }
 | 
						|
 | 
						|
  PFSE_SERVER_INFO = ^TFSE_SERVER_INFO;
 | 
						|
  TFSE_SERVER_INFO = record
 | 
						|
    replyCanceledCount: Tnuint32;
 | 
						|
    writeHeldOffCount: Tnuint32;
 | 
						|
    writeHeldOffWithDupRequest: Tnuint32;
 | 
						|
    invalidRequestTypeCount: Tnuint32;
 | 
						|
    beingAbortedCount: Tnuint32;
 | 
						|
    alreadyDoingReallocCount: Tnuint32;
 | 
						|
    deAllocInvalidSlotCount: Tnuint32;
 | 
						|
    deAllocBeingProcessedCount: Tnuint32;
 | 
						|
    deAllocForgedPacketCount: Tnuint32;
 | 
						|
    deAllocStillTransmittingCount: Tnuint32;
 | 
						|
    startStationErrorCount: Tnuint32;
 | 
						|
    invalidSlotCount: Tnuint32;
 | 
						|
    beingProcessedCount: Tnuint32;
 | 
						|
    forgedPacketCount: Tnuint32;
 | 
						|
    stillTransmittingCount: Tnuint32;
 | 
						|
    reExecuteRequestCount: Tnuint32;
 | 
						|
    invalidSequenceNumCount: Tnuint32;
 | 
						|
    duplicateIsBeingSentAlreadyCnt: Tnuint32;
 | 
						|
    sentPositiveAcknowledgeCount: Tnuint32;
 | 
						|
    sentDuplicateReplyCount: Tnuint32;
 | 
						|
    noMemForStationCtrlCount: Tnuint32;
 | 
						|
    noAvailableConnsCount: Tnuint32;
 | 
						|
    reallocSlotCount: Tnuint32;
 | 
						|
    reallocSlotCameTooSoonCount: Tnuint32;
 | 
						|
  end;
 | 
						|
 | 
						|
  PFILE_SERVER_COUNTERS = ^TFILE_SERVER_COUNTERS;
 | 
						|
  TFILE_SERVER_COUNTERS = record
 | 
						|
    tooManyHops: Tnuint16;
 | 
						|
    unknownNetwork: Tnuint16;
 | 
						|
    noSpaceForService: Tnuint16;
 | 
						|
    noReceiveBuffers: Tnuint16;
 | 
						|
    notMyNetwork: Tnuint16;
 | 
						|
    netBIOSProgatedCount: Tnuint32;
 | 
						|
    totalPacketsServiced: Tnuint32;
 | 
						|
    totalPacketsRouted: Tnuint32;
 | 
						|
  end;
 | 
						|
 | 
						|
  PNWFSE_FILE_SERVER_INFO = ^TNWFSE_FILE_SERVER_INFO;
 | 
						|
  TNWFSE_FILE_SERVER_INFO = record
 | 
						|
    serverTimeAndVConsoleInfo: TSERVER_AND_VCONSOLE_INFO;
 | 
						|
    reserved: Tnuint16;
 | 
						|
    NCPStationsInUseCount: Tnuint32;
 | 
						|
    NCPPeakStationsInUseCount: Tnuint32;
 | 
						|
    numOfNCPRequests: Tnuint32;
 | 
						|
    serverUtilization: Tnuint32;
 | 
						|
    ServerInfo: TFSE_SERVER_INFO;
 | 
						|
    fileServerCounters: TFILE_SERVER_COUNTERS;
 | 
						|
  end;
 | 
						|
    { Netware File Systems Information  }
 | 
						|
 | 
						|
  PFSE_FILE_SYSTEM_INFO = ^TFSE_FILE_SYSTEM_INFO;
 | 
						|
  TFSE_FILE_SYSTEM_INFO = record
 | 
						|
    FATMovedCount: Tnuint32;
 | 
						|
    FATWriteErrorCount: Tnuint32;
 | 
						|
    someoneElseDidItCount0: Tnuint32;
 | 
						|
    someoneElseDidItCount1: Tnuint32;
 | 
						|
    someoneElseDidItCount2: Tnuint32;
 | 
						|
    iRanOutSomeoneElseDidItCount0: Tnuint32;
 | 
						|
    iRanOutSomeoneElseDidItCount1: Tnuint32;
 | 
						|
    iRanOutSomeoneElseDidItCount2: Tnuint32;
 | 
						|
    turboFATBuildScrewedUpCount: Tnuint32;
 | 
						|
    extraUseCountNodeCount: Tnuint32;
 | 
						|
    extraExtraUseCountNodeCount: Tnuint32;
 | 
						|
    errorReadingLastFATCount: Tnuint32;
 | 
						|
    someoneElseUsingThisFileCount: Tnuint32;
 | 
						|
  end;
 | 
						|
 | 
						|
  PNWFSE_FILE_SYSTEM_INFO = ^TNWFSE_FILE_SYSTEM_INFO;
 | 
						|
  TNWFSE_FILE_SYSTEM_INFO = record
 | 
						|
    serverTimeAndVConsoleInfo: TSERVER_AND_VCONSOLE_INFO;
 | 
						|
    reserved: Tnuint16;
 | 
						|
    fileSystemInfo: TFSE_FILE_SYSTEM_INFO;
 | 
						|
  end;
 | 
						|
    { User Information  }
 | 
						|
    { status  }
 | 
						|
 | 
						|
const
 | 
						|
  FSE_LOGGED_IN = $00000001;
 | 
						|
  FSE_BEING_ABORTED = $00000002;
 | 
						|
  FSE_AUDITED = $00000004;
 | 
						|
  FSE_NEEDS_SECURITY_CHANGE = $00000008;
 | 
						|
  FSE_MAC_STATION = $00000010;
 | 
						|
  FSE_AUTHENTICATED_TEMPORARY = $00000020;
 | 
						|
  FSE_AUDIT_CONNECTION_RECORDED = $00000040;
 | 
						|
  FSE_DSAUDIT_CONNECTION_RECORDED = $00000080;
 | 
						|
    { fileWriteFlags  }
 | 
						|
  FSE_WRITE = 1;
 | 
						|
  FSE_WRITE_ABORTED = 2;
 | 
						|
    { fileWriteState  }
 | 
						|
  FSE_NOT_WRITING = 0;
 | 
						|
  FSE_WRITE_IN_PROGRESS = 1;
 | 
						|
  FSE_WRITE_BEING_STOPPED = 2;
 | 
						|
    { Includes active and stop bits  }
 | 
						|
type
 | 
						|
 | 
						|
  PUSER_INFO = ^TUSER_INFO;
 | 
						|
  TUSER_INFO = record
 | 
						|
    connNum: Tnuint32;
 | 
						|
    useCount: Tnuint32;
 | 
						|
    connServiceType: Tnuint8;
 | 
						|
    loginTime: array[0..6] of Tnuint8;
 | 
						|
    status: Tnuint32;
 | 
						|
    expirationTime: Tnuint32;
 | 
						|
    objType: Tnuint32;
 | 
						|
    transactionFlag: Tnuint8;
 | 
						|
    logicalLockThreshold: Tnuint8;
 | 
						|
    recordLockThreshold: Tnuint8;
 | 
						|
    fileWriteFlags: Tnuint8;
 | 
						|
    fileWriteState: Tnuint8;
 | 
						|
    filler: Tnuint8;
 | 
						|
    fileLockCount: Tnuint16;
 | 
						|
    recordLockCount: Tnuint16;
 | 
						|
    totalBytesRead: array[0..5] of Tnuint8;
 | 
						|
    totalBytesWritten: array[0..5] of Tnuint8;
 | 
						|
    totalRequests: Tnuint32;
 | 
						|
    heldRequests: Tnuint32;
 | 
						|
    heldBytesRead: array[0..5] of Tnuint8;
 | 
						|
    heldBytesWritten: array[0..5] of Tnuint8;
 | 
						|
  end;
 | 
						|
 | 
						|
  PNWFSE_USER_INFO = ^TNWFSE_USER_INFO;
 | 
						|
  TNWFSE_USER_INFO = record
 | 
						|
    serverTimeAndVConsoleInfo: TSERVER_AND_VCONSOLE_INFO;
 | 
						|
    reserved: Tnuint16;
 | 
						|
    userInfo: TUSER_INFO;
 | 
						|
  end;
 | 
						|
    { Packet Burst Information  }
 | 
						|
    { writeTooManyBuffersCheckedOutCount  }
 | 
						|
    { writeDidntNeedButRequestedACKCount  }
 | 
						|
 | 
						|
  PPACKET_BURST_INFO = ^TPACKET_BURST_INFO;
 | 
						|
  TPACKET_BURST_INFO = record
 | 
						|
    bigInvalidSlotCount: Tnuint32;
 | 
						|
    bigForgedPacketCount: Tnuint32;
 | 
						|
    bigInvalidPacketCount: Tnuint32;
 | 
						|
    bigStillTransmittingCount: Tnuint32;
 | 
						|
    stillDoingTheLastRequestCount: Tnuint32;
 | 
						|
    invalidCtrlRequestCount: Tnuint32;
 | 
						|
    ctrlInvalidMessageNumCount: Tnuint32;
 | 
						|
    ctrlBeingTornDownCount: Tnuint32;
 | 
						|
    bigRepeatTheFileReadCount: Tnuint32;
 | 
						|
    bigSendExtraCCCount: Tnuint32;
 | 
						|
    bigReturnAbortMessageCount: Tnuint32;
 | 
						|
    bigReadInvalidMessageNumCount: Tnuint32;
 | 
						|
    bigReadDoItOverCount: Tnuint32;
 | 
						|
    bigReadBeingTornDownCount: Tnuint32;
 | 
						|
    previousCtrlPacketCount: Tnuint32;
 | 
						|
    sendHoldOffMessageCount: Tnuint32;
 | 
						|
    bigReadNoDataAvailableCount: Tnuint32;
 | 
						|
    bigReadTryingToReadTooMuchCount: Tnuint32;
 | 
						|
    asyncReadErrorCount: Tnuint32;
 | 
						|
    bigReadPhysicalReadErrorCount: Tnuint32;
 | 
						|
    ctrlBadACKFragmentListCount: Tnuint32;
 | 
						|
    ctrlNoDataReadCount: Tnuint32;
 | 
						|
    writeDuplicateRequestCount: Tnuint32;
 | 
						|
    shouldntBeACKingHereCount: Tnuint32;
 | 
						|
    writeInconsistentPktLengthsCnt: Tnuint32;
 | 
						|
    firstPacketIsntAWriteCount: Tnuint32;
 | 
						|
    writeTrashedDuplicateRequestCnt: Tnuint32;
 | 
						|
    bigWriteInvalidMessageNumCount: Tnuint32;
 | 
						|
    bigWriteBeingTornDownCount: Tnuint32;
 | 
						|
    bigWriteBeingAbortedCount: Tnuint32;
 | 
						|
    zeroACKFragmentCountCount: Tnuint32;
 | 
						|
    writeCurrentlyTransmittingCount: Tnuint32;
 | 
						|
    tryingToWriteTooMuchCount: Tnuint32;
 | 
						|
    writeOutOfMemForCtrlNodesCount: Tnuint32;
 | 
						|
    writeDidntNeedThisFragmentCount: Tnuint32;
 | 
						|
    writeTooManyBuffsCheckedOutCnt: Tnuint32;
 | 
						|
    writeTimeOutCount: Tnuint32;
 | 
						|
    writeGotAnACKCount: Tnuint32;
 | 
						|
    writeGotAnACKCount1: Tnuint32;
 | 
						|
    pollerAbortedTheConnCount: Tnuint32;
 | 
						|
    maybeHadOutOfOrderWritesCount: Tnuint32;
 | 
						|
    hadAnOutOfOrderWriteCount: Tnuint32;
 | 
						|
    movedTheACKBitDownCount: Tnuint32;
 | 
						|
    bumpedOutOfOrderWriteCount: Tnuint32;
 | 
						|
    pollerRemovedOldOutOfOrderCount: Tnuint32;
 | 
						|
    writeDidntNeedButRequestACKCnt: Tnuint32;
 | 
						|
    writeTrashedPacketCount: Tnuint32;
 | 
						|
    tooManyACKFragmentsCount: Tnuint32;
 | 
						|
    savedAnOutOfOrderPacketCount: Tnuint32;
 | 
						|
    connBeingAbortedCount: Tnuint32;
 | 
						|
  end;
 | 
						|
 | 
						|
  PNWFSE_PACKET_BURST_INFO = ^TNWFSE_PACKET_BURST_INFO;
 | 
						|
  TNWFSE_PACKET_BURST_INFO = record
 | 
						|
    serverTimeAndVConsoleInfo: TSERVER_AND_VCONSOLE_INFO;
 | 
						|
    reserved: Tnuint16;
 | 
						|
    packetBurstInfo: TPACKET_BURST_INFO;
 | 
						|
  end;
 | 
						|
    { IPX SPX Information  }
 | 
						|
 | 
						|
  PIPX_INFO = ^TIPX_INFO;
 | 
						|
  TIPX_INFO = record
 | 
						|
    IPXSendPacketCount: Tnuint32;
 | 
						|
    IPXMalformPacketCount: Tnuint16;
 | 
						|
    IPXGetECBRequestCount: Tnuint32;
 | 
						|
    IPXGetECBFailCount: Tnuint32;
 | 
						|
    IPXAESEventCount: Tnuint32;
 | 
						|
    IPXPostponedAESCount: Tnuint16;
 | 
						|
    IPXMaxConfiguredSocketCount: Tnuint16;
 | 
						|
    IPXMaxOpenSocketCount: Tnuint16;
 | 
						|
    IPXOpenSocketFailCount: Tnuint16;
 | 
						|
    IPXListenECBCount: Tnuint32;
 | 
						|
    IPXECBCancelFailCount: Tnuint16;
 | 
						|
    IPXGetLocalTargetFailCount: Tnuint16;
 | 
						|
  end;
 | 
						|
 | 
						|
  PSPX_INFO = ^TSPX_INFO;
 | 
						|
  TSPX_INFO = record
 | 
						|
    SPXMaxConnsCount: Tnuint16;
 | 
						|
    SPXMaxUsedConns: Tnuint16;
 | 
						|
    SPXEstConnReq: Tnuint16;
 | 
						|
    SPXEstConnFail: Tnuint16;
 | 
						|
    SPXListenConnectReq: Tnuint16;
 | 
						|
    SPXListenConnectFail: Tnuint16;
 | 
						|
    SPXSendCount: Tnuint32;
 | 
						|
    SPXWindowChokeCount: Tnuint32;
 | 
						|
    SPXBadSendCount: Tnuint16;
 | 
						|
    SPXSendFailCount: Tnuint16;
 | 
						|
    SPXAbortedConn: Tnuint16;
 | 
						|
    SPXListenPacketCount: Tnuint32;
 | 
						|
    SPXBadListenCount: Tnuint16;
 | 
						|
    SPXIncomingPacketCount: Tnuint32;
 | 
						|
    SPXBadInPacketCount: Tnuint16;
 | 
						|
    SPXSuppressedPackCount: Tnuint16;
 | 
						|
    SPXNoSesListenECBCount: Tnuint16;
 | 
						|
    SPXWatchDogDestSesCount: Tnuint16;
 | 
						|
  end;
 | 
						|
 | 
						|
  PNWFSE_IPXSPX_INFO = ^TNWFSE_IPXSPX_INFO;
 | 
						|
  TNWFSE_IPXSPX_INFO = record
 | 
						|
    serverTimeAndVConsoleInfo: TSERVER_AND_VCONSOLE_INFO;
 | 
						|
    reserved: Tnuint16;
 | 
						|
    IPXInfo: TIPX_INFO;
 | 
						|
    SPXInfo: TSPX_INFO;
 | 
						|
  end;
 | 
						|
    { Garbage Collection Information  }
 | 
						|
 | 
						|
  PNWFSE_GARBAGE_COLLECTION_INFO = ^TNWFSE_GARBAGE_COLLECTION_INFO;
 | 
						|
  TNWFSE_GARBAGE_COLLECTION_INFO = record
 | 
						|
    serverTimeAndVConsoleInfo: TSERVER_AND_VCONSOLE_INFO;
 | 
						|
    reserved: Tnuint16;
 | 
						|
    failedAllocRequestCount: Tnuint32;
 | 
						|
    numOfAllocs: Tnuint32;
 | 
						|
    noMoreMemAvailableCount: Tnuint32;
 | 
						|
    numOfGarbageCollections: Tnuint32;
 | 
						|
    garbageFoundSomeMem: Tnuint32;
 | 
						|
    garbageNumOfChecks: Tnuint32;
 | 
						|
  end;
 | 
						|
    { CPU Information  }
 | 
						|
 | 
						|
const
 | 
						|
  FSE_CPU_STR_MAX = 16;
 | 
						|
  FSE_COPROCESSOR_STR_MAX = 48;
 | 
						|
  FSE_BUS_STR_MAX = 32;
 | 
						|
type
 | 
						|
 | 
						|
  PCPU_INFO = ^TCPU_INFO;
 | 
						|
  TCPU_INFO = record
 | 
						|
    pageTableOwnerFlag: Tnuint32;
 | 
						|
    CPUTypeFlag: Tnuint32;
 | 
						|
    coProcessorFlag: Tnuint32;
 | 
						|
    busTypeFlag: Tnuint32;
 | 
						|
    IOEngineFlag: Tnuint32;
 | 
						|
    FSEngineFlag: Tnuint32;
 | 
						|
    nonDedicatedFlag: Tnuint32;
 | 
						|
  end;
 | 
						|
 | 
						|
  PNWFSE_CPU_INFO = ^TNWFSE_CPU_INFO;
 | 
						|
  TNWFSE_CPU_INFO = record
 | 
						|
    serverTimeAndVConsoleInfo: TSERVER_AND_VCONSOLE_INFO;
 | 
						|
    reserved: Tnuint16;
 | 
						|
    numOfCPUs: Tnuint32;
 | 
						|
    CPUInfo: TCPU_INFO;
 | 
						|
  end;
 | 
						|
    { Volume Switch Information  }
 | 
						|
    { cardinal  mapPathToDirectoryNumberOrPhantom;  }
 | 
						|
    { cardinal  stationHasAccessRightsGrantedBelow;  }
 | 
						|
    { cardinal  getDataStreamLengthsFromPathStringBase;  }
 | 
						|
 | 
						|
  PVOLUME_SWITCH_INFO = ^TVOLUME_SWITCH_INFO;
 | 
						|
  TVOLUME_SWITCH_INFO = record
 | 
						|
    readFile: Tnuint32;
 | 
						|
    writeFile: Tnuint32;
 | 
						|
    deleteFile: Tnuint32;
 | 
						|
    renMove: Tnuint32;
 | 
						|
    openFile: Tnuint32;
 | 
						|
    createFile: Tnuint32;
 | 
						|
    createAndOpenFile: Tnuint32;
 | 
						|
    closeFile: Tnuint32;
 | 
						|
    scanDeleteFile: Tnuint32;
 | 
						|
    salvageFile: Tnuint32;
 | 
						|
    purgeFile: Tnuint32;
 | 
						|
    migrateFile: Tnuint32;
 | 
						|
    deMigrateFile: Tnuint32;
 | 
						|
    createDir: Tnuint32;
 | 
						|
    deleteDir: Tnuint32;
 | 
						|
    directoryScans: Tnuint32;
 | 
						|
    mapPathToDirNum: Tnuint32;
 | 
						|
    modifyDirEntry: Tnuint32;
 | 
						|
    getAccessRights: Tnuint32;
 | 
						|
    getAccessRightsFromIDs: Tnuint32;
 | 
						|
    mapDirNumToPath: Tnuint32;
 | 
						|
    getEntryFromPathStrBase: Tnuint32;
 | 
						|
    getOtherNSEntry: Tnuint32;
 | 
						|
    getExtDirInfo: Tnuint32;
 | 
						|
    getParentDirNum: Tnuint32;
 | 
						|
    addTrusteeR: Tnuint32;
 | 
						|
    scanTrusteeR: Tnuint32;
 | 
						|
    delTrusteeR: Tnuint32;
 | 
						|
    purgeTrust: Tnuint32;
 | 
						|
    findNextTrustRef: Tnuint32;
 | 
						|
    scanUserRestNodes: Tnuint32;
 | 
						|
    addUserRest: Tnuint32;
 | 
						|
    deleteUserRest: Tnuint32;
 | 
						|
    rtnDirSpaceRest: Tnuint32;
 | 
						|
    getActualAvailDskSp: Tnuint32;
 | 
						|
    cntOwnedFilesAndDirs: Tnuint32;
 | 
						|
    migFileInfo: Tnuint32;
 | 
						|
    volMigInfo: Tnuint32;
 | 
						|
    readMigFileData: Tnuint32;
 | 
						|
    getVolUsageStats: Tnuint32;
 | 
						|
    getActualVolUsageStats: Tnuint32;
 | 
						|
    getDirUsageStats: Tnuint32;
 | 
						|
    NMFileReadsCount: Tnuint32;
 | 
						|
    NMFileWritesCount: Tnuint32;
 | 
						|
    mapPathToDirNumOrPhantom: Tnuint32;
 | 
						|
    stationHasAccessRgtsGntedBelow: Tnuint32;
 | 
						|
    gtDataStreamLensFromPathStrBase: Tnuint32;
 | 
						|
    checkAndGetDirectoryEntry: Tnuint32;
 | 
						|
    getDeletedEntry: Tnuint32;
 | 
						|
    getOriginalNameSpace: Tnuint32;
 | 
						|
    getActualFileSize: Tnuint32;
 | 
						|
    verifyNameSpaceNumber: Tnuint32;
 | 
						|
    verifyDataStreamNumber: Tnuint32;
 | 
						|
    checkVolumeNumber: Tnuint32;
 | 
						|
    commitFile: Tnuint32;
 | 
						|
    VMGetDirectoryEntry: Tnuint32;
 | 
						|
    createDMFileEntry: Tnuint32;
 | 
						|
    renameNameSpaceEntry: Tnuint32;
 | 
						|
    logFile: Tnuint32;
 | 
						|
    releaseFile: Tnuint32;
 | 
						|
    clearFile: Tnuint32;
 | 
						|
    setVolumeFlag: Tnuint32;
 | 
						|
    clearVolumeFlag: Tnuint32;
 | 
						|
    getOriginalInfo: Tnuint32;
 | 
						|
    createMigratedDir: Tnuint32;
 | 
						|
    F3OpenCreate: Tnuint32;
 | 
						|
    F3InitFileSearch: Tnuint32;
 | 
						|
    F3ContinueFileSearch: Tnuint32;
 | 
						|
    F3RenameFile: Tnuint32;
 | 
						|
    F3ScanForTrustees: Tnuint32;
 | 
						|
    F3ObtainFileInfo: Tnuint32;
 | 
						|
    F3ModifyInfo: Tnuint32;
 | 
						|
    F3EraseFile: Tnuint32;
 | 
						|
    F3SetDirHandle: Tnuint32;
 | 
						|
    F3AddTrustees: Tnuint32;
 | 
						|
    F3DeleteTrustees: Tnuint32;
 | 
						|
    F3AllocDirHandle: Tnuint32;
 | 
						|
    F3ScanSalvagedFiles: Tnuint32;
 | 
						|
    F3RecoverSalvagedFiles: Tnuint32;
 | 
						|
    F3PurgeSalvageableFile: Tnuint32;
 | 
						|
    F3GetNSSpecificInfo: Tnuint32;
 | 
						|
    F3ModifyNSSpecificInfo: Tnuint32;
 | 
						|
    F3SearchSet: Tnuint32;
 | 
						|
    F3GetDirBase: Tnuint32;
 | 
						|
    F3QueryNameSpaceInfo: Tnuint32;
 | 
						|
    F3GetNameSpaceList: Tnuint32;
 | 
						|
    F3GetHugeInfo: Tnuint32;
 | 
						|
    F3SetHugeInfo: Tnuint32;
 | 
						|
    F3GetFullPathString: Tnuint32;
 | 
						|
    F3GetEffectiveDirectoryRights: Tnuint32;
 | 
						|
  end;
 | 
						|
    { 512 / sizeof(cardinal)  }
 | 
						|
    { VOLUME_SWITCH_INFO volumeSwitchInfo;  }{ Cant return all counters  }
 | 
						|
 | 
						|
  PNWFSE_VOLUME_SWITCH_INFO = ^TNWFSE_VOLUME_SWITCH_INFO;
 | 
						|
  TNWFSE_VOLUME_SWITCH_INFO = record
 | 
						|
    serverTimeAndVConsoleInfo: TSERVER_AND_VCONSOLE_INFO;
 | 
						|
    reserved: Tnuint16;
 | 
						|
    totalLFSCounters: Tnuint32;
 | 
						|
    CurrentLFSCounters: Tnuint32;
 | 
						|
    LFSCounters: array[0..127] of Tnuint32;
 | 
						|
  end;
 | 
						|
    { Get NLM Loaded List  }
 | 
						|
 | 
						|
const
 | 
						|
  FSE_NLM_NUMS_RETURNED_MAX = 128;
 | 
						|
  FSE_NLM_NUMS_MAX = 130;
 | 
						|
type
 | 
						|
 | 
						|
  PNWFSE_NLM_LOADED_LIST = ^TNWFSE_NLM_LOADED_LIST;
 | 
						|
  TNWFSE_NLM_LOADED_LIST = record
 | 
						|
    serverTimeAndVConsoleInfo: TSERVER_AND_VCONSOLE_INFO;
 | 
						|
    reserved: Tnuint16;
 | 
						|
    numberNLMsLoaded: Tnuint32;
 | 
						|
    NLMsInList: Tnuint32;
 | 
						|
    NLMNums: array[0..(FSE_NLM_NUMS_RETURNED_MAX) - 1] of Tnuint32;
 | 
						|
  end;
 | 
						|
 | 
						|
  PNWFSE_NLM_LOADED_LIST_LG = ^TNWFSE_NLM_LOADED_LIST_LG;
 | 
						|
  TNWFSE_NLM_LOADED_LIST_LG = record
 | 
						|
    serverTimeAndVConsoleInfo: TSERVER_AND_VCONSOLE_INFO;
 | 
						|
    reserved: Tnuint16;
 | 
						|
    numberNLMsLoaded: Tnuint32;
 | 
						|
    NLMsInList: Tnuint32;
 | 
						|
    NLMNums: array[0..(FSE_NLM_NUMS_MAX) - 1] of Tnuint32;
 | 
						|
  end;
 | 
						|
    { NLM Information  }
 | 
						|
    { 1 is added for the NULL  }
 | 
						|
 | 
						|
const
 | 
						|
  FSE_NLM_FILENAME_LEN_MAX = 37;
 | 
						|
  FSE_NLM_NAMELEN_MAX = 129;
 | 
						|
  FSE_NLM_COPYRIGHTLEN_MAX = 256;
 | 
						|
type
 | 
						|
 | 
						|
  PNLM_INFO = ^TNLM_INFO;
 | 
						|
  TNLM_INFO = record
 | 
						|
    identificationNum: Tnuint32;
 | 
						|
    flags: Tnuint32;
 | 
						|
    _type: Tnuint32;
 | 
						|
    parentID: Tnuint32;
 | 
						|
    majorVersion: Tnuint32;
 | 
						|
    minorVersion: Tnuint32;
 | 
						|
    revision: Tnuint32;
 | 
						|
    year: Tnuint32;
 | 
						|
    month: Tnuint32;
 | 
						|
    day: Tnuint32;
 | 
						|
    allocAvailableBytes: Tnuint32;
 | 
						|
    allocFreeCount: Tnuint32;
 | 
						|
    lastGarbageCollection: Tnuint32;
 | 
						|
    messageLanguage: Tnuint32;
 | 
						|
    numOfReferencedPublics: Tnuint32;
 | 
						|
  end;
 | 
						|
 | 
						|
  PNWFSE_NLM_INFO = ^TNWFSE_NLM_INFO;
 | 
						|
  TNWFSE_NLM_INFO = record
 | 
						|
    serverTimeAndVConsoleInfo: TSERVER_AND_VCONSOLE_INFO;
 | 
						|
    reserved: Tnuint16;
 | 
						|
    NLMInfo: TNLM_INFO;
 | 
						|
  end;
 | 
						|
    { Get Directory Cache Information  }
 | 
						|
 | 
						|
  PDIR_CACHE_INFO = ^TDIR_CACHE_INFO;
 | 
						|
  TDIR_CACHE_INFO = record
 | 
						|
    minTimeSinceFileDelete: Tnuint32;
 | 
						|
    absMinTimeSinceFileDelete: Tnuint32;
 | 
						|
    minNumOfDirCacheBuffers: Tnuint32;
 | 
						|
    maxNumOfDirCacheBuffers: Tnuint32;
 | 
						|
    numOfDirCacheBuffers: Tnuint32;
 | 
						|
    dCMinNonReferencedTime: Tnuint32;
 | 
						|
    dCWaitTimeBeforeNewBuffer: Tnuint32;
 | 
						|
    dCMaxConcurrentWrites: Tnuint32;
 | 
						|
    dCDirtyWaitTime: Tnuint32;
 | 
						|
    dCDoubleReadFlag: Tnuint32;
 | 
						|
    mapHashNodeCount: Tnuint32;
 | 
						|
    spaceRestrictionNodeCount: Tnuint32;
 | 
						|
    trusteeListNodeCount: Tnuint32;
 | 
						|
    percentOfVolumeUsedByDirs: Tnuint32;
 | 
						|
  end;
 | 
						|
 | 
						|
  PNWFSE_DIR_CACHE_INFO = ^TNWFSE_DIR_CACHE_INFO;
 | 
						|
  TNWFSE_DIR_CACHE_INFO = record
 | 
						|
    serverTimeAndVConsoleInfo: TSERVER_AND_VCONSOLE_INFO;
 | 
						|
    reserved: Tnuint16;
 | 
						|
    dirCacheInfo: TDIR_CACHE_INFO;
 | 
						|
  end;
 | 
						|
    { Get Operating System Version Information  }
 | 
						|
 | 
						|
  PNWFSE_OS_VERSION_INFO = ^TNWFSE_OS_VERSION_INFO;
 | 
						|
  TNWFSE_OS_VERSION_INFO = record
 | 
						|
    serverTimeAndVConsoleInfo: TSERVER_AND_VCONSOLE_INFO;
 | 
						|
    reserved: Tnuint16;
 | 
						|
    OSMajorVersion: Tnuint8;
 | 
						|
    OSMinorVersion: Tnuint8;
 | 
						|
    OSRevisionNum: Tnuint8;
 | 
						|
    accountingVersion: Tnuint8;
 | 
						|
    VAPVersion: Tnuint8;
 | 
						|
    queueingVersion: Tnuint8;
 | 
						|
    securityRestrictionsLevel: Tnuint8;
 | 
						|
    bridgingSupport: Tnuint8;
 | 
						|
    maxNumOfVolumes: Tnuint32;
 | 
						|
    numOfConnSlots: Tnuint32;
 | 
						|
    maxLoggedInConns: Tnuint32;
 | 
						|
    maxNumOfNameSpaces: Tnuint32;
 | 
						|
    maxNumOfLans: Tnuint32;
 | 
						|
    maxNumOfMediaTypes: Tnuint32;
 | 
						|
    maxNumOfProtocols: Tnuint32;
 | 
						|
    maxMaxSubdirTreeDepth: Tnuint32;
 | 
						|
    maxNumOfDataStreams: Tnuint32;
 | 
						|
    maxNumOfSpoolPrinters: Tnuint32;
 | 
						|
    serialNum: Tnuint32;
 | 
						|
    applicationNum: Tnuint16;
 | 
						|
  end;
 | 
						|
    { Get Active Connection List by Type  }
 | 
						|
    { Connection service type  }
 | 
						|
    { NOTE: type 1 is reserved by CLIB for backward compatability  }
 | 
						|
 | 
						|
const
 | 
						|
  FSE_NCP_CONNECTION_TYPE = 2;
 | 
						|
  FSE_NLM_CONNECTION_TYPE = 3;
 | 
						|
  FSE_AFP_CONNECTION_TYPE = 4;
 | 
						|
  FSE_FTAM_CONNECTION_TYPE = 5;
 | 
						|
  FSE_ANCP_CONNECTION_TYPE = 6;
 | 
						|
  FSE_ACP_CONNECTION_TYPE = 7;
 | 
						|
  FSE_SMB_CONNECTION_TYPE = 8;
 | 
						|
  FSE_WINSOCK_CONNECTION_TYPE = 9;
 | 
						|
  FSE_HTTP_CONNECTION_TYPE = 10;
 | 
						|
  FSE_UDP_CONNECTION_TYPE = 11;
 | 
						|
type
 | 
						|
 | 
						|
  PNWFSE_ACTIVE_CONN_LIST = ^TNWFSE_ACTIVE_CONN_LIST;
 | 
						|
  TNWFSE_ACTIVE_CONN_LIST = record
 | 
						|
    serverTimeAndVConsoleInfo: TSERVER_AND_VCONSOLE_INFO;
 | 
						|
    reserved: Tnuint16;
 | 
						|
    activeConnBitList: array[0..511] of Tnuint8;
 | 
						|
  end;
 | 
						|
    { Get NLM's Resource Tag List  }
 | 
						|
    { This packed structure consisting of:
 | 
						|
       **
 | 
						|
       ** cardinal number,
 | 
						|
       ** cardinal signature,
 | 
						|
       ** cardinal count,
 | 
						|
       ** byte name[]  }
 | 
						|
 | 
						|
  PNWFSE_NLMS_RESOURCE_TAG_LIST = ^TNWFSE_NLMS_RESOURCE_TAG_LIST;
 | 
						|
  TNWFSE_NLMS_RESOURCE_TAG_LIST = record
 | 
						|
    serverTimeAndVConsoleInfo: TSERVER_AND_VCONSOLE_INFO;
 | 
						|
    reserved: Tnuint16;
 | 
						|
    totalNumOfResourceTags: Tnuint32;
 | 
						|
    packetResourceTags: Tnuint32;
 | 
						|
    resourceTagBuf: array[0..511] of Tnuint8;
 | 
						|
  end;
 | 
						|
    { Active LAN Board List --- 20  }
 | 
						|
 | 
						|
const
 | 
						|
  FSE_MAX_NUM_OF_LANS = 64;
 | 
						|
type
 | 
						|
 | 
						|
  PNWFSE_ACTIVE_LAN_BOARD_LIST = ^TNWFSE_ACTIVE_LAN_BOARD_LIST;
 | 
						|
  TNWFSE_ACTIVE_LAN_BOARD_LIST = record
 | 
						|
    serverTimeAndVConsoleInfo: TSERVER_AND_VCONSOLE_INFO;
 | 
						|
    reserved: Tnuint16;
 | 
						|
    MaxNumOfLANs: Tnuint32;
 | 
						|
    LANLoadedCount: Tnuint32;
 | 
						|
    boardNums: array[0..(FSE_MAX_NUM_OF_LANS) - 1] of Tnuint32;
 | 
						|
  end;
 | 
						|
    { LAN Configuration Information  }
 | 
						|
 | 
						|
  PLAN_CONFIG_INFO = ^TLAN_CONFIG_INFO;
 | 
						|
  TLAN_CONFIG_INFO = record
 | 
						|
    DriverCFG_MajorVersion: Tnuint8;
 | 
						|
    DriverCFG_MinorVersion: Tnuint8;
 | 
						|
    DriverNodeAddress: array[0..5] of Tnuint8;
 | 
						|
    DriverModeFlags: Tnuint16;
 | 
						|
    DriverBoardNum: Tnuint16;
 | 
						|
    DriverBoardInstance: Tnuint16;
 | 
						|
    DriverMaxSize: Tnuint32;
 | 
						|
    DriverMaxRecvSize: Tnuint32;
 | 
						|
    DriverRecvSize: Tnuint32;
 | 
						|
    Reserved1: array[0..2] of Tnuint32;
 | 
						|
    DriverCardID: Tnuint16;
 | 
						|
    DriverMediaID: Tnuint16;
 | 
						|
    DriverTransportTime: Tnuint16;
 | 
						|
    DriverReserved: array[0..15] of Tnuint8;
 | 
						|
    DriverMajorVersion: Tnuint8;
 | 
						|
    DriverMinorVersion: Tnuint8;
 | 
						|
    DriverFlags: Tnuint16;
 | 
						|
    DriverSendRetries: Tnuint16;
 | 
						|
    DriverLink: Tnuint32;
 | 
						|
    DriverSharingFlags: Tnuint16;
 | 
						|
    DriverSlot: Tnuint16;
 | 
						|
    DriverIOPortsAndLengths: array[0..3] of Tnuint16;
 | 
						|
    DriverMemDecode0: Tnuint32;
 | 
						|
    DriverLength0: Tnuint16;
 | 
						|
    DriverMemDecode1: Tnuint32;
 | 
						|
    DriverLength1: Tnuint16;
 | 
						|
    DriverInterrupt: array[0..1] of Tnuint8;
 | 
						|
    DriverDMAUsage: array[0..1] of Tnuint8;
 | 
						|
    Reserved2: array[0..2] of Tnuint32;
 | 
						|
    DriverLogicalName: array[0..17] of Tnuint8;
 | 
						|
    DriverLinearMem: array[0..1] of Tnuint32;
 | 
						|
    DriverChannelNum: Tnuint16;
 | 
						|
    DriverIOReserved: array[0..5] of Tnuint8;
 | 
						|
  end;
 | 
						|
 | 
						|
  PNWFSE_LAN_CONFIG_INFO = ^TNWFSE_LAN_CONFIG_INFO;
 | 
						|
  TNWFSE_LAN_CONFIG_INFO = record
 | 
						|
    serverTimeAndVConsoleInfo: TSERVER_AND_VCONSOLE_INFO;
 | 
						|
    reserved: Tnuint16;
 | 
						|
    LANConfigInfo: TLAN_CONFIG_INFO;
 | 
						|
  end;
 | 
						|
    { LAN Common Counters Information  }
 | 
						|
 | 
						|
  PLAN_COMMON_INFO = ^TLAN_COMMON_INFO;
 | 
						|
  TLAN_COMMON_INFO = record
 | 
						|
    notSupportedMask: Tnuint32;
 | 
						|
    totalTxPacketCount: Tnuint32;
 | 
						|
    totalRxPacketCount: Tnuint32;
 | 
						|
    noECBAvailableCount: Tnuint32;
 | 
						|
    packetTxTooBigCount: Tnuint32;
 | 
						|
    packetTxTooSmallCount: Tnuint32;
 | 
						|
    packetRxOverflowCount: Tnuint32;
 | 
						|
    packetRxTooBigCount: Tnuint32;
 | 
						|
    packetRxTooSmallCount: Tnuint32;
 | 
						|
    packetTxMiscErrorCount: Tnuint32;
 | 
						|
    packetRxMiscErrorCount: Tnuint32;
 | 
						|
    retryTxCount: Tnuint32;
 | 
						|
    checksumErrorCount: Tnuint32;
 | 
						|
    hardwareRxMismatchCount: Tnuint32;
 | 
						|
    reserved: array[0..49] of Tnuint32;
 | 
						|
  end;
 | 
						|
 | 
						|
  PNWFSE_LAN_COMMON_COUNTERS_INFO = ^TNWFSE_LAN_COMMON_COUNTERS_INFO;
 | 
						|
  TNWFSE_LAN_COMMON_COUNTERS_INFO = record
 | 
						|
    serverTimeAndVConsoleInfo: TSERVER_AND_VCONSOLE_INFO;
 | 
						|
    statisticsMajorVersion: Tnuint8;
 | 
						|
    statisticsMinorVersion: Tnuint8;
 | 
						|
    numberOfGenericCounters: Tnuint32;
 | 
						|
    numberOfCounterBlocks: Tnuint32;
 | 
						|
    customVariableCount: Tnuint32;
 | 
						|
    NextCounterBlock: Tnuint32;
 | 
						|
    LANCommonInfo: TLAN_COMMON_INFO;
 | 
						|
  end;
 | 
						|
    { LAN Custom Counters Information  }
 | 
						|
    { (Tnint32, byte[])[] - byte[] is a length preceded
 | 
						|
                                  ** non-null terminated string.  }
 | 
						|
 | 
						|
  PNWFSE_LAN_CUSTOM_INFO = ^TNWFSE_LAN_CUSTOM_INFO;
 | 
						|
  TNWFSE_LAN_CUSTOM_INFO = record
 | 
						|
    serverTimeAndVConsoleInfo: TSERVER_AND_VCONSOLE_INFO;
 | 
						|
    reserved: Tnuint16;
 | 
						|
    numCustomVar: Tnuint32;
 | 
						|
    customInfo: array[0..511] of Tnuint8;
 | 
						|
  end;
 | 
						|
    { LSL Information  }
 | 
						|
 | 
						|
  PLSL_INFO = ^TLSL_INFO;
 | 
						|
  TLSL_INFO = record
 | 
						|
    rxBufs: Tnuint32;
 | 
						|
    rxBufs75PerCent: Tnuint32;
 | 
						|
    rxBufsCheckedOut: Tnuint32;
 | 
						|
    rxBufMaxSize: Tnuint32;
 | 
						|
    maxPhysicalSize: Tnuint32;
 | 
						|
    lastTimeRxBufAllocated: Tnuint32;
 | 
						|
    maxNumsOfProtocols: Tnuint32;
 | 
						|
    maxNumsOfMediaTypes: Tnuint32;
 | 
						|
    totalTXPackets: Tnuint32;
 | 
						|
    getECBBfrs: Tnuint32;
 | 
						|
    getECBFails: Tnuint32;
 | 
						|
    AESEventCounts: Tnuint32;
 | 
						|
    postponedEvents: Tnuint32;
 | 
						|
    ECBCxlFails: Tnuint32;
 | 
						|
    validBfrsReused: Tnuint32;
 | 
						|
    enqueuedSendCount: Tnuint32;
 | 
						|
    totalRXPackets: Tnuint32;
 | 
						|
    unclaimedPackets: Tnuint32;
 | 
						|
    StatisticsTableMajorVersion: Tnuint8;
 | 
						|
    StatisticsTableMinorVersion: Tnuint8;
 | 
						|
  end;
 | 
						|
 | 
						|
  PNWFSE_LSL_INFO = ^TNWFSE_LSL_INFO;
 | 
						|
  TNWFSE_LSL_INFO = record
 | 
						|
    serverTimeAndVConsoleInfo: TSERVER_AND_VCONSOLE_INFO;
 | 
						|
    reserved: Tnuint16;
 | 
						|
    LSLInfo: TLSL_INFO;
 | 
						|
  end;
 | 
						|
    { LSL Logical Board Statistics  }
 | 
						|
 | 
						|
  PNWFSE_LSL_LOGICAL_BOARD_STATS = ^TNWFSE_LSL_LOGICAL_BOARD_STATS;
 | 
						|
  TNWFSE_LSL_LOGICAL_BOARD_STATS = record
 | 
						|
    serverTimeAndVConsoleInfo: TSERVER_AND_VCONSOLE_INFO;
 | 
						|
    reserved0: Tnuint16;
 | 
						|
    LogTtlTxPackets: Tnuint32;
 | 
						|
    LogTtlRxPackets: Tnuint32;
 | 
						|
    LogUnclaimedPackets: Tnuint32;
 | 
						|
    reserved1: Tnuint32;
 | 
						|
  end;
 | 
						|
    { objtype  }
 | 
						|
 | 
						|
const
 | 
						|
  FSE_ADAPTER_OBJECT = 0;
 | 
						|
  FSE_CHANGER_OBJECT = 1;
 | 
						|
  FSE_DEVICE_OBJECT = 2;
 | 
						|
  FSE_MEDIA_OBJECT = 4;
 | 
						|
  FSE_PARTITION_OBJECT = 5;
 | 
						|
  FSE_SLOT_OBJECT = 6;
 | 
						|
  FSE_HOTFIX_OBJECT = 7;
 | 
						|
  FSE_MIRROR_OBJECT = 8;
 | 
						|
  FSE_PARITY_OBJECT = 9;
 | 
						|
  FSE_VOLUME_SEG_OBJECT = 10;
 | 
						|
  FSE_VOLUME_OBJECT = 11;
 | 
						|
  FSE_CLONE_OBJECT = 12;
 | 
						|
  FSE_MAGAZINE_OBJECT = 14;
 | 
						|
  FSE_VIRTUAL_DEVICE_OBJECT = 15;
 | 
						|
  FSE_MAX_OBJECTS = 128;
 | 
						|
  FSE_UNKNOWN_OBJECT = $FFFF;
 | 
						|
  FSE_UNKNOWN_OBJECT_TYPE = $FFFF;
 | 
						|
    { mediatype  }
 | 
						|
  FSE_HARD_DISK = 0;
 | 
						|
  FSE_CDROM_DISK = 1;
 | 
						|
  FSE_WORM_DISK = 2;
 | 
						|
  FSE_TAPE_DEVICE = 3;
 | 
						|
  FSE_MAGNETO_OPTICAL = 4;
 | 
						|
    { cartridgetype  }
 | 
						|
  FSE_FIXED_MEDIA = $00000000;
 | 
						|
  FSE_FLOPPY_5_25 = $00000001;
 | 
						|
  FSE_FLOPPY_3_5 = $00000002;
 | 
						|
  FSE_OPTICAL_5_25 = $00000003;
 | 
						|
  FSE_OPTICAL_3_5 = $00000004;
 | 
						|
  FSE_TAPE_0_5 = $00000005;
 | 
						|
  FSE_TAPE_0_25 = $00000006;
 | 
						|
  FSE_TAPE_8_MM = $00000007;
 | 
						|
  FSE_TAPE_4_MM = $00000008;
 | 
						|
  FSE_BERNOULLI_DISK = $00000009;
 | 
						|
    { type  }
 | 
						|
    { same as defined below for object types  }
 | 
						|
    { status bits  }
 | 
						|
  FSE_OBJECT_ACTIVATED = $00000001;
 | 
						|
  FSE_OBJECT_CREATED = $00000002;
 | 
						|
  FSE_OBJECT_SCRAMBLED = $00000004;
 | 
						|
  FSE_OBJECT_RESERVED = $00000010;
 | 
						|
  FSE_OBJECT_BEING_IDENTIFIED = $00000020;
 | 
						|
  FSE_OBJECT_MAGAZINE_LOADED = $00000040;
 | 
						|
  FSE_OBJECT_FAILURE = $00000080;
 | 
						|
  FSE_OBJECT_REMOVABLE = $00000100;
 | 
						|
  FSE_OBJECT_READ_ONLY = $00000200;
 | 
						|
  FSE_OBJECT_IN_DEVICE = $00010000;
 | 
						|
  FSE_OBJECT_ACCEPTS_MAGAZINES = $00020000;
 | 
						|
  FSE_OBJECT_IS_IN_A_CHANGER = $00040000;
 | 
						|
  FSE_OBJECT_LOADABLE = $00080000;
 | 
						|
  FSE_OBJECT_BEING_LOADED = $00080000;
 | 
						|
  FSE_OBJECT_DEVICE_LOCK = $01000000;
 | 
						|
  FSE_OBJECT_CHANGER_LOCK = $02000000;
 | 
						|
  FSE_OBJECT_REMIRRORING = $04000000;
 | 
						|
  FSE_OBJECT_SELECTED = $08000000;
 | 
						|
    { functionmask  }
 | 
						|
  FSE_RANDOM_READ = $0001;
 | 
						|
  FSE_RANDOM_WRITE = $0002;
 | 
						|
  FSE_RANDOM_WRITE_ONCE = $0004;
 | 
						|
  FSE_SEQUENTIAL_READ = $0008;
 | 
						|
  FSE_SEQUENTIAL_WRITE = $0010;
 | 
						|
  FSE_RESET_END_OF_TAPE = $0020;
 | 
						|
  FSE_SINGLE_FILE_MARK = $0040;
 | 
						|
  FSE_MULTIPLE_FILE_MARK = $0080;
 | 
						|
  FSE_SINGLE_SET_MARK = $0100;
 | 
						|
  FSE_MULTIPLE_SET_MARK = $0200;
 | 
						|
  FSE_SPACE_DATA_BLOCKS = $0400;
 | 
						|
  FSE_LOCATE_DATA_BLOCKS = $0800;
 | 
						|
  FSE_POSITION_PARTITION = $1000;
 | 
						|
  FSE_POSITION_MEDIA = $2000;
 | 
						|
    { controlmask  }
 | 
						|
  FSE_ACTIVATE_DEACTIVE = $0001;
 | 
						|
  FSE_MOUNT_DISMOUNT = $0002;
 | 
						|
  FSE_SELECT_UNSELECT = $0004;
 | 
						|
  FSE_LOCK_UNLOCK = $0008;
 | 
						|
  FSE_EJECT = $0010;
 | 
						|
  FSE_MOVE = $0020;
 | 
						|
type
 | 
						|
 | 
						|
  PMEDIA_INFO_DEF = ^TMEDIA_INFO_DEF;
 | 
						|
  TMEDIA_INFO_DEF = record
 | 
						|
    _label: array[0..63] of Tnuint8;
 | 
						|
    identificationType: Tnuint32;
 | 
						|
    identificationTimeStamp: Tnuint32;
 | 
						|
  end;
 | 
						|
 | 
						|
  PFSE_MM_OBJ_INFO = ^TFSE_MM_OBJ_INFO;
 | 
						|
  TFSE_MM_OBJ_INFO = record
 | 
						|
    MediaInfo: TMEDIA_INFO_DEF;
 | 
						|
    mediaType: Tnuint32;
 | 
						|
    cartridgeType: Tnuint32;
 | 
						|
    unitSize: Tnuint32;
 | 
						|
    blockSize: Tnuint32;
 | 
						|
    capacity: Tnuint32;
 | 
						|
    preferredUnitSize: Tnuint32;
 | 
						|
    name: array[0..63] of Tnuint8;
 | 
						|
    _type: Tnuint32;
 | 
						|
    status: Tnuint32;
 | 
						|
    functionMask: Tnuint32;
 | 
						|
    controlMask: Tnuint32;
 | 
						|
    parentCount: Tnuint32;
 | 
						|
    siblingCount: Tnuint32;
 | 
						|
    childCount: Tnuint32;
 | 
						|
    specificInfoSize: Tnuint32;
 | 
						|
    objectUniqueID: Tnuint32;
 | 
						|
    mediaSlot: Tnuint32;
 | 
						|
  end;
 | 
						|
 | 
						|
  PNWFSE_MEDIA_MGR_OBJ_INFO = ^TNWFSE_MEDIA_MGR_OBJ_INFO;
 | 
						|
  TNWFSE_MEDIA_MGR_OBJ_INFO = record
 | 
						|
    serverTimeAndVConsoleInfo: TSERVER_AND_VCONSOLE_INFO;
 | 
						|
    reserved: Tnuint16;
 | 
						|
    fseMMObjInfo: TFSE_MM_OBJ_INFO;
 | 
						|
  end;
 | 
						|
    { Get Media Manager Objects List
 | 
						|
       Get Media Manager Object Children's List   }
 | 
						|
 | 
						|
  PNWFSE_MEDIA_MGR_OBJ_LIST = ^TNWFSE_MEDIA_MGR_OBJ_LIST;
 | 
						|
  TNWFSE_MEDIA_MGR_OBJ_LIST = record
 | 
						|
    serverTimeAndVConsoleInfo: TSERVER_AND_VCONSOLE_INFO;
 | 
						|
    reserved: Tnuint16;
 | 
						|
    nextStartObjNum: Tnuint32;
 | 
						|
    objCount: Tnuint32;
 | 
						|
    objs: array[0..(FSE_MAX_OBJECTS) - 1] of Tnuint32;
 | 
						|
  end;
 | 
						|
    { Get Volume Segment List  }
 | 
						|
 | 
						|
const
 | 
						|
  FSE_MAX_NUM_SEGS_RETURNED = 43;
 | 
						|
type
 | 
						|
 | 
						|
  PVOLUME_SEGMENT = ^TVOLUME_SEGMENT;
 | 
						|
  TVOLUME_SEGMENT = record
 | 
						|
    volumeSegmentDeviceNum: Tnuint32;
 | 
						|
    volumeSegmentOffset: Tnuint32;
 | 
						|
    volumeSegmentSize: Tnuint32;
 | 
						|
  end;
 | 
						|
    { segment info follows  }
 | 
						|
    { VOLUME_SEGMENT structures are packed  }
 | 
						|
 | 
						|
  PNWFSE_VOLUME_SEGMENT_LIST = ^TNWFSE_VOLUME_SEGMENT_LIST;
 | 
						|
  TNWFSE_VOLUME_SEGMENT_LIST = record
 | 
						|
    serverTimeAndVConsoleInfo: TSERVER_AND_VCONSOLE_INFO;
 | 
						|
    reserved: Tnuint16;
 | 
						|
    numOfVolumeSegments: Tnuint32;
 | 
						|
    volumeSegment: array[0..41] of TVOLUME_SEGMENT;
 | 
						|
  end;
 | 
						|
    { Volume Information by Level  }
 | 
						|
 | 
						|
  PVOLUME_INFO_BY_LEVEL_DEF = ^TVOLUME_INFO_BY_LEVEL_DEF;
 | 
						|
  TVOLUME_INFO_BY_LEVEL_DEF = record
 | 
						|
    volumeType: Tnuint32;
 | 
						|
    statusFlagBits: Tnuint32;
 | 
						|
    sectorSize: Tnuint32;
 | 
						|
    sectorsPerCluster: Tnuint32;
 | 
						|
    volumeSizeInClusters: Tnuint32;
 | 
						|
    freedClusters: Tnuint32;
 | 
						|
    subAllocFreeableClusters: Tnuint32;
 | 
						|
    freeableLimboSectors: Tnuint32;
 | 
						|
    nonFreeableLimboSectors: Tnuint32;
 | 
						|
    nonFreeableAvailSubAllocSectors: Tnuint32;
 | 
						|
    notUsableSubAllocSectors: Tnuint32;
 | 
						|
    subAllocClusters: Tnuint32;
 | 
						|
    dataStreamsCount: Tnuint32;
 | 
						|
    limboDataStreamsCount: Tnuint32;
 | 
						|
    oldestDeletedFileAgeInTicks: Tnuint32;
 | 
						|
    compressedDataStreamsCount: Tnuint32;
 | 
						|
    compressedLimboDataStreamsCount: Tnuint32;
 | 
						|
    unCompressableDataStreamsCount: Tnuint32;
 | 
						|
    preCompressedSectors: Tnuint32;
 | 
						|
    compressedSectors: Tnuint32;
 | 
						|
    migratedFiles: Tnuint32;
 | 
						|
    migratedSectors: Tnuint32;
 | 
						|
    clustersUsedByFAT: Tnuint32;
 | 
						|
    clustersUsedByDirectories: Tnuint32;
 | 
						|
    clustersUsedByExtendedDirs: Tnuint32;
 | 
						|
    totalDirectoryEntries: Tnuint32;
 | 
						|
    unUsedDirectoryEntries: Tnuint32;
 | 
						|
    totalExtendedDirectoryExtants: Tnuint32;
 | 
						|
    unUsedExtendedDirectoryExtants: Tnuint32;
 | 
						|
    extendedAttributesDefined: Tnuint32;
 | 
						|
    extendedAttributeExtantsUsed: Tnuint32;
 | 
						|
    directoryServicesObjectID: Tnuint32;
 | 
						|
    volumeLastModifiedDateAndTime: Tnuint32;
 | 
						|
  end;
 | 
						|
 | 
						|
  PVOLUME_INFO_BY_LEVEL_DEF2 = ^TVOLUME_INFO_BY_LEVEL_DEF2;
 | 
						|
  TVOLUME_INFO_BY_LEVEL_DEF2 = record
 | 
						|
    volumeActiveCount: Tnuint32;
 | 
						|
    volumeUseCount: Tnuint32;
 | 
						|
    mACRootIDs: Tnuint32;
 | 
						|
    volumeLastModifiedDateAndTime: Tnuint32;
 | 
						|
    volumeReferenceCount: Tnuint32;
 | 
						|
    compressionLowerLimit: Tnuint32;
 | 
						|
    outstandingIOs: Tnuint32;
 | 
						|
    outstandingCompressionIOs: Tnuint32;
 | 
						|
    compressionIOsLimit: Tnuint32;
 | 
						|
  end;
 | 
						|
 | 
						|
  PVOLUME_INFO_BY_LEVEL = ^TVOLUME_INFO_BY_LEVEL;
 | 
						|
  TVOLUME_INFO_BY_LEVEL = record
 | 
						|
    case longint of
 | 
						|
      0: (volInfoDef: TVOLUME_INFO_BY_LEVEL_DEF);
 | 
						|
      1: (volInfoDef2: TVOLUME_INFO_BY_LEVEL_DEF2);
 | 
						|
  end;
 | 
						|
 | 
						|
  PNWFSE_VOLUME_INFO_BY_LEVEL = ^TNWFSE_VOLUME_INFO_BY_LEVEL;
 | 
						|
  TNWFSE_VOLUME_INFO_BY_LEVEL = record
 | 
						|
    serverAndVConsoleInfo: TSERVER_AND_VCONSOLE_INFO;
 | 
						|
    reserved: Tnuint16;
 | 
						|
    infoLevel: Tnuint32;
 | 
						|
    volumeInfo: TVOLUME_INFO_BY_LEVEL;
 | 
						|
  end;
 | 
						|
    { Active Protocol Stacks  }
 | 
						|
 | 
						|
const
 | 
						|
  FSE_MAX_NUM_OF_STACKINFO = 25;
 | 
						|
type
 | 
						|
 | 
						|
  PSTACK_INFO = ^TSTACK_INFO;
 | 
						|
  TSTACK_INFO = record
 | 
						|
    StackNum: Tnuint32;
 | 
						|
    StackShortName: array[0..15] of Tnuint8;
 | 
						|
  end;
 | 
						|
 | 
						|
  PNWFSE_ACTIVE_STACKS = ^TNWFSE_ACTIVE_STACKS;
 | 
						|
  TNWFSE_ACTIVE_STACKS = record
 | 
						|
    serverTimeAndVConsoleInfo: TSERVER_AND_VCONSOLE_INFO;
 | 
						|
    reserved: Tnuint16;
 | 
						|
    maxNumOfStacks: Tnuint32;
 | 
						|
    stackCount: Tnuint32;
 | 
						|
    nextStartNum: Tnuint32;
 | 
						|
    stackInfo: array[0..(FSE_MAX_NUM_OF_STACKINFO) - 1] of TSTACK_INFO;
 | 
						|
  end;
 | 
						|
    { Get Protocol Stack Configuration Information  }
 | 
						|
 | 
						|
const
 | 
						|
  FSE_STK_FULL_NAME_STR_LEN_MAX = 256;
 | 
						|
type
 | 
						|
 | 
						|
  PNWFSE_PROTOCOL_STK_CONFIG_INFO = ^TNWFSE_PROTOCOL_STK_CONFIG_INFO;
 | 
						|
  TNWFSE_PROTOCOL_STK_CONFIG_INFO = record
 | 
						|
    serverTimeAndVConsoleInfo: TSERVER_AND_VCONSOLE_INFO;
 | 
						|
    reserved: Tnuint16;
 | 
						|
    configMajorVersionNum: Tnuint8;
 | 
						|
    configMinorVersionNum: Tnuint8;
 | 
						|
    stackMajorVersionNum: Tnuint8;
 | 
						|
    stackMinorVersionNum: Tnuint8;
 | 
						|
    stackShortName: array[0..15] of Tnuint8;
 | 
						|
  end;
 | 
						|
    { Get Protocol Stack Statistics Information   }
 | 
						|
    { always set to 3?  }
 | 
						|
 | 
						|
  PNWFSE_PROTOCOL_STK_STATS_INFO = ^TNWFSE_PROTOCOL_STK_STATS_INFO;
 | 
						|
  TNWFSE_PROTOCOL_STK_STATS_INFO = record
 | 
						|
    serverTimeAndVConsoleInfo: TSERVER_AND_VCONSOLE_INFO;
 | 
						|
    reserved: Tnuint16;
 | 
						|
    statMajorVersionNum: Tnuint8;
 | 
						|
    statMinorVersionNum: Tnuint8;
 | 
						|
    commonCounters: Tnuint16;
 | 
						|
    validCountersMask: Tnuint32;
 | 
						|
    totalTxPackets: Tnuint32;
 | 
						|
    totalRxPackets: Tnuint32;
 | 
						|
    ignoredRxPackets: Tnuint32;
 | 
						|
    numCustomCounters: Tnuint16;
 | 
						|
  end;
 | 
						|
    { Get Protocol Stack Custom Information  }
 | 
						|
    { (Tnint32, byte[])[] - byte[] is a length preceded
 | 
						|
                                   ** non-null terminated string.  }
 | 
						|
 | 
						|
  PNWFSE_PROTOCOL_CUSTOM_INFO = ^TNWFSE_PROTOCOL_CUSTOM_INFO;
 | 
						|
  TNWFSE_PROTOCOL_CUSTOM_INFO = record
 | 
						|
    serverTimeAndVConsoleInfo: TSERVER_AND_VCONSOLE_INFO;
 | 
						|
    reserved0: Tnuint16;
 | 
						|
    customCount: Tnuint32;
 | 
						|
    customStruct: array[0..511] of Tnuint8;
 | 
						|
  end;
 | 
						|
 | 
						|
const
 | 
						|
  FSE_STACK_IDS_MAX = 128;
 | 
						|
  FSE_NO_FRAME_ID_MAC = 0;
 | 
						|
  FSE_APPLE_LOCALTALK = 1;
 | 
						|
  FSE_ETHERNETII_DEC = 2;
 | 
						|
  FSE_ETHERNET_802_3_USING_802_2 = 3;
 | 
						|
  FSE_TRING_802_5_USING_802_2 = 4;
 | 
						|
  FSE_IPX_802_3 = 5;
 | 
						|
  FSE_TOKEN_PASSING_BUS = 6;
 | 
						|
  FSE_IBM_PC_NETWORK_II = 7;
 | 
						|
  FSE_GATEWAY_GNET = 8;
 | 
						|
  FSE_PROTEON_PRONET = 9;
 | 
						|
  FSE_ENET_802_3_USING_802_2_SNAP = 10;
 | 
						|
  FSE_TRING_802_5_USE_802_2_SNAP = 11;
 | 
						|
  FSE_RACORE_FRAME = 12;
 | 
						|
  FSE_ISDN_FRAME = 13;
 | 
						|
  FSE_NOVELL_ARCNET = 14;
 | 
						|
  FSE_IBM_PCN2_USING_802_2 = 15;
 | 
						|
  FSE_IBM_PCN2_USING_802_2_SNAP = 16;
 | 
						|
  FSE_CORVUS_FRAME = 17;
 | 
						|
  FSE_HARRIS_ADACOM_FRAME = 18;
 | 
						|
  FSE_IP_TUNNEL_FRAME = 19;
 | 
						|
  FSE_FDDI_USING_802_2 = 20;
 | 
						|
  FSE_COMMTEX_FRAME = 21;
 | 
						|
  FSE_DATACO_FRAME = 22;
 | 
						|
  FSE_FDDI_USING_802_2_SMAP = 23;
 | 
						|
  FSE_SDLC_TUNNEL = 24;
 | 
						|
  FSE_PC_OFFICE_FRAME = 25;
 | 
						|
  FSE_HYPERCOMMUNICATIONS = 26;
 | 
						|
  FSE_NOVELL_FRAME = 27;
 | 
						|
type
 | 
						|
 | 
						|
  PNWFSE_PROTOCOL_ID_NUMS = ^TNWFSE_PROTOCOL_ID_NUMS;
 | 
						|
  TNWFSE_PROTOCOL_ID_NUMS = record
 | 
						|
    serverTimeAndVConsoleInfo: TSERVER_AND_VCONSOLE_INFO;
 | 
						|
    reserved: Tnuint16;
 | 
						|
    stackIDCount: Tnuint32;
 | 
						|
    stackIDs: array[0..(FSE_STACK_IDS_MAX) - 1] of Tnuint32;
 | 
						|
  end;
 | 
						|
    { Get Media Name by Media Number  }
 | 
						|
 | 
						|
const
 | 
						|
  FSE_MEDIA_NAME_LEN_MAX = 81;
 | 
						|
type
 | 
						|
 | 
						|
  PNWFSE_MEDIA_NAME_LIST = ^TNWFSE_MEDIA_NAME_LIST;
 | 
						|
  TNWFSE_MEDIA_NAME_LIST = record
 | 
						|
    serverTimeAndVConsoleInfo: TSERVER_AND_VCONSOLE_INFO;
 | 
						|
    reserved: Tnuint16;
 | 
						|
  end;
 | 
						|
    { Get Loaded Media Number List  }
 | 
						|
 | 
						|
const
 | 
						|
  FSE_MEDIA_LIST_MAX = 32;
 | 
						|
type
 | 
						|
 | 
						|
  PNWFSE_LOADED_MEDIA_NUM_LIST = ^TNWFSE_LOADED_MEDIA_NUM_LIST;
 | 
						|
  TNWFSE_LOADED_MEDIA_NUM_LIST = record
 | 
						|
    serverTimeAndVConsoleInfo: TSERVER_AND_VCONSOLE_INFO;
 | 
						|
    reserved: Tnuint16;
 | 
						|
    maxMediaTypes: Tnuint32;
 | 
						|
    mediaListCount: Tnuint32;
 | 
						|
    mediaList: array[0..(FSE_MEDIA_LIST_MAX) - 1] of Tnuint32;
 | 
						|
  end;
 | 
						|
    { Get General Router And SAP Information  }
 | 
						|
 | 
						|
  PNWFSE_GENERAL_ROUTER_SAP_INFO = ^TNWFSE_GENERAL_ROUTER_SAP_INFO;
 | 
						|
  TNWFSE_GENERAL_ROUTER_SAP_INFO = record
 | 
						|
    serverTimeAndVConsoleInfo: TSERVER_AND_VCONSOLE_INFO;
 | 
						|
    reserved: Tnuint16;
 | 
						|
    internalRIPSocket: Tnuint32;
 | 
						|
    internalRouterDownFlag: Tnuint32;
 | 
						|
    trackOnFlag: Tnuint32;
 | 
						|
    externalRouterActiveFlag: Tnuint32;
 | 
						|
    internalSAPSocketNumber: Tnuint32;
 | 
						|
    replyToNearestServerFlag: Tnuint32;
 | 
						|
  end;
 | 
						|
    { Get Network Router Information  }
 | 
						|
 | 
						|
  PNWFSE_NETWORK_ROUTER_INFO = ^TNWFSE_NETWORK_ROUTER_INFO;
 | 
						|
  TNWFSE_NETWORK_ROUTER_INFO = record
 | 
						|
    serverTimeAndVConsoleInfo: TSERVER_AND_VCONSOLE_INFO;
 | 
						|
    reserved: Tnuint16;
 | 
						|
    NetIDNumber: Tnuint32;
 | 
						|
    HopsToNet: Tnuint16;
 | 
						|
    NetStatus: Tnuint16;
 | 
						|
    TimeToNet: Tnuint16;
 | 
						|
  end;
 | 
						|
    { Get Network Routers Information  }
 | 
						|
 | 
						|
  PROUTERS_INFO = ^TROUTERS_INFO;
 | 
						|
  TROUTERS_INFO = record
 | 
						|
    nodeAddress: array[0..5] of Tnuint8;
 | 
						|
    connectedLAN: Tnuint32;
 | 
						|
    routeHops: Tnuint16;
 | 
						|
    routeTime: Tnuint16;
 | 
						|
  end;
 | 
						|
    { 512 / sizeof( ROUTERS_INFO )  }
 | 
						|
 | 
						|
  PNWFSE_NETWORK_ROUTERS_INFO = ^TNWFSE_NETWORK_ROUTERS_INFO;
 | 
						|
  TNWFSE_NETWORK_ROUTERS_INFO = record
 | 
						|
    serverTimeAndVConsoleInfo: TSERVER_AND_VCONSOLE_INFO;
 | 
						|
    reserved: Tnuint16;
 | 
						|
    NumberOfEntries: Tnuint32;
 | 
						|
    routersInfo: array[0..35] of TROUTERS_INFO;
 | 
						|
  end;
 | 
						|
    { Get Known Networks Information  }
 | 
						|
 | 
						|
const
 | 
						|
  FSE_LOCALBIT = $01;
 | 
						|
  FSE_NETSTARBIT = $02;
 | 
						|
  FSE_NETRELIABLEBIT = $04;
 | 
						|
  FSE_NETWANBIT = $10;
 | 
						|
type
 | 
						|
 | 
						|
  PKNOWN_NET_INFO = ^TKNOWN_NET_INFO;
 | 
						|
  TKNOWN_NET_INFO = record
 | 
						|
    netIDNumber: Tnuint32;
 | 
						|
    hopsToNet: Tnuint16;
 | 
						|
    netStatus: Tnuint16;
 | 
						|
    timeToNet: Tnuint16;
 | 
						|
  end;
 | 
						|
    { 512 / sizeof( KNOWN_NET_INFO )  }
 | 
						|
 | 
						|
  PNWFSE_KNOWN_NETWORKS_INFO = ^TNWFSE_KNOWN_NETWORKS_INFO;
 | 
						|
  TNWFSE_KNOWN_NETWORKS_INFO = record
 | 
						|
    serverTimeAndVConsoleInfo: TSERVER_AND_VCONSOLE_INFO;
 | 
						|
    reserved: Tnuint16;
 | 
						|
    numberOfEntries: Tnuint32;
 | 
						|
    knownNetInfo: array[0..50] of TKNOWN_NET_INFO;
 | 
						|
  end;
 | 
						|
    { Get Server Information  }
 | 
						|
 | 
						|
  PNWFSE_SERVER_INFO = ^TNWFSE_SERVER_INFO;
 | 
						|
  TNWFSE_SERVER_INFO = record
 | 
						|
    serverTimeAndVConsoleInfo: TSERVER_AND_VCONSOLE_INFO;
 | 
						|
    reserved: Tnuint16;
 | 
						|
    serverAddress: array[0..11] of Tnuint8;
 | 
						|
    hopsToServer: Tnuint16;
 | 
						|
  end;
 | 
						|
    { Get Server Sources Information  }
 | 
						|
 | 
						|
  PSERVERS_SRC_INFO = ^TSERVERS_SRC_INFO;
 | 
						|
  TSERVERS_SRC_INFO = record
 | 
						|
    serverNode: array[0..5] of Tnuint8;
 | 
						|
    connectedLAN: Tnuint32;
 | 
						|
    sourceHops: Tnuint16;
 | 
						|
  end;
 | 
						|
    { 512 / sizeof( SERVERS_SRC_INFO )  }
 | 
						|
 | 
						|
  PNWFSE_SERVER_SRC_INFO = ^TNWFSE_SERVER_SRC_INFO;
 | 
						|
  TNWFSE_SERVER_SRC_INFO = record
 | 
						|
    serverTimeAndVConsoleInfo: TSERVER_AND_VCONSOLE_INFO;
 | 
						|
    reserved: Tnuint16;
 | 
						|
    numberOfEntries: Tnuint32;
 | 
						|
    serversSrcInfo: array[0..41] of TSERVERS_SRC_INFO;
 | 
						|
  end;
 | 
						|
 | 
						|
  PNWFSE_KNOWN_SERVER_INFO = ^TNWFSE_KNOWN_SERVER_INFO;
 | 
						|
  TNWFSE_KNOWN_SERVER_INFO = record
 | 
						|
    serverTimeAndVConsoleInfo: TSERVER_AND_VCONSOLE_INFO;
 | 
						|
    reserved: Tnuint16;
 | 
						|
    numberOfEntries: Tnuint32;
 | 
						|
    data: array[0..511] of Tnuint8;
 | 
						|
  end;
 | 
						|
 | 
						|
const
 | 
						|
  FSE_TYPE_NUMBER = 0;
 | 
						|
  FSE_TYPE_BOOLEAN = 1;
 | 
						|
  FSE_TYPE_TICKS = 2;
 | 
						|
    { 512 * number  }
 | 
						|
  FSE_TYPE_BLOCK_SHIFT = 3;
 | 
						|
    { [+|-]hh:mm:ss converted to seconds  }
 | 
						|
  FSE_TYPE_TIME_OFFSET = 4;
 | 
						|
  FSE_TYPE_STRING = 5;
 | 
						|
    { The following show the types of triggers  }
 | 
						|
  FSE_TYPE_TRIGGER = 6;
 | 
						|
  FSE_TYPE_TRIGGER_OFF = $00;
 | 
						|
  FSE_TYPE_TRIGGER_ON = $01;
 | 
						|
  FSE_TYPE_TRIGGER_PENDING = $10;
 | 
						|
  FSE_TYPE_TRIGGER_SUCCESS = $20;
 | 
						|
  FSE_TYPE_TRIGGER_FAILED = $30;
 | 
						|
    { setCmdFlags  }
 | 
						|
  FSE_STARTUP_ONLY = $01;
 | 
						|
  FSE_HIDE = $02;
 | 
						|
  FSE_ADVANCED = $04;
 | 
						|
  FSE_STARTUP_OR_LATER = $08;
 | 
						|
    { Can't be performed on secured console }
 | 
						|
  FSE_NOT_SECURED_CONSOLE = $10;
 | 
						|
    { setCmdCategory     }
 | 
						|
  FSE_COMMUNICATIONS = 0;
 | 
						|
  FSE_MEMORY = 1;
 | 
						|
  FSE_FILE_CACHE = 2;
 | 
						|
  FSE_DIR_CACHE = 3;
 | 
						|
  FSE_FILE_SYSTEM = 4;
 | 
						|
  FSE_LOCKS = 5;
 | 
						|
  FSE_TRANSACTION_TRACKING = 6;
 | 
						|
  FSE_DISK = 7;
 | 
						|
  FSE_TIME = 8;
 | 
						|
  FSE_NCP = 9;
 | 
						|
  FSE_MISCELLANEOUS = 10;
 | 
						|
  FSE_ERRORS = 11;
 | 
						|
  FSE_DIRECTORY_SERVICES = 12;
 | 
						|
  FSE_MULTIPROCESSOR = 13;
 | 
						|
  FSE_SERVICE_LOCATION_PROTOCOL = 14;
 | 
						|
    {  The setNameAndValueInfo contains ASCIIZ strings in the following layout:
 | 
						|
       **    byte setCmdName[ ];
 | 
						|
       **    byte setCmdValue[ ];  }
 | 
						|
type
 | 
						|
 | 
						|
  PNWFSE_SERVER_SET_CMDS_INFO = ^TNWFSE_SERVER_SET_CMDS_INFO;
 | 
						|
  TNWFSE_SERVER_SET_CMDS_INFO = record
 | 
						|
    serverTimeAndVConsoleInfo: TSERVER_AND_VCONSOLE_INFO;
 | 
						|
    reserved: Tnuint16;
 | 
						|
    numberOfSetCommands: Tnuint32;
 | 
						|
    nextSequenceNumber: Tnuint32;
 | 
						|
    setCmdType: Tnuint32;
 | 
						|
    setCmdCategory: Tnuint32;
 | 
						|
    setCmdFlags: Tnuint32;
 | 
						|
    setNameAndValueInfo: array[0..499] of Tnuint8;
 | 
						|
  end;
 | 
						|
    { Len preceded string which is not NULL terminated  }
 | 
						|
 | 
						|
  PNWFSE_SERVER_SET_CATEGORIES = ^TNWFSE_SERVER_SET_CATEGORIES;
 | 
						|
  TNWFSE_SERVER_SET_CATEGORIES = record
 | 
						|
    serverTimeAndVConsoleInfo: TSERVER_AND_VCONSOLE_INFO;
 | 
						|
    reserved: Tnuint16;
 | 
						|
    numberOfSetCategories: Tnuint32;
 | 
						|
    nextSequenceNumber: Tnuint32;
 | 
						|
    categoryName: array[0..511] of Tnuint8;
 | 
						|
  end;
 | 
						|
    { MLID Board Info  }
 | 
						|
 | 
						|
const
 | 
						|
  FSE_MAX_NUM_BOARD_INFO = 18;
 | 
						|
type
 | 
						|
 | 
						|
  PMLID_BOARD_INFO = ^TMLID_BOARD_INFO;
 | 
						|
  TMLID_BOARD_INFO = record
 | 
						|
    protocolBoardNum: Tnuint32;
 | 
						|
    protocolNumber: Tnuint16;
 | 
						|
    protocolID: array[0..5] of Tnuint8;
 | 
						|
    protocolName: array[0..15] of Tnuint8;
 | 
						|
  end;
 | 
						|
 | 
						|
  PNWFSE_MLID_BOARD_INFO = ^TNWFSE_MLID_BOARD_INFO;
 | 
						|
  TNWFSE_MLID_BOARD_INFO = record
 | 
						|
    serverTimeAndVConsoleInfo: TSERVER_AND_VCONSOLE_INFO;
 | 
						|
    reserved: Tnuint8;
 | 
						|
    numberProtocols: Tnuint8;
 | 
						|
    MLIDBoardInfo: array[0..(FSE_MAX_NUM_BOARD_INFO) - 1] of TMLID_BOARD_INFO;
 | 
						|
  end;
 | 
						|
    { Enumerate Network Addresses  }
 | 
						|
 | 
						|
  PNW_GUID = ^TNW_GUID;
 | 
						|
  TNW_GUID = record
 | 
						|
    GUID: array[0..15] of Tnuint8;
 | 
						|
  end;
 | 
						|
 | 
						|
  PNWFSE_NETWORK_ADDRESS = ^TNWFSE_NETWORK_ADDRESS;
 | 
						|
  TNWFSE_NETWORK_ADDRESS = record
 | 
						|
    addressType: Tnuint32;
 | 
						|
    addressSize: Tnuint32;
 | 
						|
    address: pnuint8;
 | 
						|
  end;
 | 
						|
    { retInfoMask for NWEnumServerConnInfo  }
 | 
						|
 | 
						|
const
 | 
						|
  CONN_INFO_TRANS_MASK = $00000001;
 | 
						|
  CONN_INFO_LOGIN_TIME_MASK = $00000002;
 | 
						|
  CONN_INFO_LOGIN_NAME_MASK = $00000004;
 | 
						|
  CONN_INFO_LOCK_MASK = $00000008;
 | 
						|
  CONN_INFO_PRINT_MASK = $00000010;
 | 
						|
  CONN_INFO_STATS_MASK = $00000020;
 | 
						|
  CONN_INFO_ACCT_MASK = $00000040;
 | 
						|
  CONN_INFO_AUTH_MASK = $00000080;
 | 
						|
  CONN_INFO_ALL_MASK = $FFFFFFFF;
 | 
						|
    { some structs for NWEnumServerConnInfo  }
 | 
						|
type
 | 
						|
 | 
						|
  PNWFSE_LOGIN_TIME = ^TNWFSE_LOGIN_TIME;
 | 
						|
  TNWFSE_LOGIN_TIME = record
 | 
						|
    loginTime: array[0..6] of Tnuint8;
 | 
						|
    loginExpirationTime: Tnuint32;
 | 
						|
  end;
 | 
						|
 | 
						|
  PNWFSE_LOGIN_NAME = ^TNWFSE_LOGIN_NAME;
 | 
						|
  TNWFSE_LOGIN_NAME = record
 | 
						|
    loginObjectType: Tnuint32;
 | 
						|
    loginNameLen: Tnuint8;
 | 
						|
    loginName: pnuint8;
 | 
						|
  end;
 | 
						|
 | 
						|
  PNWFSE_LOCK_INFO = ^TNWFSE_LOCK_INFO;
 | 
						|
  TNWFSE_LOCK_INFO = record
 | 
						|
    logicalLockThreshold: Tnuint8;
 | 
						|
    recordLockThreshold: Tnuint8;
 | 
						|
    fileLockCount: Tnuint16;
 | 
						|
    recordLockCount: Tnuint16;
 | 
						|
  end;
 | 
						|
 | 
						|
  PNWFSE_PRINT_INFO = ^TNWFSE_PRINT_INFO;
 | 
						|
  TNWFSE_PRINT_INFO = record
 | 
						|
    printFlags: Tnuint8;
 | 
						|
    tabSize: Tnuint8;
 | 
						|
    numberCopies: Tnuint8;
 | 
						|
    printToFileFlag: Tnuint8;
 | 
						|
    bannerFileName: array[0..13] of Tnuint8;
 | 
						|
    targetServerID: Tnuint8;
 | 
						|
    formType: Tnuint8;
 | 
						|
  end;
 | 
						|
 | 
						|
  PNWFSE_STATS_INFO = ^TNWFSE_STATS_INFO;
 | 
						|
  TNWFSE_STATS_INFO = record
 | 
						|
    totalBytesRead: array[0..5] of Tnuint8;
 | 
						|
    totalBytesWritten: array[0..5] of Tnuint8;
 | 
						|
    totalRequests: Tnuint32;
 | 
						|
  end;
 | 
						|
 | 
						|
  PNWFSE_ACCT_INFO = ^TNWFSE_ACCT_INFO;
 | 
						|
  TNWFSE_ACCT_INFO = record
 | 
						|
    holdTime: Tnuint32;
 | 
						|
    holdAmt: Tnuint32;
 | 
						|
    chargeAmt: Tnuint32;
 | 
						|
    heldConnectTimeInMinutes: Tnuint32;
 | 
						|
    heldRequests: Tnuint32;
 | 
						|
    heldBytesRead: array[0..5] of Tnuint8;
 | 
						|
    heldBytesWritten: array[0..5] of Tnuint8;
 | 
						|
  end;
 | 
						|
 | 
						|
  PNWFSE_AUTH_INFO = ^TNWFSE_AUTH_INFO;
 | 
						|
  TNWFSE_AUTH_INFO = record
 | 
						|
    loginStatus: Tnuint32;
 | 
						|
    loginPrivileges: Tnuint32;
 | 
						|
  end;
 | 
						|
 | 
						|
function NWGetCacheInfo(conn: TNWCONN_HANDLE; fseCacheInfo: PNWFSE_CACHE_INFO): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWGetFileServerInfo(conn: TNWCONN_HANDLE; fseFileServerInfo: PNWFSE_FILE_SERVER_INFO): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWGetNetWareFileSystemsInfo(conn: TNWCONN_HANDLE; fseFileSystemInfo: PNWFSE_FILE_SYSTEM_INFO): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWGetUserInfo(conn: TNWCONN_HANDLE; connNum: Tnuint32; userName: Pnstr8; fseUserInfo: PNWFSE_USER_INFO): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWGetPacketBurstInfo(conn: TNWCONN_HANDLE; fsePacketBurstInfo: PNWFSE_PACKET_BURST_INFO): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWGetIPXSPXInfo(conn: TNWCONN_HANDLE; fseIPXSPXInfo: PNWFSE_IPXSPX_INFO): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWGetGarbageCollectionInfo(conn: TNWCONN_HANDLE; fseGarbageCollectionInfo: PNWFSE_GARBAGE_COLLECTION_INFO): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWGetCPUInfo(conn: TNWCONN_HANDLE; CPUNum: Tnuint32; CPUName: Pnstr8; numCoprocessor: Pnstr8; bus: Pnstr8;
 | 
						|
  fseCPUInfo: PNWFSE_CPU_INFO): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWGetVolumeSwitchInfo(conn: TNWCONN_HANDLE; startNum: Tnuint32; fseVolumeSwitchInfo: PNWFSE_VOLUME_SWITCH_INFO): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWGetNLMLoadedList(conn: TNWCONN_HANDLE; startNum: Tnuint32; fseNLMLoadedList: PNWFSE_NLM_LOADED_LIST): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWGetNLMInfo(conn: TNWCONN_HANDLE; NLMNum: Tnuint32; fileName: Pnstr8; NLMname: Pnstr8; copyright: Pnstr8;
 | 
						|
  fseNLMInfo: PNWFSE_NLM_INFO): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWGetDirCacheInfo(conn: TNWCONN_HANDLE; fseDirCacheInfo: PNWFSE_DIR_CACHE_INFO): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWGetOSVersionInfo(conn: TNWCONN_HANDLE; fseOSVersionInfo: PNWFSE_OS_VERSION_INFO): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWGetActiveConnListByType(conn: TNWCONN_HANDLE; startConnNum: Tnuint32; connType: Tnuint32; fseActiveConnListByType: PNWFSE_ACTIVE_CONN_LIST): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWGetNLMsResourceTagList(conn: TNWCONN_HANDLE; NLMNum: Tnuint32; startNum: Tnuint32; fseNLMsResourceTagList: PNWFSE_NLMS_RESOURCE_TAG_LIST): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWGetActiveLANBoardList(conn: TNWCONN_HANDLE; startNum: Tnuint32; fseActiveLANBoardList: PNWFSE_ACTIVE_LAN_BOARD_LIST): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWGetLANConfigInfo(conn: TNWCONN_HANDLE; boardNum: Tnuint32; fseLANConfigInfo: PNWFSE_LAN_CONFIG_INFO): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWGetLANCommonCountersInfo(conn: TNWCONN_HANDLE; boardNum: Tnuint32; blockNum: Tnuint32; fseLANCommonCountersInfo: PNWFSE_LAN_COMMON_COUNTERS_INFO): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWGetLANCustomCountersInfo(conn: TNWCONN_HANDLE; boardNum: Tnuint32; startingNum: Tnuint32; fseLANCustomInfo: PNWFSE_LAN_CUSTOM_INFO): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWGetLSLInfo(conn: TNWCONN_HANDLE; fseLSLInfo: PNWFSE_LSL_INFO): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWGetLSLLogicalBoardStats(conn: TNWCONN_HANDLE; LANBoardNum: Tnuint32; fseLSLLogicalBoardStats: PNWFSE_LSL_LOGICAL_BOARD_STATS): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWGetMediaMgrObjInfo(conn: TNWCONN_HANDLE; objNum: Tnuint32; fseMediaMgrObjInfo: PNWFSE_MEDIA_MGR_OBJ_INFO): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWGetMediaMgrObjList(conn: TNWCONN_HANDLE; startNum: Tnuint32; objType: Tnuint32; fseMediaMgrObjList: PNWFSE_MEDIA_MGR_OBJ_LIST): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWGetMediaMgrObjChildrenList(conn: TNWCONN_HANDLE; startNum: Tnuint32; objType: Tnuint32; parentObjNum: Tnuint32; fseMediaMgrObjList: PNWFSE_MEDIA_MGR_OBJ_LIST): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWGetVolumeSegmentList(conn: TNWCONN_HANDLE; volNum: Tnuint32; fseVolumeSegmentList: PNWFSE_VOLUME_SEGMENT_LIST): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWGetVolumeInfoByLevel(conn: TNWCONN_HANDLE; volNum: Tnuint32; infoLevel: Tnuint32; fseVolumeInfo: PNWFSE_VOLUME_INFO_BY_LEVEL): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWGetActiveProtocolStacks(conn: TNWCONN_HANDLE; startNum: Tnuint32; fseActiveStacks: PNWFSE_ACTIVE_STACKS): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWGetProtocolStackConfigInfo(conn: TNWCONN_HANDLE; stackNum: Tnuint32; stackFullName: Pnstr8; fseProtocolStkConfigInfo: PNWFSE_PROTOCOL_STK_CONFIG_INFO): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWGetProtocolStackStatsInfo(conn: TNWCONN_HANDLE; stackNum: Tnuint32; fseProtocolStkStatsInfo: PNWFSE_PROTOCOL_STK_STATS_INFO): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWGetProtocolStackCustomInfo(conn: TNWCONN_HANDLE; stackNum: Tnuint32; customStartNum: Tnuint32; fseProtocolStackCustomInfo: PNWFSE_PROTOCOL_CUSTOM_INFO): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWGetProtocolStkNumsByMediaNum(conn: TNWCONN_HANDLE; mediaNum: Tnuint32; fseProtocolStkIDNums: PNWFSE_PROTOCOL_ID_NUMS): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWGetProtocolStkNumsByLANBrdNum(conn: TNWCONN_HANDLE; LANBoardNum: Tnuint32; fseProtocolStkIDNums: PNWFSE_PROTOCOL_ID_NUMS): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWGetMediaNameByMediaNum(conn: TNWCONN_HANDLE; mediaNum: Tnuint32; mediaName: Pnstr8; fseMediaNameList: PNWFSE_MEDIA_NAME_LIST): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWGetLoadedMediaNumList(conn: TNWCONN_HANDLE; fseLoadedMediaNumList: PNWFSE_LOADED_MEDIA_NUM_LIST): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWGetGeneralRouterAndSAPInfo(conn: TNWCONN_HANDLE; fseGeneralRouterSAPInfo: PNWFSE_GENERAL_ROUTER_SAP_INFO): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWGetNetworkRouterInfo(conn: TNWCONN_HANDLE; networkNum: Tnuint32; fseNetworkRouterInfo: PNWFSE_NETWORK_ROUTER_INFO): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWGetNetworkRoutersInfo(conn: TNWCONN_HANDLE; networkNum: Tnuint32; startNum: Tnuint32; fseNetworkRoutersInfo: PNWFSE_NETWORK_ROUTERS_INFO): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWGetKnownNetworksInfo(conn: TNWCONN_HANDLE; startNum: Tnuint32; fseKnownNetworksInfo: PNWFSE_KNOWN_NETWORKS_INFO): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWGetServerInfo(conn: TNWCONN_HANDLE; serverType: Tnuint32; serverName: Pnstr8; fseServerInfo: PNWFSE_SERVER_INFO): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWGetServerSourcesInfo(conn: TNWCONN_HANDLE; startNum: Tnuint32; serverType: Tnuint32; serverName: Pnstr8; fseServerSrcInfo: PNWFSE_SERVER_SRC_INFO): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWGetKnownServersInfo(conn: TNWCONN_HANDLE; startNum: Tnuint32; serverType: Tnuint32; fseKnownServerInfo: PNWFSE_KNOWN_SERVER_INFO): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWGetServerSetCommandsInfo(conn: TNWCONN_HANDLE; startNum: Tnuint32; fseServerSetCmdsInfo: PNWFSE_SERVER_SET_CMDS_INFO): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWGetServerSetCategories(conn: TNWCONN_HANDLE; startNum: Tnuint32; fseServerSetCategories: PNWFSE_SERVER_SET_CATEGORIES): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWGetMLIDBoardInfo(conn: TNWCONN_HANDLE; MLIDBoardNum: Tnuint32; fseMLIDBoardInfo: PNWFSE_MLID_BOARD_INFO): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWEnumNetAddresses(conn: TNWCONN_HANDLE; searchNumber: pnuint32; serverTimeAndVConsoleInfo: PSERVER_AND_VCONSOLE_INFO; reserved: pnuint16; fseServerGUID: PNW_GUID;
 | 
						|
  itemsInArray: Tnuint32; itemsReturned: pnuint32; fseNetworkAddresses: PNWFSE_NETWORK_ADDRESS): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWGenerateGUIDs(connHandle: TNWCONN_HANDLE; GUIDSize: Tnuint32; GUIDList: PNW_GUID): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWGetServerConnInfo(conn: TNWCONN_HANDLE; retInfoMask: Tnuint32; connectionNumber: Tnuint32; serverTimeAndVConsoleInfo: PSERVER_AND_VCONSOLE_INFO; reserved: pnuint16;
 | 
						|
  networkAddress: PNWFSE_NETWORK_ADDRESS; loginTime: PNWFSE_LOGIN_TIME; loginName: PNWFSE_LOGIN_NAME; lockInfo: PNWFSE_LOCK_INFO; printInfo: PNWFSE_PRINT_INFO;
 | 
						|
  statsInfo: PNWFSE_STATS_INFO; acctInfo: PNWFSE_ACCT_INFO; authInfo: PNWFSE_AUTH_INFO): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
 | 
						|
 | 
						|
 | 
						|
//*****************************************************************************
 | 
						|
//nwmigrat.h
 | 
						|
//*****************************************************************************
 | 
						|
 | 
						|
const
 | 
						|
  MAX_NUM_OF_DATA_STREAMS = 3;
 | 
						|
  MAX_SIZE_OF_SM_STRING = 128;
 | 
						|
  MAX_SIZE_OF_SM_INFO = 128;
 | 
						|
  MAX_NUM_OF_SM = 32;
 | 
						|
  ERR_INVALID_SM_ID = 240;
 | 
						|
  ERR_SM_ALREADY_REGISTERED = 241;
 | 
						|
  ERR_SM_CREATE_FAILED = 242;
 | 
						|
  ERR_SM_CLOSE_FAILED = 243;
 | 
						|
  ERR_SM_WRITE_NO_SPACE = 244;
 | 
						|
  ERR_SM_WRITE_IO_ERROR = 245;
 | 
						|
  ERR_SM_READ_IO_ERROR = 246;
 | 
						|
  ERR_SM_OPEN_FAILED = 247;
 | 
						|
 | 
						|
  ERR_SM_DELETE_FAILED = 248;
 | 
						|
    { A length preceded string is followed by SMInfo data  }
 | 
						|
type
 | 
						|
  PSUPPORT_MODULE_INFO = ^TSUPPORT_MODULE_INFO;
 | 
						|
  TSUPPORT_MODULE_INFO = record
 | 
						|
    IOStatus: Tnuint32;
 | 
						|
    InfoBlockSize: Tnuint32;
 | 
						|
    AvailSpace: Tnuint32;
 | 
						|
    UsedSpace: Tnuint32;
 | 
						|
    SMInfo: array[0..(MAX_SIZE_OF_SM_STRING + MAX_SIZE_OF_SM_INFO) - 1] of Tnuint8;
 | 
						|
  end;
 | 
						|
 | 
						|
  PSUPPORT_MODULE_IDS = ^TSUPPORT_MODULE_IDS;
 | 
						|
  TSUPPORT_MODULE_IDS = record
 | 
						|
    numberOfSMs: Tnuint32;
 | 
						|
    SMIDs: array[0..(MAX_NUM_OF_SM) - 1] of Tnuint32;
 | 
						|
  end;
 | 
						|
 | 
						|
 | 
						|
{    const
 | 
						|
       NWMoveFileToDM = NWMoveFileToDM2;
 | 
						|
       NWMoveFileFromDM = NWMoveFileFromDM2;
 | 
						|
       NWGetDMFileInfo = NWGetDMFileInfo2;
 | 
						|
       NWGetDMVolumeInfo = NWGetDMVolumeInfo2;
 | 
						|
       NWGetDefaultSupportModule = NWGetDefaultSupportModule2;
 | 
						|
       NWSetDefaultSupportModule = NWSetDefaultSupportModule2;
 | 
						|
       NWGetDataMigratorInfo = NWGetDataMigratorInfo2;
 | 
						|
       NWGetSupportModuleInfo = NWGetSupportModuleInfo2;}
 | 
						|
 | 
						|
 | 
						|
 | 
						|
function NWMoveFileToDM(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; path: Pnstr8; nameSpace: Tnuint8; supportModuleID: Tnuint32;
 | 
						|
  saveKeyFlag: Tnuint32): TNWCCODE; NWLIB_CLIB;
 | 
						|
function NWMoveFileFromDM(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; path: Pnstr8; nameSpace: Tnuint8): TNWCCODE; NWLIB_CLIB;
 | 
						|
function NWGetDMFileInfo(conn: TNWCONN_HANDLE; dirHandle: TNWDIR_HANDLE; path: Pnstr8; nameSpace: Tnuint8; supportModuleID: pnuint32;
 | 
						|
  restoreTime: pnuint32; dataStreams: pnuint32): TNWCCODE; NWLIB_CLIB;
 | 
						|
function NWGetDMVolumeInfo(conn: TNWCONN_HANDLE; volume: Tnuint16; supportModuleID: Tnuint32; numberOfFilesMigrated: pnuint32; totalMigratedSize: pnuint32;
 | 
						|
  spaceUsedOnDM: pnuint32; limboSpaceUsedOnDM: pnuint32; spaceMigrated: pnuint32; filesInLimbo: pnuint32): TNWCCODE; NWLIB_CLIB;
 | 
						|
function NWGetSupportModuleInfo(conn: TNWCONN_HANDLE; infomationLevel: Tnuint32; supportModuleID: Tnuint32; returnInfo: pnuint8; returnInfoLen: pnuint32): TNWCCODE; NWLIB_CLIB;
 | 
						|
function NWGetDataMigratorInfo(conn: TNWCONN_HANDLE; DMPresentFlag: pnuint32; majorVersion: pnuint32; minorVersion: pnuint32; DMSMRegistered: pnuint32): TNWCCODE; NWLIB_CLIB;
 | 
						|
function NWGetDefaultSupportModule(conn: TNWCONN_HANDLE; supportModuleID: pnuint32): TNWCCODE; NWLIB_CLIB;
 | 
						|
function NWSetDefaultSupportModule(conn: TNWCONN_HANDLE; supportModuleID: pnuint32): TNWCCODE; NWLIB_CLIB;
 | 
						|
function NWGetSupportModuleCapacity(conn: TNWCONN_HANDLE; luSupportModuleID: Tnuint32; luVolume: Tnuint32; luDirectoryBase: Tnuint32; pluSMBlockSizeInSectors: pnuint32;
 | 
						|
  pluSMTotalBlocks: pnuint32; pluSMUsedBlocks: pnuint32): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
 | 
						|
 | 
						|
 | 
						|
//*****************************************************************************
 | 
						|
//nwsm.h
 | 
						|
//*****************************************************************************
 | 
						|
 | 
						|
const
 | 
						|
  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;
 | 
						|
  LOAD_XDC_DATA_ERROR = 15;
 | 
						|
  LOAD_NOT_OS_DOMAIN = 16;
 | 
						|
 | 
						|
function NWSMLoadNLM(connHandle: TNWCONN_HANDLE; loadCommand: Pnstr8): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWSMLoadNLM2(connHandle: TNWCONN_HANDLE; loadCommand: Pnstr8; loadNLMReturnCode: pnuint32): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWSMUnloadNLM(connHandle: TNWCONN_HANDLE; NLMName: Pnstr8): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWSMMountVolume(connHandle: TNWCONN_HANDLE; volumeName: Pnstr8; volumeNumber: pnuint32): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWSMDismountVolumeByNumber(connHandle: TNWCONN_HANDLE; volumeNumber: Tnuint16): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWSMDismountVolumeByName(connHandle: TNWCONN_HANDLE; volumeName: Pnstr8): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWSMAddNSToVolume(connHandle: TNWCONN_HANDLE; volNumber: Tnuint16; namspc: Tnuint8): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWSMSetDynamicCmdStrValue(connHandle: TNWCONN_HANDLE; setCommandName: Pnstr8; cmdValue: Pnstr8): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWSMSetDynamicCmdIntValue(connHandle: TNWCONN_HANDLE; setCommandName: Pnstr8; cmdValue: Tnuint32): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
function NWSMExecuteNCFFile(connHandle: TNWCONN_HANDLE; NCFFileName: Pnstr8): TNWCCODE; NWLIB_CALNLM32;
 | 
						|
 | 
						|
// Obsolete API's
 | 
						|
//****************************************
 | 
						|
//o_ndscon
 | 
						|
//****************************************
 | 
						|
{ replacement - NWCCGetConnInfo }
 | 
						|
function NWDSGetConnectionInfo
 | 
						|
  (connHandle: TNWCONN_HANDLE;
 | 
						|
  connStatus: pnuint8;
 | 
						|
  connType: pnuint8;
 | 
						|
  serverFlags: pnuint8;
 | 
						|
  serverName: pchar;
 | 
						|
  transType: pnuint8;
 | 
						|
  transLen: pnuint32;
 | 
						|
  transBuf: pointer;
 | 
						|
  distance: pnuint16;
 | 
						|
  maxPacketSize: pnuint16): TNWCCODE; NWLIB_DSAPI;
 | 
						|
{ replacement - NWDSOpenMonitoredConn }
 | 
						|
function NWDSGetMonitoredConnection
 | 
						|
  (connHandle: PNWCONN_HANDLE): TNWCCODE; NWLIB_DSAPI;
 | 
						|
{ replacement - NWGetPreferredConnName & NWCCOpenConnByName }
 | 
						|
function NWGetPreferredDSServer(connHandle: PNWCONN_HANDLE): TNWCCODE; NWLIB_DSAPI;
 | 
						|
{ replacement - NWCCLicenseConn }
 | 
						|
function NWDSLockConnection(connHandle: TNWCONN_HANDLE): TNWCCODE; NWLIB_DSAPI;
 | 
						|
{ replacement - NWCCScanConnRefs }
 | 
						|
function NWGetNextConnectionID(connHandle: PNWCONN_HANDLE): TNWCCODE; NWLIB_DSAPI;
 | 
						|
{ replacement - NWCCOpenConnByAddr followed by NWCCLicenseConn }
 | 
						|
function NWDSGetConnectionSlot
 | 
						|
  (connType: Tnuint8;
 | 
						|
  transType: Tnuint8;
 | 
						|
  transLen: Tnuint32;
 | 
						|
  transBuf: pointer;
 | 
						|
  connHandle: PNWCONN_HANDLE): TNWCCODE; NWLIB_DSAPI;
 | 
						|
{ replacement - NWCCScanConnInfo }
 | 
						|
function NWGetNearestDirectoryService(connHandle: PNWCONN_HANDLE): TNWCCODE; NWLIB_DSAPI;
 | 
						|
{ replacement - NWCCScanConnInfo, NWCCOpenConnByRef, NWCCLicenseConn }
 | 
						|
function NWGetConnectionIDFromAddress
 | 
						|
  (transType: Tnuint8;
 | 
						|
  transLen: Tnuint32;
 | 
						|
  transBuf: pointer;
 | 
						|
  connHandle: PNWCONN_HANDLE): TNWCCODE; NWLIB_DSAPI;
 | 
						|
{ replacement - NWCCScanConnInfo, NWCCOpenConnByRef, NWCCLicenseConn }
 | 
						|
function NWGetConnectionIDFromName
 | 
						|
  (nameLen: Tnuint32;
 | 
						|
  name: pchar;
 | 
						|
  connHandle: PNWCONN_HANDLE): TNWCCODE; NWLIB_DSAPI;
 | 
						|
{ replacement - NWCCScanConnInfo, NWCCOpenConnByRef }
 | 
						|
function NWGetNearestDSConnRef(connRef: pnuint32): TNWCCODE; NWLIB_DSAPI;
 | 
						|
{ replacement - NWDSSetDefNameContext }
 | 
						|
function NWSetDefaultNameContext
 | 
						|
  (contextLength: Tnuint16;
 | 
						|
  context: pnuint8): TNWCCODE; NWLIB_DSAPI;
 | 
						|
 | 
						|
{ replacement - NWDSGetDefNameContext }
 | 
						|
function NWGetDefaultNameContext
 | 
						|
  (bufferSize: Tnuint16;
 | 
						|
  context: pnuint8): TNWCCODE; NWLIB_DSAPI;
 | 
						|
 | 
						|
{ replacement - NWCCGetNumConns }
 | 
						|
function NWGetNumConnections(numConnections: pnuint16): TNWCCODE; NWLIB_DSAPI;
 | 
						|
 | 
						|
{ replacement - NWDSCanDSAuthenticate }
 | 
						|
function NWIsDSAuthenticated: TNWCCODE; NWLIB_DSAPI;
 | 
						|
 | 
						|
{ replacement - NWCCUnlicenseConn }
 | 
						|
function NWDSUnlockConnection(connHandle: TNWCONN_HANDLE): TNWCCODE; NWLIB_DSAPI;
 | 
						|
 | 
						|
{ replacement - NWCCGetPrefServerName }
 | 
						|
function NWGetPreferredConnName(preferredName: pnuint8; preferredType: pnuint8): TNWCCODE; NWLIB_DSAPI;
 | 
						|
 | 
						|
{ replacment - NWCSysCloseConnRef }
 | 
						|
function NWFreeConnectionSlot(connHandle: TNWCONN_HANDLE; disconnectType: Tnuint8): TNWCCODE; NWLIB_DSAPI;
 | 
						|
 | 
						|
{ replacement - NONE (monitored connections are managed automatically
 | 
						|
    * by the client software) }
 | 
						|
function NWDSSetMonitoredConnection(connHandle: TNWCONN_HANDLE): TNWCCODE; NWLIB_DSAPI;
 | 
						|
 | 
						|
 | 
						|
 | 
						|
type
 | 
						|
  PNMBYTE = ^TNMBYTE;
 | 
						|
  PNMUNI = ^TNMUNI;
 | 
						|
  PSCBYTE = ^TSCBYTE;
 | 
						|
  PSCUNI = ^TSCUNI;
 | 
						|
 | 
						|
 | 
						|
implementation
 | 
						|
(*
 | 
						|
    { was #define dname(params) para_def_expr }
 | 
						|
    { argument types are unknown }
 | 
						|
    { return type might be wrong }
 | 
						|
    function nwunisize(x : longint) : longint;
 | 
						|
    begin
 | 
						|
       //nwunisize:=(sizeof(x)) / (sizeof(unicode));
 | 
						|
    end;
 | 
						|
 | 
						|
    { was #define dname def_expr }
 | 
						|
    function NWU_UNCHANGED_FUNCTION : pointer;
 | 
						|
      begin
 | 
						|
         //NWU_UNCHANGED_FUNCTION:=pointer(-(1));
 | 
						|
      end;
 | 
						|
 | 
						|
    { was #define dname(params) para_def_expr }
 | 
						|
    { argument types are unknown }
 | 
						|
    { return type might be wrong }
 | 
						|
    function NWLocalToUnicode(P1,P2,P3,P4,P5,P6 : longint) : longint;
 | 
						|
    begin
 | 
						|
       //NWLocalToUnicode:=NWLocalToUnicode(P1,P2,P3,P4,P5,P6,1);
 | 
						|
    end;
 | 
						|
 | 
						|
    { was #define dname(params) para_def_expr }
 | 
						|
    { argument types are unknown }
 | 
						|
    { return type might be wrong }
 | 
						|
    function NWUnicodeToLocal(P1,P2,P3,P4,P5,P6 : longint) : longint;
 | 
						|
    begin
 | 
						|
       //NWUnicodeToLocal:=NWUnicodeToLocal(P1,P2,P3,P4,P5,P6,1);
 | 
						|
    end;
 | 
						|
 | 
						|
    {function NWInitUnicodeTables(CountryCode,CodePage : longint) : longint;
 | 
						|
    begin
 | 
						|
      NWInitUnicodeTables:=NWLInitXlateTables(CodePage,N_UNI_LOAD_MONOCASE or N_UNI_LOAD_COLLATION);
 | 
						|
    end;}
 | 
						|
 | 
						|
    { was #define dname(params) para_def_expr }
 | 
						|
    { argument types are unknown }
 | 
						|
    { return type might be wrong }
 | 
						|
    function uniicmp(s1,s2 : longint) : longint;
 | 
						|
    begin
 | 
						|
       //uniicmp:=nwusuniicmp(s1,s2);
 | 
						|
    end;
 | 
						|
 | 
						|
    { was #define dname(params) para_def_expr }
 | 
						|
    { argument types are unknown }
 | 
						|
    { return type might be wrong }
 | 
						|
    function uninicmp(s1,s2,l : longint) : longint;
 | 
						|
    begin
 | 
						|
       //uninicmp:=nwusuninicmp(s1,s2,l);
 | 
						|
    end;
 | 
						|
 | 
						|
    { was #define dname(params) para_def_expr }
 | 
						|
    { argument types are unknown }
 | 
						|
    { return type might be wrong }
 | 
						|
    function NWScanForTrustees(a,b,c,d,e,f : longint) : longint;
 | 
						|
    begin
 | 
						|
       //NWScanForTrustees:=NWIntScanForTrustees(a,b,c,d,e,f,0);
 | 
						|
    end;
 | 
						|
 | 
						|
    { was #define dname(params) para_def_expr }
 | 
						|
    { argument types are unknown }
 | 
						|
    { return type might be wrong }
 | 
						|
    function NWScanForTrusteesExt(a,b,c,d,e,f : longint) : longint;
 | 
						|
    begin
 | 
						|
       //NWScanForTrusteesExt:=NWIntScanForTrusteesExt(a,b,c,d,e,f,0);
 | 
						|
    end;
 | 
						|
 | 
						|
    { was #define dname(params) para_def_expr }
 | 
						|
    { argument types are unknown }
 | 
						|
    { return type might be wrong }
 | 
						|
    function NWScanDirectoryInformation(a,b,c,d,e,f,g,h : longint) : longint;
 | 
						|
    begin
 | 
						|
       //NWScanDirectoryInformation:=NWIntScanDirectoryInformation(a,b,c,d,e,f,g,h,0);
 | 
						|
    end;
 | 
						|
 | 
						|
    { was #define dname(params) para_def_expr }
 | 
						|
    { argument types are unknown }
 | 
						|
    { return type might be wrong }
 | 
						|
    function NWIntFileSearchInitialize(a,b,c,d,e,f,g,h : longint) : longint;
 | 
						|
    begin
 | 
						|
       //NWIntFileSearchInitialize:=NWFileSearchInitialize(a,b,c,d,e,f,g);
 | 
						|
    end;
 | 
						|
 | 
						|
    { was #define dname(params) para_def_expr }
 | 
						|
    { argument types are unknown }
 | 
						|
    { return type might be wrong }
 | 
						|
    function NWScanFileInformation(a,b,c,d,e,f : longint) : longint;
 | 
						|
    begin
 | 
						|
       //NWScanFileInformation:=NWIntScanFileInformation(a,b,c,d,e,f,0);
 | 
						|
    end;
 | 
						|
*)
 | 
						|
end.
 |