Category : Pascal Source Code
Archive   : TPNOV6.ZIP
Filename : NOVHDR.DOC

 
Output of file : NOVHDR.DOC contained in archive : TPNOV6.ZIP
unit NovAPI;


(**************************************************************************)
(* Turbo Pascal/Novell API Interface Library *)
(* *)
(* Copyright (c) 1991 by 'LANtic Software. *)
(* All rights reserved. *)
(* *)
(**************************************************************************)


interface

uses DOS;

const
USER_OBJECT = 1;
GROUP_OBJECT = 2;
PRINT_QUEUE_OBJECT = 3;
FILE_SERVER_OBJECT = 4;
JOB_SERVER = 5;
GATEWAY_OBJECT = 6;
PRINT_SERVER_OBJECT = 7;
ARCHIVE_QUEUE_OBJECT = 8;
ARCHIVE_SERVER_OBJECT = 9;
JOB_QUEUE = 10;
ADMINSTRATIVE_OBJECT = 11;
REMOTE_BRIDGE_SERVER = 36;
ADVERTISING_PRINT_SERVER = 71;
ANY_OBJECT = -1;

{$I NOVERR}

STATIC_BINDERY = 0;
DYNAMIC_BINDERY = 1;

ITEM_PROPERTY = 0;
SET_PROPERTY = 2;

ANYONE_READ = $00;
LOGGED_READ = $01;
OBJECT_READ = $02;
SUPERVISOR_READ = $03;
NETWORK_READ = $04;
ANYONE_WRITE = $00;
LOGGED_WRITE = $10;
OBJECT_WRITE = $20;
SUPERVISOR_WRITE = $30;
NETWORK_WRITE = $40;

READ_RIGHTS = $01;
WRITE_RIGHTS = $02;
OPEN_RIGHTS = $04;
CREATE_RIGHTS = $08;
DELETE_RIGHTS = $10;
PARENTAL_RIGHTS = $20;
SEARCH_RIGHTS = $40;
MODIFY_RIGHTS = $80;

STANDARD_RIGHTS = READ_RIGHTS or OPEN_RIGHTS or SEARCH_RIGHTS;
ALL_RIGHTS = $0FF;

NORMAL_FILES = $00;
HIDDEN_FILES = $02;
SYSTEM_FILES = $04;

FA_READ_ONLY = $01; (* file attibutes *)
FA_HIDDEN = $02;
FA_SYSTEM = $04;
FA_EXECUTE_ONLY = $08;
FA_SUBDIRECTORY = $10;
FA_ARCHIVE = $20;
FA_SHAREABLE = $80;

EFA_TRANSACTIONAL = $10; (* extended file attributes *)
EFA_INDEXED = $20;
EFA_READ_AUDIT = $40;
EFA_WRITE_AUDIT = $80;

PREVENT_QUEUE_ADDS = 01;
PREVENT_SERVER_ATTACH = 02;
PREVENT_SERVER_SERVICE = 04;

OPERATOR_HOLD = $80;
USER_HOLD = $40;
ENTRY_OPEN = $20;
SERVICE_RESTART = $10;
SERVICE_AUTO_START = $08;


type
QueueTimeRecord = RECORD
Year : 0..255;
Month : 1..12;
Day : 1..31;
Hour : 0..23;
Minute : 0..59;
Second : 0..59;
end;
ServerTimeRecord = QueueTimeRecord;

Days = (SUNDAY,MONDAY,TUESDAY,WEDNESDAY,THURSDAY,FRIDAY,SATURDAY);

NetworkTimeRecord = RECORD
Year : 0..255;
Month : 1..12;
Day : 1..31;
Hour : 0..23;
Minute : 0..59;
Second : 0..59;
DayOfWeek : 0..6;
end;

string13 = string[13];
string15 = string[15];
string16 = string[16];
string27 = string[27];
string47 = string[47];
string48 = string[48];
string55 = string[55];
string60 = string[60];
string63 = string[63];
string64 = string[64];
string79 = string[79];
string80 = string[80];
string99 = string[99];
string100 = string[100];
string126 = string[126];
string127 = string[127];

Array32 = array[1..32] of byte;

Array32Ptr = ^Array32;

ServerName = array[1..48] of char;

NameTable = array[1..8] of ServerName;

NameTablePtr = ^NameTable;

LPTNames = (LPT1,LPT2,LPT3);

DownServerCommands = (CONDITIONAL,FOURCE_IT);

WhichJobs = (THIS_JOB,ALL_JOBS);

BroadcastModes = (STORE_DISPLAY,REJECT_DISPLAY,REJECT_IGNORE,STORE_IGNORE);

LockModes = (NETWARE46,ADVANCED_NETWARE);

LockDirectives = (EXCLUSIVE,SHAREABLE_READ_ONLY);

LogModes = (LOG_ONLY,LOG_AND_LOCK);

LogicalLockDirectives = (LOG_LOCK,EXCLUSIVE_LOCK,dummy,SHARABLE_READ_ONLY_LOCK);

EndOfJobStatus = (DISABLE_EOJ,ENABLE_EOJ);

ErrorModes = (NETWARE_CRITICAL,EXTENDED_ALL,EXTENDED_CRITICAL);

CommentTypes = (UNKNOWN,CONNECT_TIME,STORAGE,LOG_IN,LOG_OUT,
ACC_LOCKED,TIME_MODIFIED,AUDIT_NOTE);

TrusteeIDArray = array[1..5] of longint;
TrusteeRightsArray = array[1..5] of byte;

NetworkAddress = array[1..4] of byte;
NodeAddress = array[1..6] of byte;
SocketAddress = word;

InternetworkAddress = RECORD
NetworkNumber : NetworkAddress;
PhysicalNodeNumber : NodeAddress;
SocketNumber : SocketAddress;
end;

ConnectionEntry = RECORD
InUse : boolean;
ConnectionID : byte;
ServerAddress : InternetworkAddress;
ReceiveTimeOut : word;
RouterPhysicalNode : NodeAddress;
SequenceNumber : byte;
ConnectionNumber : byte;
ConnectionOK : byte;
MaximumTimeOut : word;
Filler : array[1..5] of byte;
end;

ConnectionTable = array[1..8] of ConnectionEntry;
ConnectionTablePointer = ^ConnectionTable;

DriveHandleTable = array[1..32] of byte;
DriveHandleTablePtr = ^DriveHandleTable;

DriveConnectionTable = array[1..32] of byte;
DriveConnectionTablePtr = ^DriveConnectionTable;

DriveFlagTable = array[1..32] of byte;
DriveFlagTablePtr = ^DriveFlagTable;

FormArray = array[1..22] of char;
BannerArray = array[1..13] of char;
FileArray = array[1..14] of char;
DirArray = array[1..80] of char;
DescripArray = array[1..50] of char;

NetwarePrintQueueHeaderType = RECORD
ClientAreaVersion : byte;
TabSize : byte;
NumberCopies : word;
Unknown : byte;
PrintFlags : byte; (* >> bit 80 = Use Banner, 40 = Use tabs *)
PageWidth : word; (* 08 = FF off, 04 = ???? *)
PageLength : word;
FormName : FormArray;
BannerPhrase : BannerArray;
BannerFile : BannerArray;
FileName : FileArray;
NetworkPath : DirArray;
end;

FileServerFileHandle = RECORD
case integer of
0 : (Bytes : array[1..6] of byte);
1 : (Words : array[1..3] of word);
end;

JobEntryRecord = RECORD
ClientStation : byte;
ClientTask : byte;
ClientIDNumber : longint;
TargetServerIDNumber : longint;
TargetExecutionTime : QueueTimeRecord;
JobEntryTime : QueueTimeRecord;
JobNumber : word;
JobType : word;
JobPosition : byte;
JobControlFlags : byte;
JobFileName : array[1..14] of char;
JobFileHandle : FileServerFileHandle;
ServerStation : byte;
ServerTask : byte;
ServerIDNumber : longint;
TextJobDescription : DescripArray;
ClientRecordArea : array[1..152] of byte;
end;

JobArray = array[1..250] of word;

CaptureFlags = RECORD
Status : byte;
PrintFlags : byte;
TabSize : byte;
ServerPrinter : byte;
NumberOfCopies : byte;
FormType : byte;
reserved1 : byte;
BannerText : BannerArray;
reserved2 : byte;
LocalLPTDevice : LPTNames;
FlushTimeOutCount : word;
FlushOnDeviceClose : byte;
MaxLines : word;
MaxChars : word;
FormName : BannerArray
end;

PrintFlagInformation = RECORD
CaptureInfo : CaptureFlags;
LPTCaptureFlagSet : boolean;
FileCaptureFlagSet : boolean;
TimingOutFlagSet : boolean;
PrinterSetupString : pointer;
PrinterResetString : pointer;
QueuingServerConnectionNbr : byte;
CaptureInProgress : boolean;
PrintQueueFlagSet : boolean;
PrintJobIsValid : boolean;
PrintQueueObjectID : longint;
PrintJobNumber : word;
end;

IDList = array[1..25] of longint;

StationList = array[1..25] of byte;

ServerStatusType = RECORD
JobPrice : longint;
Description : array[1..60] of byte;
end;

DynamicMemoryRec = RECORD
TotalDynamicSpace : longint;
MaxUsedDynamicSpace : longint;
CurrentUsedDynamicSpace : longint;
end;

ServerMiscInformation = RECORD
SystemElapsedTime : longint;
ProcessorType : byte;
reserved : byte;
NumberOfServiceProcesses : byte;
ServerUtilizationPercentage : byte;
ConfiguredMaxBinderyObjects : word;
ActualMaxBinderyObjects : word;
CurrentUsedBinderyObjects : word;
TotalServerMemory : word;
WastedServerMemory : word;
DynamicMemoryRecs : word;
DynamicMemory : array[1..3] of DynamicMemoryRec;
end;

ServerLANIOStatistics = RECORD
SystemElapsedTime : longint;
ConfiguredMaxRoutingBuffers : word;
ActualMaxUsedRoutingBuffers : word;
CurrentlyUsedRoutingBuffers : word;
TotalFileServicePackets : longint;
FileServicePacketsBuffered : word;
InvalidConnectionPackets : word;
BadLogicalConnectionNumber : word;
PacketsReceivedDuringProcessing : word;
ReprocessedRequests : word;
BadSequenceNumberPackets : word;
DuplicateRepliesSent : word;
AcknowledgesSent : word;
PacketsWithBadRequestType : word;
AttachDuringProcessing : word;
AttachWhileProcessingAttach : word;
ForgedDetachRequests : word;
DetachForBadConnectionNumber : word;
DetachDuringProcessing : word;
RepliesCanceled : word;
PacketsDiscardedByHopCount : word;
PacketsDiscardedUnknownNet : word;
IncomingPacketDiscardedNoDGroupBuffer : word;
OutgoingPacketDiscardedNoBuffer : word;
IPXnotMyNetwork : word;
NETBIOSbroadcastWasPropagated : longint;
TotalOtherPackets : longint;
TotalRoutedPackets : longint;
end;

FileSystemStatistics = RECORD
SystemElapsedTime : longint;
ConfiguredMaxOpenFiles : word;
ActualMaxOpenFiles : word;
CurrentOpenFiles : word;
TotalFilesOpened : longint;
TotalReadRequests : longint;
TotalWriteRequests : longint;
CurrentChangedFATS : word;
TotalChangedFATS : word;
FATWriteErrors : word;
FatalFATWRiteErrors : word;
FATScanErrors : word;
ActualMaxIndexedFiles : word;
ActiveIndexedFiles : word;
AttachedIndexedFiles : word;
AvailableIndexedFiles : word;
end;

FileServerInformation = RECORD
ServerName : string47;
NetWareVersion : byte;
NetWareSubVersion : byte;
ConnectionsSupported : word;
ConnectionsInUse : word;
MaxConnectedVolumes : word;
OSRevisionNumber : byte;
SFTLevel : byte;
TTSLevel : byte;
PeakConnectionsUsed : word;
AccountingVersion : byte;
VAPVersion : byte;
QueuingVersion : byte;
PrintServerVersion : byte;
VirtualConsoleVersion : byte;
SecurityRestrictionsLevel : byte;
InternetworkBridgeVersion : byte;
Reserved : array[1..60] of byte;
end;

ChannelSyncType = (AVAILABLE, x1,
NETWARE_NONE_WAITING, x2,
NETWARE_WAITING, x3,
OTHER_NONE_WAITING, x4,
OTHER_NETWARE_WAITING, x5,
RELEASED_NETWARE_WAITING);

DiskChannelStatistics = RECORD
SystemElapsedTime : longint;
ChannelState : integer;
ChannelSynchronizationState : ChannelSyncType;
spacer : byte;
DriverType : byte;
DriverMajorVersion : byte;
DriverMinorVersion : byte;
DriverDescription : string64;
FirstIOAddressUsed : word;
FirstIOAddressLength : word;
SecondIOAddressUsed : word;
SecondIOAddressLength : word;
FirstSharedMemoryAddress : array[1..3] of byte;
FirstSharedMemoryAddressLength : word;
SecondSharedMemoryAddress : array[1..3] of byte;
SecondSharedMemoryAddressLength : word;
Interrupt1Used : boolean;
Interrupt1 : byte;
Interrupt2Used : boolean;
Interrupt2 : byte;
DMAChannel1Used : boolean;
DMAChannel1 : byte;
DMAChannel2Used : boolean;
DMAChannel2 : byte;
FlagBits : byte;
reserved : byte;
ConfigurationDescription : string79;
end;

DiskCacheStatistics = RECORD
SystemElapsedTime : longint;
BufferCount : integer;
BufferSize : integer;
DirtyBuffers : integer;
ReadRequests : longint;
WriteRequests : longint;
Hits : longint;
Misses : longint;
PhysicalReadRequests : longint;
PhysicalWriteRequests : longint;
PhysicalReadErrors : integer;
PhysicalWriteErrors : integer;
GetRequests : longint;
FullWriteRequests : longint;
PartialWriteRequests : longint;
BackgroundDirtyWrites : longint;
BackgroundAgedWrites : longint;
TotalWrites : longint;
Allocations : longint;
ThrashingCount : integer;
LRUBlockWasDirty : integer;
ReadBeyondWrite : integer;
FragmentedWriteOccurred : integer;
HitOnUnavailablleBlock : integer;
BlockScrapped : integer;
end;

VolumeInformation = RECORD
SectorsPerBlock : word;
TotalBlocks : word;
AvailableBlocks : word;
TotalDirectorySlots : word;
AvailableDirectorySlots : word;
VolumeName : string15;
RemovableVolume : boolean;
end;

WorkstationEnvironment = RECORD
WorkstationOperatingSystem : byte;
MajorNetWareShellVersion : byte;
MinorNetWareShellVersion : byte;
ShellRevisionNumber : byte;
Environment : array[1..40] of char;
end;

SemaphoreInfo = RECORD
OpenCount : word;
Value : byte;
TaskNumber : byte;
Name : string[127];
end;

SemaphoreInfoArray = array[1..5] of SemaphoreInfo;

DriveMapArray = array[1..32] of byte;
ServerDriveMappingTable = RECORD
SystemElapsedTime : longint;
SFTLevel : byte;
LogicalDriveCount : byte;
PhysicalDriveCount : byte;
DiskChannelTable : array[1..5] of byte;
PendingIOCommands : word;
DriveMappingTable : DriveMapArray;
DriveMirrorTable : DriveMapArray;
DeadMirrorTable : DriveMapArray;
RemirroredDrive : byte;
reserved : byte;
RemirroredBlock : longint;
SFTErrorTable : array[1..60] of byte;
end;

RemainingSpaceRecord = RECORD
SystemElapsedTime : longint;
ObjectID : longint;
UnusedDiskBlocks : longint;
RestrictionsEnforced : boolean;
end;

PhysicalVolumeInformation = RECORD
SystemElapsedTime : longint;
VolumeNumber : byte;
LogicalDriveNumber : byte;
SectorsPerBlock : word;
StartingBlockNumber : longint;
TotalBlocks : word;
AvailableBlocks : word;
TotalDirectorySlots : word;
AvailableDirectorySlots : word;
ActualMaxUsedDirectoryEntries : word;
IsHashing : boolean;
IsCaching : boolean;
IsRemovable : boolean;
IsMounted : boolean;
Name : string15;
end;

PhysicalDiskStatistics = RECORD
SystemElapsedTime : longint;
PhysicalDiskChannel : byte;
DriveRemovable : boolean;
DriveType : byte;
ControllerDriveNumber : byte;
ControllerNumber : byte;
ControllerType : byte;
DriveSize : longint;
DriveCylinders : word;
DriveHeads : byte;
SectorsPerTrack : byte;
DriveDefinitionString : string63;
IOErrorCount : integer;
HotFixTableStart : longint;
HotFixTableSize : integer;
HotFixBlocksAvailable : integer;
HotFixDisabled : boolean;
end;

AccountHoldServerRec = RECORD
ServerID : longint;
Amount : longint;
end;

AccountHoldServerArray = array[1..16] of AccountHoldServerRec;

SemaphoreInformation = RECORD
LogicalConnectionNumber : integer;
TaskNumber : byte;
end;
SemaphoreInformationRecords = array[1..168] of SemaphoreInformation;


var
NetResult : integer;

procedure AbortServiceQueueJob(QueueID : longint; JobNumber : integer);
procedure AddObjectToSet(WhichObject : string47; WhatType : integer;
WhichProperty : string15;
NewMemberName : string47; NewMemberType : integer);
procedure AddTrusteeToDirectory(WhichObjectID : longint;
DirectoryHandle : integer; Directory : string;
RightsMask : byte);
procedure AllocPermanentDirectoryHandle(CurrentHandle : byte;
Directory : string; DriveLetter : char;
var NewHandle, EffectiveRights : byte);
procedure AllocSpecialTemporaryDirectoryHandle(CurrentHandle : byte;
Directory : string; DriveLetter : char;
var NewHandle, EffectiveRights : byte);
procedure AllocTemporaryDirectoryHandle(CurrentHandle : byte;
Directory : string; DriveLetter : char;
var NewHandle, EffectiveRights : byte);
procedure AttachServerToQueue(QueueID : longint);
procedure AttachToFileServer(ConnectionID : byte);
procedure BroadcastToConsole(Message : string60);
procedure CancelLPTCapture;
procedure CancelSpecificCapture(Device : LPTNames);
procedure ChangeJobQueueEntry(QueueID : longint;
var Job : JobEntryRecord);
procedure ChangeJobQueuePosition(QueueID : longint; JobNumber : integer;
NewPosition : byte);
procedure ChangeObjectPassword(WhichObject : string47; WhatType : integer;
OldPassword, NewPassword : string127);
procedure ChangeObjectSecurity(WhichObject : string47; WhatType : integer;
NewSecurity : byte);
procedure ChangePropertySecurity(WhichObject : string47; WhatType : integer;
WhichProperty : string15; NewSecurity : byte);
procedure ChangeServersRightsToClientsRights(QueueID : longint; JobNumber : integer);
procedure CheckPipeStatus(ConnectionList : string100;
var ResultList : string100);
procedure ClearConnectionNumber(LogicalConnectionNumber : byte);
procedure ClearFile(FileName : string);
procedure ClearFileSet;
procedure ClearLogicalRecord(LogicalRecordName : string99);
procedure ClearLogicalRecordSet;
procedure ClearPhysicalRecord(FileHandle : integer;
RecordOffset, RecordLength : longint);
procedure ClearPhysicalRecordSet;
procedure CloseAndStartQueueJob(QueueID : longint; JobNumber : integer);
procedure CloseBindery;
procedure CloseMessagePipe(ConnectionList : string100;
var ResultList : string100);
procedure CloseSemaphore(SemaphoreHandle : longint);
function ConnectionNumber : integer;
procedure CreateDirectory(NewDirectory : string; NewDirectoryHandle : byte;
MaximumRights : byte);
procedure CreateObject(NewObject : string47; NewType : integer;
ObjectFlag,ObjectSecurity : byte);
procedure CreateProperty(WhichObject : string47; WhatType : integer;
NewProperty : string15; NewFlags,NewSecurity : byte);
procedure CreateQueue(QueueName,QueuePath : string; QueueBase : byte;
var NewQueueID : longint);
procedure CreateQueueJobAndFile(QueueID : longint; var Job : JobEntryRecord);
procedure DeallocateDirectoryHandle(DirectoryHandle : byte);
function DefaultConnectionID : integer;
function DefaultLocalPrinter : LPTNames;
procedure DeleteDirectory(Directory : string; DirectoryHandle : byte);
procedure DeleteObject(WhichObject : string47; WhatType : integer);
procedure DeleteObjectFromSet(WhichObject : string47; WhatType : integer;
WhichProperty : string15;
MemberName : string47; MemberType : integer);
procedure DeleteProperty(WhichObject : string47; WhatType : integer;
NewProperty : string15);
procedure DeleteTrusteeFromDirectory(WhichObjectID : longint;
DirectoryHandle : integer;
Directory : string);
procedure DestroyQueue(QueueID : longint);
procedure DetachFromFileServer(ConnectionID : byte);
procedure DetachServerFromQueue(QueueID : longint);
procedure DisableFileServerLogin;
procedure DisableTransactionTracking;
procedure DownFileServer(OpCode : DownServerCommands);
procedure EnableFileServerLogin;
procedure EnableTransactionTracking;
procedure EndLPTCapture;
procedure EndOfJob(OpCode : WhichJobs);
procedure EndSpecificCapture(Device : LPTNames);
procedure EnterLoginArea(NumberOfLocalDrives : byte;
LoginSubdirectory : string);
procedure ExamineSemaphore(SemaphoreHandle : longint;
var SemaphoreValue : integer;
var OpenCount : integer);
procedure FileServerFileCopy(SourceHandle,DestinationHandle : word;
SourceOffset,DestinationOffset : longint;
BytesToCopy : longint;
var BytesCopied : longint);
function FileServerLoginEnabled : boolean;
procedure FinishServiceQueueJob(QueueID : longint; JobNumber : integer;
Charge : longint);
procedure FlushLPTCapture;
procedure FlushSpecificCapture(Device : LPTNames);
procedure GetAccountStatus(WhichObject : string47; WhatType : integer;
var AccountBalance, CreditLimit : longint;
var ServerList : AccountHoldServerArray);
procedure GetBannerUserName(var BannerUserName : BannerArray);
procedure GetBinderyAccessLevel(var SecurityAccessLevel : byte);
procedure GetBroadcastMessage(var BroadcastMessage : string55);
procedure GetBroadcastMode(var Mode : BroadcastModes);
procedure GetConnectionIDTable(var ShellConnectionTable : ConnectionTablePointer);
procedure GetConnectionInformation(WhichConnection : integer;
var ObjectID : longint;
var ObjectType : integer;
var ObjectName : string47;
var ObjectLogin : NetworkTimeRecord);
procedure GetConnectionsSemaphores(ConnectionNumber : integer;
var LastSeen : integer;
var NumberRecords : byte;
var InfoRec : SemaphoreInfoArray);
procedure GetDefaultCaptureFlags(var Flags : PrintFlagInformation);
procedure GetDirectoryHandle(Drive : char;
var DirectoryHandle, StatusFlag : byte);
procedure GetDirectoryPath(DirectoryHandle : byte;
var Directory : string);
procedure GetDiskCacheStatistics(var InfoRec : DiskCacheStatistics);
procedure GetDiskChannelStatistics(ChannelNbr : byte;
var InfoRec : DiskChannelStatistics);
procedure GetDiskUtilization(WhichObjectID : longint; WhatVolume : byte;
var UsedDirectories,UsedFiles,UsedBlocks : integer);
procedure GetDriveConnectionIDTable(var DrvConnectionTable : DriveConnectionTablePtr);
procedure GetDriveFlagTable(var DrvFlagTable : DriveFlagTablePtr);
procedure GetDriveHandleTable(var DrvHandleTable : DriveHandleTablePtr);
procedure GetDriveMappingTable(var InfoRec : ServerDriveMappingTable);
procedure GetEffectiveDirectoryRights(Directory : string; DirHandle : byte;
var EffectiveRights : byte);
procedure GetExtendedFileAttributes(FileName : string; var ExtendedAttributes : byte);
procedure GetFileServerDateAndTime(var NetworkTime : NetworkTimeRecord);
procedure GetFileServerDescriptionStrings(var CompanyName,Revision,RevisionDate,Copyright : string);
procedure GetFileServerInformation(var InfoRec : FileServerInformation);
procedure GetFileServerNameTable(var ServerNameTable : NameTablePtr);
procedure GetFileSystemStatistics(var InfoRec : FileSystemStatistics);
procedure GetInternetAddress(ConnectionNumber : integer;
var ConnectionAddress : InternetworkAddress);
procedure GetJobsQueueEntryFileSize(QueueID : longint;
JobNumber : integer;
var FileSize : longint);
procedure GetLANDriversConfiguationInformation(WhichLAN : byte;
var Address : NetworkAddress;
var HostAddress : NodeAddress;
var LANDriverInstalled : boolean;
var OptionNumber : byte;
var ConfigurationText : string);
procedure GetListOfQueueJobs(QueueID : longint;
var JobCount : integer;
var Jobs : JobArray);
procedure GetLockMode(var Mode : LockModes);
procedure GetObjectConnectionNumbers(WhichObject : string47; WhatType : integer;
var ConnectionList : string100);
procedure GetObjectID(WhichObject : string47; WhatType : integer;
var ObjectID : longint);
procedure GetObjectName(WhichObjectID : longint;
var ObjectName : string47; var ObjectType : integer);
procedure GetObjectsRemainingDiskSpace(WhichObjectID : longint;
var InfoRec : RemainingSpaceRecord);
procedure GetPersonalMessage(var WhoSentIt : byte; var Message : string);
procedure GetPrinterStatus(ServerPrinter :byte;
var ServerPrinterStopped,
ServerPrinterOffLine : boolean;
var ServerPrinterFormType : byte);
procedure GetSemaphoreInformation(SemaphoreName : string;
var LastSeen,OpenCount : integer;
var Value : shortint;
var NumberRecords : byte;
var Information : SemaphoreInformationRecords);
procedure GetServerLANIOStatistics(var InfoRec : ServerLANIOStatistics);
procedure GetServerMiscInformation(var InfoRec : ServerMiscInformation);
procedure GetSpecificCaptureFlags(Device : LPTNames;
var Flags : PrintFlagInformation);
procedure GetStationAddress(var ThisNodeAddress : NodeAddress);
procedure GetVolumeInformation(VolNumber : byte;
var InfoRec : PhysicalVolumeInformation);
procedure GetVolumeInfoWithHandle(DirHandle : integer; var InfoRec : VolumeInformation);
procedure GetVolumeInfoWithNumber(VolNumber : integer; var InfoRec : VolumeInformation);
procedure GetVolumeName(VolumeNumber : byte; var VolumeName : string15);
procedure GetVolumeNumber(VolumeName : string15;
var VolumeNumber : byte);
procedure GetWorkstationEnvironment(var EnvironmentInfo : WorkstationEnvironment);
function IsObjectInSet(WhichObject : string47; WhatType : integer;
WhichProperty : string15;
MemberName : string47; MemberType : integer) : boolean;
procedure LockFileSet(TimeOutTics : integer);
procedure LockLogicalRecordSet(TimeOutTics : integer);
procedure LockPhysicalRecordSet(Mode : LockDirectives; TimeOutTics : integer);
function LoggedHasConsolePrivileges : boolean;
procedure LogFile(FileName : string; Mode : LogModes; TimeOutTics : integer);
procedure LogLogicalRecord(RecordName : string99;
Mode : LogicalLockDirectives; TimeOutTics : integer);
procedure LogNetworkMessage(Message : string80);
procedure LogPhysicalRecord(FileHandle : word; Mode : LogicalLockDirectives;
RecordStartOffset, RecordLength : longint;
TimeOutTics : integer);
procedure LoginToFileServer(WhichObject : string47; WhatType : integer;
Password : string27);
procedure LogOut;
procedure LogOutFromFileServer(ConnectionID : integer);
function LPTCaptureActive(var QueuingServerConnectionID : integer) : boolean;
procedure ModifyMaximumRightsMask(Directory : string; DirHandle : byte;
RevokeRights, GrantRights : byte);
function NumberOfLocalDrives : integer;
procedure OpenBindery;
procedure OpenMessagePipe(DestinationConnections : string100;
var InitialPipeStatus : string100);
procedure OpenSemaphore(SemaphoreName : string127; InitialValue : integer;
var SemaphoreHandle : longint; var OpenCount : integer);
function PreferredConnectionID : integer;
function PrimaryConnectionID : integer;
procedure PurgeAllErasedFiles;
procedure PurgeErasedFiles;
procedure ReadJobQueueEntry(QueueID : longint; JobNumber : integer;
var Job : JobEntryRecord);
procedure ReadPropertyValue(WhichObject : string47; WhatType : integer;
WhichProperty : string15; SegmentNumber : integer;
var Property;
var PropertyFlags : byte;
var MoreSegments : boolean);
procedure ReadQueueCurrentStatus(QueueID : longint;
var QueueStatus : byte;
var NumberOfEntries : byte;
var NumberOfServers : byte;
var ServerIDList : IDList;
var ServerStationList : StationList);
procedure ReadServerCurrentStatus(QueueID,ServerID : longint;
ServerStation : byte;
var ServerStatus : ServerStatusType);
procedure ReleaseFile(FileName : string);
procedure ReleaseFileSet;
procedure ReleaseLogicalRecord(LogicalRecord : string99);
procedure ReleaseLogicalRecordSet;
procedure ReleasePhysicalRecord(FileHandle : word;
RecordStartOffset, RecordLength : longint);
procedure ReleasePhysicalRecordSet;
procedure RemoveJobFromQueue(QueueID : longint; JobNumber : integer);
procedure RenameDirectory(Directory : string; DirHandle : byte;
NewDirectory : string);
procedure RenameObject(WhichObject : string47; WhatType : integer;
NewName : string47);
procedure RestoreEraseFile(VolumeName : string16; DirHandle : byte;
var ErasedFilename, RestoredFilename : string);
procedure RestoreServersRights;
procedure ScanDirectoryForTrustees(Directory : string; DirHandle : byte;
var SequenceNumber : byte;
var FoundDirectory : string16;
var OwnerID : longint;
var CreationDate : longint;
var FiveTrustees : TrusteeIDArray;
var FiveRights : TrusteeRightsArray);
procedure ScanDirectoryInformation(Directory : string; DirHandle : byte;
var SequenceNumber : integer;
var FoundDirectory : string16;
var OwnerID : longint;
var CreationDate : longint;
var MaximumRightsMask: byte);
procedure ScanFileInformation(FileName : string; DirHandle : byte;
SearchAttribute : byte;
var SequenceNumber : integer;
var FoundFile : string13;
var FileAttributes : byte;
var ExtendedAttributes : byte;
var FileSize : longint;
var OwnerID : longint;
var CreationDate : word;
var LastAccessDate : word;
var LastUpdateDate : longint;
var LastArchiveDate : longint);
procedure ScanObject(ScanMask : string47; ScanType : integer;
var LastSeen : longint;
var FoundName : string47;
var FoundType : integer;
var FoundID : longint;
var FoundFlag : byte;
var FoundSecurity : byte;
var FoundHasProperties : boolean);
procedure ScanObjectTrusteePaths(WhichVolume : byte;
WhichObjectID : longint;
var LastSeen : integer;
var TrusteePath : string;
var TrusteeRights : byte);
procedure ScanProperty(WhichObject : string47; WhatType : integer;
ScanMask : string15;
var LastSeen : longint;
var FoundName : string15;
var FoundFlags : byte;
var FoundSecurity : byte;
var FoundHasValue : boolean;
var MoreProperties : boolean);
procedure SendBroadcastMessage(Message : string55; Connections : string100;
var ResultCodes : string100);
procedure SendConsoleBroadcast(Message : string55; Connections : string100);
procedure SendPersonalMessage(Message : string126; ConnectionList : string100;
var ResultCodes : string100);
procedure ServiceQueueJob(QueueID : longint; TargetServiceType : integer;
var Job : JobEntryRecord);
procedure SetBannerUserName(BannerName : BannerArray);
procedure SetBroadcastMode(NewMode : BroadcastModes);
procedure SetCapturePrintJob(PrintQueueJobNumber : integer;
NetWareFileHandle : FileServerFileHandle;
Device : LPTNames);
procedure SetCapturePrintQueue(PrintQID : longint; Device : LPTNames);
procedure SetDefaultCaptureFlags(var CaptureInfo : CaptureFlags);
procedure SetDefaultLocalPrinter(Device : LPTNames);
procedure SetDirectoryHandle(SourceDirectory : string;
SourceDirHandle, TargetDirHandle : byte);
procedure SetDirectoryInformation(Directory : string; DirHandle : byte;
NewOwner : longint; NewCreationDate : longint;
MaximumRightsMask : byte);
procedure SetEndOfJobStatus(Mode : EndOfJobStatus);
procedure SetErrorMode(Mode : ErrorModes);
procedure SetExtendedFileAttributes(Filename : string; ExtendedAttributes : byte);
procedure SetFileInformation(Filename : string; DirHandle : byte;
SearchAttributes : byte;
FileAttributes,ExtendedAttributes : byte;
OwnerID : longint;
CreationDate,LastAccessDate : integer;
LastUpdateDate,LastArchiveDate : longint);
procedure SetFileServerDateAndTime(NewTime : ServerTimeRecord);
procedure SetLockMode(NewMode : LockModes);
procedure SetPreferredConnectionID(PreferredConnection : byte);
procedure SetPrimaryConnectionID(PrimaryConnection : byte);
procedure SetQueueCurrentStatus(QueueID : longint; QueueStatus : byte);
procedure SetServerCurrentStatus(QueueID : longint;
var ServerStatus : ServerStatusType);
procedure SetSpecificCaptureFlags(Device : LPTNames;
var CaptureInfo : CaptureFlags);
procedure SignalSemphore(SemaphoreHandle : longint);
procedure SpecifyCaptureFile(Filename : string; DirHandle : byte);
procedure StartLPTCapture;
procedure StartSpecificCapture(Device : LPTNames);
procedure SubmitAccountCharge(WhichObject : string47;
WhatType, ServiceType : integer;
Charge, CancelHoldAmount : longint;
CommentType : CommentTypes; Comment : string);
procedure SubmitAccountHold(WhichObject : string47; WhatType : integer;
AmountToReserve : longint);
procedure SubmitAccountNote(WhichObject : string47; WhatType : integer;
ServiceType : integer;
CommentType : CommentTypes; Comment : string);
procedure TTSAbortTransaction;
procedure TTSBeginTransaction;
procedure TTSEndTransaction(var ReferenceNumber : longint);
procedure TTSGetApplicationTresholds(var LogicalLockThreshold,
PhysicalLockThreshold : byte);
procedure TTSGetWorkstationThresholds(var LogicalLockThreshold,
PhysicalLockThreshold : byte);
function TTSIsAvailable : boolean;
procedure TTSSetApplicationTresholds(LogicalLockThreshold,
PhysicalLockThreshold : byte);
procedure TTSSetWorkstationThresholds(LogicalLockThreshold,
PhysicalLockThreshold : byte);
procedure TTSTransactionStatus(TransactionReferenceNumber : longint);
procedure VerifyObjectPassword(WhichObject : string47; WhatType : integer;
Password : string127);
procedure WaitOnSemaphore(SemaphoreHandle : longint; TimeoutLimit : integer);
procedure WritePropertyValue(WhichObject : string47; WhatType : integer;
WhichProperty : string15; var PropertyValue;
SegmentNumber : integer; MoreSegments : boolean);
(****************************************************************************)

procedure FixNetwareQueueHeaderRecord(var NetwarePrintQueueRecord);
procedure FixServerMiscInfoRec(var InfoRec : ServerMiscInformation);
procedure FixServerLANIOStatisticsRec(var InfoRec : ServerLANIOStatistics);
procedure FixFileSystemStatistics(var InfoRec : FileSystemStatistics);
procedure LongReverse(var ALong : longint);
function ReverseWord(BackwardsWord : word) : word;
function ReverseLong(BackwardsLong : longint) : longint;
procedure WordReverse(var AWord : word);


  3 Responses to “Category : Pascal Source Code
Archive   : TPNOV6.ZIP
Filename : NOVHDR.DOC

  1. Very nice! Thank you for this wonderful archive. I wonder why I found it only now. Long live the BBS file archives!

  2. This is so awesome! 😀 I’d be cool if you could download an entire archive of this at once, though.

  3. But one thing that puzzles me is the “mtswslnkmcjklsdlsbdmMICROSOFT” string. There is an article about it here. It is definitely worth a read: http://www.os2museum.com/wp/mtswslnk/