home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Power-Programmierung
/
CD1.mdf
/
pascal
/
library
/
dos
/
netz
/
netware
/
nwvar.pa1
< prev
next >
Wrap
Text File
|
1992-03-02
|
62KB
|
1,260 lines
{!R! FONT 15; FTMD 15; EXIT;}
{***************************************************************************}
{** Program : NWVAR **}
{***************************************************************************}
{** Version : 1.2 ** Started : 11/11/91 ** Ended : / / **}
{***************************************************************************}
{******************************** Description ******************************}
{***************************************************************************}
{** Variable / constant definition for Netware API library **}
{** **}
{** **}
{** **}
{** **}
{***************************************************************************}
{******************************** Information ******************************}
{***************************************************************************}
{** **}
{** **}
{** **}
{** **}
{** **}
{***************************************************************************}
{$I NETWARE.INC}
UNIT NWVAR;
INTERFACE
TYPE
Byte2ArrayType = ARRAY [0 .. 1] OF BYTE;
Byte3ArrayType = ARRAY [0 .. 2] OF BYTE;
Byte4ArrayType = ARRAY [0 .. 3] OF BYTE;
Byte5ArrayType = ARRAY [0 .. 4] OF BYTE;
Byte6ArrayType = ARRAY [0 .. 5] OF BYTE;
Byte7ArrayType = ARRAY [0 .. 6] OF BYTE;
Byte8ArrayType = ARRAY [0 .. 7] OF BYTE;
Byte10ArrayType = ARRAY [0 .. 9] OF BYTE;
Byte12ArrayType = ARRAY [0 .. 11] OF BYTE;
Byte13ArrayType = ARRAY [0 .. 12] OF BYTE;
Byte14ArrayType = ARRAY [0 .. 13] OF BYTE;
Byte16ArrayType = ARRAY [0 .. 15] OF BYTE;
Byte17ArrayType = ARRAY [0 .. 16] OF BYTE;
Byte18ArrayType = ARRAY [0 .. 17] OF BYTE;
Byte20ArrayType = ARRAY [0 .. 19] OF BYTE;
Byte21ArrayType = ARRAY [0 .. 20] OF BYTE;
Byte22ArrayType = ARRAY [0 .. 21] OF BYTE;
Byte24ArrayType = ARRAY [0 .. 23] OF BYTE;
Byte26ArrayType = ARRAY [0 .. 25] OF BYTE;
Byte28ArrayType = ARRAY [0 .. 27] OF BYTE;
Byte30ArrayType = ARRAY [0 .. 29] OF BYTE;
Byte32ArrayType = ARRAY [0 .. 31] OF BYTE;
Byte38ArrayType = ARRAY [0 .. 37] OF BYTE;
Byte42ArrayType = ARRAY [0 .. 41] OF BYTE;
Byte44ArrayType = ARRAY [0 .. 43] OF BYTE;
Byte45ArrayType = ARRAY [0 .. 44] OF BYTE;
Byte47ArrayType = ARRAY [0 .. 46] OF BYTE;
Byte48ArrayType = ARRAY [0 .. 47] OF BYTE;
Byte50ArrayType = ARRAY [0 .. 49] OF BYTE;
Byte51ArrayType = ARRAY [0 .. 50] OF BYTE;
Byte54ArrayType = ARRAY [0 .. 53] OF BYTE;
Byte56ArrayType = ARRAY [0 .. 55] OF BYTE;
Byte58ArrayType = ARRAY [0 .. 57] OF BYTE;
Byte59ArrayType = ARRAY [0 .. 58] OF BYTE;
Byte60ArrayType = ARRAY [0 .. 59] OF BYTE;
Byte63ArrayType = ARRAY [0 .. 62] OF BYTE;
Byte64ArrayType = ARRAY [0 .. 63] OF BYTE;
Byte65ArrayType = ARRAY [0 .. 64] OF BYTE;
Byte69ArrayType = ARRAY [0 .. 68] OF BYTE;
Byte96ArrayType = ARRAY [0 .. 95] OF BYTE;
Byte103ArrayType = ARRAY [0 .. 102] OF BYTE;
Byte128ArrayType = ARRAY [0 .. 127] OF BYTE;
Byte130ArrayType = ARRAY [0 .. 129] OF BYTE;
Byte132ArrayType = ARRAY [0 .. 131] OF BYTE;
Byte134ArrayType = ARRAY [0 .. 133] OF BYTE;
Byte142ArrayType = ARRAY [0 .. 141] OF BYTE;
Byte152ArrayType = ARRAY [0 .. 151] OF BYTE;
Byte253ArrayType = ARRAY [0 .. 252] OF BYTE;
Byte255ArrayType = ARRAY [0 .. 254] OF BYTE;
Byte258ArrayType = ARRAY [0 .. 257] OF BYTE;
Byte265ArrayType = ARRAY [0 .. 264] OF BYTE;
Byte504ArrayType = ARRAY [0 .. 503] OF BYTE;
Byte514ArrayType = ARRAY [0 .. 513] OF BYTE;
Char13ArrayType = ARRAY [0 .. 12] OF CHAR;
Word25ArrayType = ARRAY [0 .. 25] OF WORD;
Word60ArrayType = ARRAY [0 .. 59] OF WORD;
Word250ArrayType = ARRAY [0 .. 249] OF WORD;
Longint5ArrayType = ARRAY [0 .. 4] OF LONGINT;
Longint25ArrayType = ARRAY [0 .. 31] OF LONGINT;
Longint32ArrayType = ARRAY [0 .. 31] OF LONGINT;
String8Type = STRING [8];
String10Type = STRING [10];
String12Type = STRING [12];
String13Type = STRING [13];
String14Type = STRING [14];
String16Type = STRING [16];
String24Type = STRING [24];
String33Type = STRING [33];
String40Type = STRING [40];
String48Type = STRING [48];
String50Type = STRING [50];
String64Type = STRING [64];
String65Type = STRING [65];
String70Type = STRING [70];
String80Type = STRING [80];
String102Type = STRING [102];
String127Type = STRING [127];
String128Type = STRING [128];
String255Type = STRING [255];
FileNameType = String14Type;
ObjectNameType = String48Type;
FullNameType = String128Type;
PasswordType = String128Type;
QueuePathNameType = STRING [118];
PathNameType = STRING [255];
PropertyNameType = STRING [15];
LogicalRecordNameType = STRING [100];
LogicalLockNameType = String102Type;
SemaphoreNameType = STRING [127];
BannerUserNameType = Char13ArrayType;
FormNameType = Char13ArrayType;
ConsoleMessageType = STRING [60];
BroadcastMessageType = STRING [55];
PersonalMessageType = STRING [127];
VolumeNameType = STRING [16];
DirectoryNameType = STRING [16];
PropertyValueType = Byte128ArrayType;
BannerTextType = Char13ArrayType;
NameSpaceNameType = String12Type;
ConnectionListType = ARRAY [1 .. 250] OF BYTE;
OT_BinderyID = LONGINT;
OT_BinderyType = WORD;
{**********************************************}
{*** NO ACCOUNTING SERVICES FOR DOS CLIENTS ***}
{**********************************************}
{************************************}
{*** AFP SERVICES FOR DOS CLIENTS ***}
{************************************}
CONST
AFP_SFI_SetAttributes = $0001;
AFP_SFI_CreationDate = $0002;
AFP_SFI_AccessDate = $0004;
AFP_SFI_ModifyDateTime = $0008;
AFP_SFI_BackupDateTime = $0010;
AFP_SFI_FinderInfo = $0020;
AFP_GFI_Attributes = $0001;
AFP_GFI_ParentDirID = $0002;
AFP_GFI_CreationDate = $0004;
AFP_GFI_AccessDate = $0008;
AFP_GFI_ModifyDateTime = $0010;
AFP_GFI_BackupDateTime = $0020;
AFP_GFI_FinderInfo = $0040;
AFP_GFI_LongName = $0080;
AFP_GFI_EntryID = $0100;
AFP_GFI_DataForkLen = $0200;
AFP_GFI_ResrcForkLen = $0400;
AFP_GFI_NumOffSpring = $0800;
AFP_GFI_OwnerID = $1000;
AFP_GFI_ShortName = $2000;
TYPE
AFPFileInfo = RECORD
EntryID : LONGINT;
ParentID : LONGINT;
Attributes : WORD;
DataForkLength : LONGINT;
ResourceForkLength : LONGINT;
NumOffSpring : WORD;
CreationDate : WORD;
AccessDate : WORD;
ModifyDate : WORD;
ModifyTime : WORD;
BackupDate : WORD;
BackupTime : WORD;
FinderInfo : Byte32ArrayType;
LongName : String33Type;
Pad1 : CHAR;
OwnerID : OT_BinderyID;
ShortName : String13Type;
pad2 : CHAR;
AccessPrivileges : WORD;
END;
AFPSetInfo = RECORD
Attributes : WORD;
CreationDate : WORD;
AccessDate : WORD;
ModifyDate : WORD;
ModifyTime : WORD;
BackupDate : WORD;
BackupTime : WORD;
FinderInfo : Byte32ArrayType;
END;
{*******************************************}
{*** END OF AFP SERVICES FOR DOS CLIENTS ***}
{*******************************************}
{****************************************}
{*** BINDERY SERVICES FOR DOS CLIENTS ***}
{****************************************}
CONST
{** Bindery security access byte definitions **}
BS_AnyRead = $00; {byte; Readable by anyone}
BS_LoggedRead = $01; {byte; Must be logged in to read}
BS_ObjectRead = $02; {byte; Readable by the object only}
BS_SuperRead = $03; {byte; Readable by Supervisor only}
BS_BinderyRead = $04; {byte; Readable by Bindery only}
BS_AnyWrite = $00; {byte; Writeable by anyone}
BS_LoggedWrite = $10; {byte; Must be logged in to write}
BS_ObjectWrite = $20; {byte; Writeable by the object only}
BS_SuperWrite = $30; {byte; Writeable by Supervisor only}
BS_BinderyWrite = $40; {byte; Writeable by Bindery only}
{** Bindery object type definitions **}
OT_Wild = $FFFF; {Wildcard}
OT_Unknown = $00; {Unknown}
OT_User = $01; {Object is a user}
OT_UserGroup = $02; {Object is a group}
OT_PrintQueue = $03; {Object is a print queue}
OT_FileServer = $04; {Object is a file server}
OT_JobServer = $05;
OT_Gateway = $06;
OT_PrintServer = $07;
OT_ArchiveQueue = $08;
OT_ArchiveServer = $09; {Object is an archive server}
OT_JobQueue = $0A;
OT_Administration = $0B;
OT_NasSnaGateway = $21;
OT_RemoteBridgeServer = $24;
OT_TimeSynchronizationServer = $2D;
OT_ArchiveServerDynamicSap = $2E;
OT_AdvertisingPrintServer = $47;
OT_BtrieveVap = $4B;
OT_PrintQueueUser = $53;
(*
OT_RemoteBridgeServer = $26;
OT_TCPIPGateWay = $27;
*)
{** Access rights definitions for 286-based Netware **}
TA_None = $00; {byte; Trustee has no rights in directory}
TA_Read = $01; {byte; Trustee can read from file that is open}
TA_Write = $02; {byte; Trustee can write to a file that is open}
TA_Open = $04; {byte; Trustee can open an existing file}
TA_Create = $08; {byte; Trustee can create a new file}
TA_Delete = $10; {byte; Trustee can delete files}
TA_Ownership = $20; {byte; Trustee can create subdirectories and modify trustee rights}
TA_Search = $40; {byte; Trustee can view the names of non-hidden files}
TA_Modify = $80; {byte; Trustee can modify the file attributes}
TA_All = $FF; {byte; Trustee has all of the above rights}
{** Access rights definitions for 386-based Netware **}
TR_None = $0000; {word; Trustee has no rights in directory}
TR_Read = $0001; {word; For a directory, the trustee can open and read existing
files in this directory unless blocked by mask or trustee rights
assignments. For a file the trustee can open and read this file}
TR_Write = $0002; {word; For a directory, the trustee can open and write existing
files in this directory unless blocked by mask or trustee rights
assignments. For a file the trustee can open and write this file}
TR_Undefined = $0004; {word}
TR_Create = $0008; {word; For a directory, the trustee can create files and subdirectories
in this directory. For a file, the trustee can salvage this file if
deleted.}
TR_Erase = $0010; {word; For a directory, the trustee can delete this directory if the
trustee has rights to delete everything inside it. For a file, the
trustee can delete this file.}
TR_Access = $0020; {word; For a directory, the trustee can modify the trustee list and
inherited rights mask of this directory. For a file, the trustee can
modify the trustee list and inherited rights mask of this file.}
TR_File = $0040; {word; For a directory, the trustee can see the names of files in this
directory when scanning it (unless blocked by mask or trustee rights
assignments). For a file, the trustee can see the name of this file
when scanning the directory.}
TR_Modify = $0080; {word; For a directory, the trustee can rename this directory and change
its attributes. For a file, the trustee can rename this file and change
its attributes.}
TR_Normal = $00FF; {word; This attribute grants all rights except TR_Supervisor}
TR_Supervisor = $0100; {word; For a directory, the trustee has all rights to this directory and
all subdirectories and files. The trustee can grant supervisor rights to
other users in this directory and it subdirectories and files. User's rights
override all inherited rights masks in subdirectoriesand files. The trustee
can assign space limitations to subdirectories. For a file, the trustee has
all rights to this file.}
TR_All = $01FF; {word; This attribute is a combination of the preceding two attributes.}
{** Attributes of objects and properties in the bindery **}
BF_Static = $00; {byte; Object/property is permanent}
BF_Dynamic = $01; {byte; Object/property is temporary}
BF_Item = $00; {byte; An item property}
BF_Set = $01; {byte; A set property}
TYPE
AccountRestrictionsType = RECORD
AccountExpirationDate : Byte3ArrayType;
AccountDisabledFlag : BYTE;
PasswordExpirationDate : Byte3ArrayType;
GraceLoginsRemaining : BYTE;
PasswordExpirationInterval : WORD;
GraceLoginResetValue : BYTE;
MinimumPasswordLength : BYTE;
MaximumConcurrentConnections : WORD;
AllowedLoginTimeBitmap : Byte42ArrayType;
LastLoginDateAndTime : Byte6ArrayType;
RestrictionFlags : BYTE;
Unused : BYTE;
MaximumDiskUsageInBlocks : LONGINT;
BadLoginCount : WORD;
NextResetTime : LONGINT;
BadLoginAddress : Byte12ArrayType;
END;
{***********************************************}
{*** END OF BINDERY SERVICES FOR DOS CLIENTS ***}
{***********************************************}
{***********************************************}
{*** COMMUNICATIONS SERVICES FOR DOS CLIENTS ***}
{***********************************************}
CONST
Short_Lived = $00;
Long_Lived = $FF;
Enable_Watchdog = $FF;
Disable_WatchDog = $00;
SPX_Is_Installed = $FF;
SPX_Not_Installed = $00;
SPX_Connection_Ok = $00;
SPX_Connection_Started = $00;
SPX_Connection_Established = $00;
SPX_Packet_Successful = $00;
SPX_Socket_Not_Opened = $FF;
SPX_Malformed_Packet = $FD;
SPX_Packet_Overflow = $FD;
SPX_Listen_Canceled = $FC;
SPX_Connection_Table_Full = $EF;
SPX_Invalid_Connection = $EE;
SPX_No_Answer_From_Target = $ED;
SPX_Connection_Failed = $ED;
SPX_Connection_Terminated = $ED;
SPX_Terminate_Poorly = $EC;
TYPE
IPXAddress = RECORD
Network : Byte4ArrayType;
Node : Byte6ArrayType;
Socket : WORD;
END;
IPXHeader = RECORD
CheckSum : WORD;
HLength : WORD;
TransportControl : BYTE;
PacketType : BYTE;
Destination : IPXAddress;
Source : IPXAddress;
END;
SPXHeader = RECORD
CheckSum : WORD;
HLength : WORD;
TransportControl : BYTE;
PacketType : BYTE;
Destination : IPXAddress;
Source : IPXAddress;
ConnectionControl : BYTE;
DataStreamType : BYTE;
SourceConnectionID : WORD;
DestConnectionID : WORD;
SequenceNumber : WORD;
AcknowledgeNumber : WORD;
AllocationNumber : WORD;
END;
ECBFragmentType = RECORD
Address : POINTER;
Size : WORD;
END;
ECB = RECORD
LinkAddress : POINTER;
ESRAddress : POINTER;
InUseFlag : BYTE;
CompletionCode : BYTE;
SocketNumber : WORD;
IPXWorkSpace : Byte4ArrayType;
DriverWorkSpace : Byte12ArrayType;
ImmediateAddress : Byte6ArrayType;
FragmentCount : WORD;
FragmentDescriptor : ECBFragmentType;
END;
Connection_Info = RECORD
ConnectionState : BYTE;
ConnectionFlags : BYTE;
SourceConnectionID : WORD;
DestinationConnectionID : WORD;
SequenceNumber : WORD;
AcknowledgeNumber : WORD;
AllocationNumber : WORD;
RemoteAcknowledgeNumber : WORD;
RemoteAllocationNumber : WORD;
ConnectionSocket : WORD;
ImmediateAddress : Byte6ArrayType;
Destination : IPXAddress;
RetransmissionCount : WORD;
EstimatedRoundTripDelay : WORD;
RetransmittedPackets : WORD;
SuppressedPackets : WORD;
END;
{******************************************************}
{*** END OF COMMUNICATIONS SERVICES FOR DOS CLIENTS ***}
{******************************************************}
{******************************************}
{*** DIRECTORY SERVICES FOR DOS CLIENTS ***}
{******************************************}
CONST
NoRestrictionValue = $40000000;
SectorSize386 = 512;
MaxNetwareSearchDrives = 16;
{** Drive constant definitions **}
NoBaseDrive = $FF;
TemporaryDrive = $00;
PermanentDrive = $01;
TempDrive = $1A;
TempDrive1 = $1B;
TempDrive2 = $1C;
TempDrive3 = $1D;
{** Drive status definitions **}
DrivePermanent = $01; {byte; Permanently mapped to network}
DriveTemporary = $02; {byte; Temporary mapped to network}
DriveNetwork = $03; {byte; Mapped to network}
DriveLocal = $80; {byte; Local drive, if network bit set - mapped to network}
DriveAdd = $01;
DriveInsert = $02;
DriveDelete = $03;
{** Name Spaces **}
Dos_Name_Space = 0;
Mac_Name_Space = 1;
{** Extended file attributes **}
TF_Normal = $0000;
TF_ReadOnly = $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 = $0100;
TF_Mid_Search = $0200;
TF_Hi_Search = $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;
{** Modify bits to be used with SETENTRY **}
M_Modify_Name = $0001;
M_File_Attributes = $0002;
M_Create_Date = $0004;
M_Create_Time = $0008;
M_Owner_ID = $0010;
M_Last_Archived_Date = $0020;
M_Last_Archived_Time = $0040;
M_Last_Archived_ID = $0080;
M_Last_Updated_Date = $0100;
M_Last_Updated_Time = $0200;
M_Last_Updated_ID = $0400;
M_Last_Accessed_Date = $0800;
M_Inherited_Rights_Mask = $1000;
M_Maximum_Space = $2000;
M_Mac_Modify_Name = 1;
M_Mac_Finder_Info = 2;
M_Mac_ProDos_Info = 4;
TYPE
Volume_Stats = RECORD
SystemElapsedTime : LONGINT;
VolumeNumber : BYTE;
LogicalDriveNumber : BYTE;
SectorsPerBlock : WORD;
StartingBlock : WORD;
TotalBlocks : WORD;
AvailableBlocks : WORD;
TotalDirectorySlots : WORD;
AvailableDirectorySlots : WORD;
MaxDirectorySlotsUsed : WORD;
IsHashing : BYTE;
IsCaching : BYTE;
IsRemovable : BYTE;
IsMounted : BYTE;
VolumeName : VolumeNameType;
END;
NWSalv_Entry = RECORD
EntryID : LONGINT;
Attributes : LONGINT;
NameSpaceType : BYTE;
Name : NameSpaceNameType;
LastArchiveDateAndTime : LONGINT;
LastArchiverID : OT_BinderyID;
ModifyDateAndTime : LONGINT;
LastModifierID : OT_BinderyID;
DataForkSize : LONGINT;
LastAccessedDate : WORD;
DeletedFileTime : LONGINT;
DeletedDateAndTime : LONGINT;
DeletorID : LONGINT;
END;
NWFile_Entry = RECORD
Sequence : LONGINT;
Reserved1 : LONGINT;
Attributes : LONGINT;
Reserved2 : Byte2ArrayType;
NSType : BYTE;
Name : NameSpaceNameType;
CreationDate : WORD;
CreationTime : WORD;
OwnerID : OT_BinderyID;
LastArchivedDate : WORD;
LastArchivedTime : WORD;
LastArchiverID : OT_BinderyID;
ModifyDate : WORD;
ModifyTime : WORD;
lastModifierID : OT_BinderyID;
DataForkSize : LONGINT;
Reserved3 : Byte44ArrayType;
InheritedRightsMask : WORD;
LastAccessDate : WORD;
Reserved4 : Byte28ArrayType;
END;
NWDir_Entry = RECORD
Sequence : LONGINT;
Reserved1 : LONGINT;
Attributes : LONGINT;
Reserved2 : Byte2ArrayType;
NSType : BYTE;
Name : NameSpaceNameType;
CreationDate : WORD;
CreationTime : WORD;
OwnerID : OT_BinderyID;
LastArchivedDate : WORD;
LastArchivedTime : WORD;
LastArchiverID : OT_BinderyID;
ModifyDate : WORD;
ModifyTime : WORD;
Reserved3 : Byte56ArrayType;
InheritedRightsMask : WORD;
Reserved4 : Byte26ArrayType;
END;
NWPhys_Entry = RECORD
Sequence : LONGINT;
Reserved1 : LONGINT;
Attributes : LONGINT;
Reserved2 : Byte2ArrayType;
NSType : BYTE;
Name : NameSpaceNameType;
CreationDate : WORD;
CreationTime : WORD;
OwnerID : OT_BinderyID;
LastArchivedDate : WORD;
LastArchivedTime : WORD;
LastArchiverID : OT_BinderyID;
ModifyDate : WORD;
ModifyTime : WORD;
LastModifierID : OT_BinderyID;
DataForkSize : LONGINT;
Reserved3 : Byte44ArrayType;
InheritedRightsMask : WORD;
LastAccessDate : WORD;
Reserved4 : Byte28ArrayType;
ForkSize : Byte10ArrayType;
END;
NWMacEntry = RECORD
Sequence : LONGINT;
Reserved1 : LONGINT;
Attributes : LONGINT;
Reserved2 : Byte2ArrayType;
NSType : BYTE;
Name : NameSpaceNameType;
ResourceFork : LONGINT;
ResourceForkSize : LONGINT;
FinderInfo : Byte32ArrayType;
ProDosInfo : Byte6ArrayType;
Reserved3 : Byte38ArrayType;
END;
NWDir_Info = RECORD
TotalBlocks : LONGINT;
FreeBlocks : LONGINT;
TotalDirEntries : LONGINT;
AvailDirEntries : LONGINT;
Flags : LONGINT;
SectorsPerBlock : BYTE;
VolumeName : ObjectNameType;
END;
NWVol_Usage = RECORD
TotalBlocks : LONGINT;
FreeBlocks : LONGINT;
PurgableBlocks : LONGINT;
NotYetPurgableBlocks : LONGINT;
TotalDirEntries : LONGINT;
AvailDirEntries : LONGINT;
MaxDirEntriesUsed : LONGINT;
Flags : Byte4ArrayType;
BlockSize : WORD;
IsHashing : BYTE;
IsRemovable : BYTE;
VolName : ObjectNameType;
END;
NWDir_Rest = RECORD
Level : BYTE;
MAXAVAIL : LONGINT;
CurrentUsed : LONGINT;
END;
{*************************************************}
{*** END OF DIRECTORY SERVICES FOR DOS CLIENTS ***}
{*************************************************}
{********************************************************}
{*** FILE SERVER ENVIRONMENT SERVICES FOR DOS CLIENTS ***}
{********************************************************}
TYPE
Conn_Semaphore = RECORD
OpenCount : WORD;
SempahoreValue : BYTE;
TaskNumber : BYTE;
SemaphoreName : SemaphoreNameType;
END;
Conn_Task_Info = RECORD
LockStatus : BYTE;
WaitingTaskNumber : BYTE;
BeginAddress : LONGINT;
EndAddress : LONGINT;
VolumeNumber : BYTE;
NumberOfTasks : BYTE;
DirectoryEntry : WORD;
LockedName : String50Type;
TaskNumber : BYTE;
TaskState : BYTE;
END;
Conn_Usage = RECORD
SystemElapsedTime : LONGINT;
BytesRead : Byte6ArrayType;
BytesWritten : Byte6ArrayType;
TotalRequestPackets : LONGINT;
END;
Conn_Using_File = RECORD
UseCount : WORD;
OpenCount : WORD;
OpenForReadCount : WORD;
OpenForWriteCount : WORD;
DenyReadCount : WORD;
DenyWriteCount : WORD;
Reserved1 : WORD;
Locked : BYTE;
Reserved2 : BYTE;
LogicalConnNumber : WORD;
TaskNumber : BYTE;
LockType : BYTE;
AccessFlags : BYTE;
LockStatus : BYTE;
END;
Disk_Cache_Stats = RECORD
SystemElapsedTime : LONGINT;
CacheBufferCount : WORD;
CacheBufferSize : WORD;
DirtyCacheBuffers : WORD;
CacheReadRequests : LONGINT;
CacheWriteRequests : LONGINT;
CacheHits : LONGINT;
CacheMIsses : LONGINT;
PhysicalReadRequests : LONGINT;
PhysicalWriteRequests : LONGINT;
PhysicalReadErrors : WORD;
PhysicalWriteErrros : WORD;
CacheGetRequests : LONGINT;
CacheFullWriteRequests : LONGINT;
CachePartialWriteRequests : LONGINT;
BackgroundDirtyWrites : LONGINT;
BackgroundAgedWrites : LONGINT;
TotalCacheWrites : LONGINT;
CacheAllocations : LONGINT;
ThrashingCount : WORD;
LRUBlockWasDirtyCount : WORD;
ReadBeyondWriteCount : WORD;
FragmentedWriteCount : WORD;
CacheHitOnUnavailCount : WORD;
CacheBlockScrappedCount : WORD;
END;
Disk_Channel_Stats = RECORD
SystemElapsedTime : LONGINT;
ChannelState : WORD;
ChannelSyncState : WORD;
DriverType : BYTE;
DriverMajorVersion : BYTE;
DriverMinorVersion : BYTE;
DriverDescriptionVersion : String65Type;
IOAddr1 : WORD;
IOAddr1Size : WORD;
IOAddr2 : WORD;
IOAddr2Size : WORD;
SharedMem1Seg : Byte3ArrayType;
SharedMem1Ofs : WORD;
SharedMem2Seg : Byte3ArrayType;
SharedMem2Ofs : WORD;
Interupt1Used : BYTE;
Interupt1 : BYTE;
Interupt2Used : BYTE;
Interupt2 : BYTE;
DMAChannel1Used : BYTE;
DMAChannel1 : BYTE;
DMAChannel2Used : BYTE;
DMAChannel2 : BYTE;
Reserved2 : WORD;
ConfigDescription : String80Type;
END;
Drive_Map_Table = RECORD
SystemElapsedTime : LONGINT;
SFTLevel : BYTE;
LogicalDriveCount : BYTE;
PhysicalDriveCount : BYTE;
DiskChannelTable : Byte5ArrayType;
PendingIOCommands : WORD;
MappingTable : Byte32ArrayType;
DriveMirrorTable : Byte32ArrayType;
DeadMirrorTable : Byte32ArrayType;
RemirroredDrive : BYTE;
Reserved : BYTE;
RemirroredBlock : LONGINT;
SFTErrorTable : Word60ArrayType;
END;
File_Sys_Stats = RECORD
SystemElapsedTime : LONGINT;
MaxOpenFiles : WORD;
MaxFilesOpened : WORD;
CurrOpenFiles : WORD;
TotalFilesOpened : LONGINT;
TotalReadRequests : LONGINT;
TotalWriteRequests : LONGINT;
CurrChangedFATSectors : WORD;
TotalChangedFATSectors : LONGINT;
FATWriteErrors : WORD;
FatalFATWriteErrors : WORD;
FATScanErrors : WORD;
MaxIndexFilesOpened : WORD;
CurrOpenIndexedFiles : WORD;
AttachedIndexFiles : WORD;
AvailableIndexFiles : WORD;
END;
Lan_Config = RECORD
NetworkAddress : Byte4ArrayType;
HostAddress : Byte6ArrayType;
LANDriverInstalled : BYTE;
OptionNumber : BYTE;
ConfigurationText1 : String80Type;
ConfigurationText2 : String80Type;
END;
Logical_Rec_Info = RECORD
CurrentUseCount : WORD;
ShareableLockCount : WORD;
Reserved1 : WORD;
Locked : BYTE;
Reserved2 : BYTE;
LogicalConnectionNumber : WORD;
TaskNumber : BYTE;
LockStatus : BYTE;
END;
Logical_Record = RECORD
TaskNumber : BYTE;
LockStatus : BYTE;
LogicalLockName : LogicalLockNameType;
END;
Conn_Open_Files = RECORD
TaskNumber : BYTE;
LockStatus : BYTE;
AccessFlag : BYTE;
LockType : BYTE;
VolumeNumber : BYTE;
Reserved : BYTE;
DirectoryEntry : WORD;
FileName : FileNameType;
END;
Phys_Disk_Stats = RECORD
SystemElapsedTime : LONGINT;
DiskChannel : BYTE;
DiskRemovable : BYTE;
DriveType : BYTE;
ControllerDriveNumber : BYTE;
ControllerNumber : BYTE;
ControllerType : BYTE;
DriveSize : LONGINT;
DriveCylinders : WORD;
DriveHeads : BYTE;
SectorsPerTrack : BYTE;
IOErrorCount : WORD;
HotFixStart : LONGINT;
HotFixSize : WORD;
HotFixBlockAvailable : WORD;
HotFixDisabled : BYTE;
END;
Phys_Rec_Lock = RECORD
PhysicalRecordLockCount : BYTE;
Reserved : BYTE;
LoggedCount : WORD;
ShareLockCount : WORD;
RecordStart : LONGINT;
RecordEnd : LONGINT;
ConnectionNumber : WORD;
TaskNumber : BYTE;
LockType : BYTE;
END;
Server_Lan_IO = RECORD
SystemElapsedTime : LONGINT;
MaxRoutingBuffersAvail : WORD;
MaxRoutingBuffersUsed : WORD;
RoutingBuffersInUse : WORD;
TotalFileServicePackets : LONGINT;
FileServicePacketsBuffered : WORD;
InvalidConnPacketCount : WORD;
BadLogicalConnCount : WORD;
PacketsRcvdDuringProcCount : WORD;
ReprocessedRequestCount : WORD;
BadSequenceNumberPacketCount : WORD;
DuplicateReplyCount : WORD;
AcknowledgementsSent : WORD;
BadRequestTypeCount : WORD;
AttachDuringProcCount : WORD;
AttachWhileAttachingCount : WORD;
ForgedDetachRequestCount : WORD;
BadConnNumberOnDetachCount : WORD;
DetachDuringProcCount : WORD;
RepliesCanceledCount : WORD;
HopCountDiscardCount : WORD;
UnknownNetDiscardCount : WORD;
NoDGroupBufferDiscardCount : WORD;
OutPacketNoBufferDiscardCount : WORD;
IPXNotMyNetworkCount : WORD;
NetBiosPropagationCount : LONGINT;
TotalOtherPackets : LONGINT;
TotalRoutedPackets : LONGINT;
END;
Server_Misc_Info = RECORD
SystemElapsedTime : LONGINT;
ProcessorType : BYTE;
Reserved : BYTE;
ServiceProcessCount : BYTE;
ServerUtilizationCount : BYTE;
MaxBinderyObjectsAvail : WORD;
MaxBinderyObjectsUsed : WORD;
BinderyObjectsInUse : WORD;
ServerMemoryInK : WORD;
ServerWastedMemoryInK : WORD;
DynamicAreaCount : WORD;
DynamicSpace1 : LONGINT;
MaxUsedDynamicSpace1 : LONGINT;
DynamicSpaceInUse1 : LONGINT;
DynamicSpace2 : LONGINT;
MaxUsedDynamicSpace2 : LONGINT;
DynamicSpaceInUse2 : LONGINT;
DynamicSpace3 : LONGINT;
MaxUsedDynamicSpace3 : LONGINT;
DynamicSpaceInUse3 : LONGINT;
END;
File_Serv_Info = RECORD
ServerName : ObjectNameType;
NetwareVersion : BYTE;
NetwareSubVersion : BYTE;
MaxConnectionsSupported : WORD;
ConnectionsInUse : WORD;
MaxVolumesSupported : WORD;
RevisionLevel : BYTE;
SFTLevel : BYTE;
TTSLevel : BYTE;
PeakConnectionsUsed : WORD;
AccountingVersion : BYTE;
VAPVersion : BYTE;
QueingVersion : BYTE;
PrintServerVersion : BYTE;
VirtualConsoleVersion : BYTE;
SecurityRestrictionsLevel : BYTE;
InternetBridgeSupport : BYTE;
END;
Short_Phys_Rec_Lock = RECORD
TaskNumber : BYTE;
LockFlag : BYTE;
RecordStart : LONGINT;
RecordEnd : LONGINT;
END;
TTS_Stats = RECORD
SystemElapsedTime : LONGINT;
TTS_Supported : BYTE;
TTS_Enabled : BYTE;
TTS_VolumeNumber : WORD;
TTS_MaxOpenTransactions : WORD;
TTS_MaxTransactionsOpened : WORD;
TTS_CurrTransactionsOpened : WORD;
TTS_TotalTransactions : LONGINT;
TTS_TotalWrites : LONGINT;
TTS_TotalBackouts : LONGINT;
TTS_UnfilledBackouts : WORD;
TTS_DiskBlocksInUse : WORD;
TTS_FATAllocations : LONGINT;
TTS_FileSizeChanges : LONGINT;
TTS_FilesTruncated : LONGINT;
NumberOfTransactions : BYTE;
ConnectionNumber : BYTE;
TaskNumber : BYTE;
END;
{***********************************************}
{*** END OF FILE SERVER ENVIRONMENT SERVICES ***}
{***********************************************}
{**************************************}
{*** PRINT SERVICES FOR DOS CLIENTS ***}
{**************************************}
TYPE
Capture_Flags = RECORD
Status : BYTE;
Flags : BYTE;
TabSize : BYTE;
ServerPrinter : BYTE;
NumberOfCopies : BYTE;
FormType : BYTE;
Reserved : BYTE;
BannerText : BannerTextType;
Reserve : BYTE;
LocalLPTDevice : BYTE;
FlushCaptureTimeoutCount : WORD;
FlushCaptureOnDeviceClose : BYTE;
MaxLines : WORD;
MaxChars : WORD;
FormName : FormNameType;
LPTCaptureFlag : BYTE;
FileCaptureFlag : BYTE;
TimingOutFlag : BYTE;
PrinterSetupBuffer : LONGINT;
PrinterResetBuffer : LONGINT;
ConnectionIDQueuePrintJob : BYTE;
CaptureInProgress : BYTE;
PrintQueueFlag : BYTE;
PrintJobValid : BYTE;
PrintQueueID : OT_BinderyID;
PrintJobNumber : WORD;
END;
Set_Capture_Flags = RECORD
Status : BYTE;
Flags : BYTE;
TabSize : BYTE;
ServerPrinter : BYTE;
NumberOfCopies : BYTE;
FormType : BYTE;
Reserved : BYTE;
BannerText : BannerTextType;
Reserve : BYTE;
LocalLPTDevice : BYTE;
FlushCaptureTimeoutCount : WORD;
FlushCaptureOnDeviceClose : BYTE;
MaxLines : WORD;
MaxChars : WORD;
FormName : FormNameType;
Pad : Byte21ArrayType;
END;
{*********************************************}
{*** END OF PRINT SERVICES FOR DOS CLIENTS ***}
{*********************************************}
{**************************************}
{*** QUEUE SERVICES FOR DOS CLIENTS ***}
{**************************************}
CONST
{JOB CONTROL FLAGS}
QF_Operator_Hold = $80;
QF_User_Hold = $40;
QF_Entry_Open = $20;
QF_Service_Restart = $10;
QF_Auto_Start = $08;
{QUEUE STATUS FLAGS}
QS_Cant_Add_Jobs = $01;
QS_Servers_Cant_Attach = $02;
QS_Cant_Service_Jobs = $04;
TYPE
FileOfByte = FILE OF BYTE;
JobStruct = RECORD
ClientStation : BYTE;
ClientTaskNumber : BYTE;
ClientIDNumber : OT_BinderyID;
TargetServerIDNumber : OT_BinderyID;
TargetExecutionTime : Byte6ArrayType;
JobEntryTime : Byte6ArrayType;
JobNumber : WORD;
JobType : WORD;
JobPosition : BYTE;
JobControlFlags : BYTE;
JobFileName : Byte14ArrayType; {FileNameType;}
JobFileHandle : Byte6ArrayType;
ServerStation : BYTE;
ServerTaskNumber : BYTE;
ServerIDNumber : OT_BinderyID;
TextJobDescription : Byte50ArrayType;
ClientRecordArea : Byte152ArrayType;
END;
{*****************************************}
{*** END OF QUEUE ENVIRONMENT SERVICES ***}
{*****************************************}
{*********************}
{*** MISCEALLONOUS ***}
{*********************}
CONST
HexCharacterSet : ARRAY [0 .. 15] OF CHAR = '0123456789ABCDEF';
TYPE
ConnectionIDTableType = RECORD
InUseFlag : BYTE;
OrderNumber : BYTE;
NetworkNumber : Byte4ArrayType;
PhysicalNodeAddress : Byte6ArrayType;
SocketNumber : WORD;
ReceiveTimeOut : WORD;
RoutingNode : Byte6ArrayType;
PacketSequenceNumber : BYTE;
ConnectionNumber : BYTE;
ConnectionStatus : BYTE;
MaximumTimeOut : WORD;
Padding : Byte5ArrayType;
END;
AddressValueType = RECORD
LENGTH : BYTE;
NetworkNumber : Byte4ArrayType;
NodeAddress : Byte6ArrayType;
END;
ServerAddressType = RECORD
NetworkNumber : Byte4ArrayType;
NodeAddress : Byte6ArrayType;
SocketNumber : WORD;
AddressValue : String10Type;
END;
ServerIDTableType = RECORD
STInUse : BOOLEAN;
STOrderNumber : WORD;
STAddress : ServerAddressType;
END;
CONST
BlankServerIDTable : ServerIDTableType =
(STInuse : FALSE;
STOrderNumber : 0;
STAddress : (NetworkNumber : (0, 0, 0, 0);
NodeAddress : (0, 0, 0, 0, 0, 0);
SocketNumber : 0;
AddressValue : '') );
MaxObjectsInList = 250;
MaxSlotsInShell = 8;
TYPE
ObjectListingType = ARRAY [1 .. MaxObjectsInList] OF ObjectNameType;
ObjectListingTypePtr = ^ObjectListingType;