home *** CD-ROM | disk | FTP | other *** search
- {#Z+}
- {(10U&l12D(s4099T&k2S*}
- {***************************************************************************}
- {** Program : NETWARE **}
- {***************************************************************************}
- {** Version : 1.4 ** Started : 11/11/91 ** Ended : / / **}
- {***************************************************************************}
- {******************************** Description ******************************}
- {***************************************************************************}
- {** OOP library for Netware API. **}
- {** **}
- {** This unit forms the lowest level object : NETWARE **}
- {** **}
- {** **}
- {***************************************************************************}
- {******************************** Information ******************************}
- {***************************************************************************}
- {** This units provides all the interfaces to the network shells and many **}
- {** misc routines. **}
- {** **}
- {** **}
- {** **}
- {** This code is (c) 1991 - 1994 Antonio Covelli. ALL RIGHTS RESERVED. **}
- {** Portions (c) Novell Inc, **}
- {** **}
- {** **}
- {***************************************************************************}
-
- {$I NETWARE.INC}
- {#Z-}
-
- UNIT NETWARE;
-
- INTERFACE
-
- USES
-
- {$IFDEF WINDOWS}
- windos,
- {$ELSE}
- dos,
- {$ENDIF}
- nwdpmi,
- nwvar;
-
- TYPE
-
- TBufferName = (Request, Receive, Internal);
-
- PNetwareOBJ = ^NetwareOBJ;
- NetwareOBJ = OBJECT
-
- nwRequestBuffer : TDualPtr;
- nwReceiveBuffer : TDualPtr;
- nwDynamicAlloc : boolean;
- nwReqOffset : WORD;
- nwRecOffset : WORD;
-
- CONSTRUCTOR Init (DynamicAllocation : boolean);
-
- PROCEDURE GetWrkstnEnv (VersionString : pointer);
-
- FUNCTION PrConnRequest (FunctionNumber : BYTE; ConnectionID : WORD) : WORD;
-
- FUNCTION ServerRequest (ServerNumber : WORD; FunctionNumber, SubFunctionNumber : BYTE) : WORD;
-
- function ShellRequest (FunctionNumber : byte; RequestBuffer, ReceiveBuffer : pointer) : word;
-
- FUNCTION TableReq (FunctionNumber, SubFunctionNumber : BYTE; var TableAddr : pointer) : WORD;
-
- function VLMTransportCall (ConnectionHandle : word; FunctionNumber : byte;
- RequestBufferLength : word; RequestBuffer : pointer;
- ReceiveBufferLength : word; ReceiveBuffer : pointer) : word;
-
- function VLMCall (var DOSRegisters; DestinationID,
- DestinationFunction : word) : boolean;
-
- FUNCTION NCPRequest (ConnectionHandle : word;
- FunctionNumber : BYTE; RequestBufferLength : WORD; RequestBuffer : pointer;
- ReceiveBufferLength : WORD; ReceiveBuffer : pointer) : WORD;
-
- FUNCTION ClrRelReq (FunctionNumber : BYTE; Name : pointer) : WORD;
-
- FUNCTION PhysRecReq (FunctionNumber : BYTE; Handle : WORD; ROffSet : LONGINT; RLength : LONGINT;
- Directive : BYTE; TimeOut : WORD) : WORD;
-
- FUNCTION LockReq (FunctionNumber, Mode : BYTE; TimeOut : WORD) : WORD;
-
- FUNCTION LPTCapReq (FunctionNumber, Device : BYTE) : WORD;
-
- FUNCTION PrnSrvRequest (FunctionNumber : BYTE; BufferSize : WORD; ReceiveBuffer : pointer;
- PrinterDevice : BYTE) : WORD;
-
- FUNCTION PrCapRequest (FunctionNumber, SubFunctionNumber : BYTE) : WORD;
-
- FUNCTION IPXServiceCall (var DOSRegisters) : boolean;
-
- PROCEDURE GetConnectionIDTable;
-
- PROCEDURE GetDriveConnectionID;
-
- PROCEDURE GetDriveFlagTable;
-
- PROCEDURE GetDriveHandleTable;
-
- PROCEDURE GetFileServerNameTable;
-
- FUNCTION ScanShellTable (FileServerAddress : TServerAddress) : WORD;
-
- FUNCTION GetFirstFreeSlotInShell : WORD;
-
- PROCEDURE PutFileServerInShell (ConnectionID : WORD);
-
- FUNCTION NextOrderNumberInShell : WORD;
-
- PROCEDURE SortShell (AddServerToShell : BOOLEAN);
-
- PROCEDURE AddFileServerToShell (ConnectionID : WORD; AddServerToShell : BOOLEAN;
- FileServerAddress : TServerAddress);
-
- PROCEDURE RemoveFileServerFromShell (ConnectionID : WORD; ClearShell : BOOLEAN);
-
- PROCEDURE AddToFileServerNameTable (ConnectionID : WORD; ServerName : TObjectName);
-
- function GetEncryptionKey (var Key : TEncryptKey) : word;
-
- function GetEncryptedKey (ObjectID : OT_BinderyID; Password : TPassword;
- var Key : TEncryptKey) : word;
- {********************}
- {** MISC FUNCTIONS **}
- {********************}
-
- PROCEDURE InitBuffer (Buffer : TDualPtr; BufferSize : word;
- BufferName : TBufferName);
-
- PROCEDURE InitRequestBuffer;
-
- PROCEDURE InitReceiveBuffer;
-
- procedure ResetRegisters (var DOSRegisters : registers);
-
- procedure ResetRegistersDPMI (var DOSRegisters : TRealModeRegisters);
-
- function Real2Prot (InPointer : Pointer) : Pointer;
-
- PROCEDURE AddByte (ByteValue : BYTE);
-
- PROCEDURE AddWord (WordValue : WORD);
-
- PROCEDURE AddWordSwap (WordValue : WORD);
-
- PROCEDURE AddLong (LongValue : LONGINT);
-
- PROCEDURE AddLongSwap (LongValue : LONGINT);
-
- PROCEDURE AddArray (VAR Buffer; BufferLength : WORD);
-
- PROCEDURE AddText (InputString : STRING; var Buffer; MaxLength : BYTE);
-
- PROCEDURE AddPASCALString (InputString : STRING; Start : BYTE);
-
- PROCEDURE AddPASCALToASCIIZStr (InputString : STRING; Start : BYTE);
-
- PROCEDURE AddChar (CharValue : CHAR);
-
- PROCEDURE AddFiller (BufferLength : WORD);
-
- PROCEDURE AddTotal (BufferName : TBufferName; Swapped : boolean);
-
- PROCEDURE GetByte (VAR Buffer; Location : WORD);
-
- PROCEDURE GetWord (VAR Buffer; Location : WORD);
-
- PROCEDURE GetWordSwap (VAR Buffer; Location : WORD);
-
- PROCEDURE GetLong (VAR Buffer; Location : WORD);
-
- PROCEDURE GetLongSwap (VAR Buffer; Location : WORD);
-
- PROCEDURE GetArray (VAR Buffer; Location, BufferLength : WORD);
-
- PROCEDURE GetASCIIZString (VAR Buffer; Location, BufferLength : WORD);
-
- PROCEDURE GetPASCALString (VAR Buffer; Location, BufferLength : WORD);
-
- FUNCTION GetTotal (BufferName : TBufferName) : WORD;
-
- PROCEDURE SetTotal (BufferName : TBufferName; Total : WORD);
-
- PROCEDURE SetStart (Start : WORD);
-
- PROCEDURE DoWordSwap (BufferName : TBufferName; Location : WORD);
-
- PROCEDURE DoLongSwap (BufferName : TBufferName; Location : WORD);
-
- PROCEDURE DoMoveArray (BufferName : TBufferName; Source, Destination,
- BufferLength : WORD);
-
- FUNCTION WordSwap (InputWord : WORD) : WORD;
-
- FUNCTION LongSwap (InputLong : LONGINT) : LONGINT;
-
- function CheckNetwareShells : boolean;
-
- FUNCTION CheckNetwareVersion (MinimumVersion, MinimumSubVersion, MinimumRevision,
- MinimumSFT, MinimumTTS : WORD) : WORD;
-
- FUNCTION ReturnNetwareVersion (VAR MinimumVersion, MinimumSubVersion, MinimumRevision,
- MinimumSFT, MinimumTTS : WORD) : WORD;
-
- FUNCTION IsV4Supported (ConnectionID : WORD) : WORD;
-
- FUNCTION IsV3Supported (ConnectionID : WORD) : WORD;
-
- FUNCTION IsV22Supported (ConnectionID : WORD) : WORD;
-
- FUNCTION GetSearchOrderFromDriveLetter (Path : TPathName; DriveLetter : CHAR) : WORD;
-
- FUNCTION GetFileServerAddress (ServerName : TObjectName;
- VAR FileServerAddress : TServerAddress) : BOOLEAN;
-
- function ConvertNetworkNumber (NetworkNumber : TByte4Array) : TString8;
-
- function ConvertNodeAddress (NodeAddress : TByte6Array) : TString12;
-
- FUNCTION UpperCaseNW (InputString : STRING) : STRING;
-
- FUNCTION HexString (InputLong : LONGINT; Places : BYTE) : STRING;
-
- FUNCTION PtrOfs (InPointer : POINTER; ArrayNum, ArraySize : WORD) : POINTER;
-
- PROCEDURE SwapAsciiZ (InPPtr, InAPtr : POINTER; Len : BYTE; ToPascal : BOOLEAN);
-
- PROCEDURE PtToAsciiZ (InPointer, Outpointer : POINTER; Len : BYTE);
-
- FUNCTION LengthAsciiZ (VAR Buffer) : WORD;
-
- FUNCTION AsciiZToStr (var Buffer; Max, StartPosition : WORD) : STRING;
-
- PROCEDURE StrToAsciiZ (InputString : STRING; VAR OutputAsciiZ);
-
- FUNCTION IntToStr (InputNumber : LONGINT) : STRING;
-
- function StrToInt (InputString : string) : longint;
-
- FUNCTION ConvertDirectoryHandle (ConnectionID : WORD; OldDirectoryHandle : BYTE; Path : TPathName;
- VAR NewDirectoryHandle : BYTE; VAR OutPath : TPathName) : WORD;
-
- function ConvertPathToDirectoryEntry (DirectoryHandle : byte; Path : TPathName; var VolumeNumber : byte;
- var DirectoryEntry : longint) : word;
-
- function MapDirectoryNumberToPath (VolumeNumber : byte; DirectoryEntry : longint;
- NameSpace : byte; var Path : TPathName) : word;
-
- FUNCTION GetOriginalLetter (OldDirectoryHandle : BYTE; ConnectionID : WORD;
- VAR DriveLetter : CHAR) : WORD;
-
- PROCEDURE ConvertDots (Path : TPathName; VAR OutPath : TPathName);
-
- FUNCTION _NWMapWildPath (Path : TPathName; VAR OutPath : TPathName) : BYTE;
-
- FUNCTION GetCurrentDrive : BYTE;
-
- procedure SetCurrentDrive (Drive : byte);
-
- function GetFirstNetworkDrive : byte;
-
- procedure AllocateStandardBuffers;
-
- procedure DeAllocateStandardBuffers;
-
- procedure InitStandardBuffers;
-
- DESTRUCTOR Done; VIRTUAL;
-
- {***********************}
- {** DUPLICATE ENTRIES **}
- {***********************}
-
- FUNCTION ReadPropertyValue (BinderyObjectName : TObjectName; BinderyObject : OT_BinderyType;
- PropertyName : TPropertyName; SegmentNumber : WORD;
- VAR PropertyValue : TPropertyValue; VAR MoreSegments,
- PropertyFlags : BYTE) : WORD;
-
- FUNCTION AllocTemporaryDirectoryHandle (DirectoryHandle : BYTE; DirectoryPath : TPathName;
- DriveLetter : CHAR; VAR NewDirectoryHandle,
- EffectiveRightsMask : BYTE; MapDrive : boolean) : WORD;
-
- FUNCTION GetDriveInformation (DriveNumber : BYTE; VAR ConnectionID : WORD;
- VAR DirectoryHandle : BYTE) : BYTE;
-
- FUNCTION GetDefaultConnectionID : WORD;
-
- FUNCTION GetPreferredConnectionID : WORD;
-
- PROCEDURE SetPreferredConnectionID (ConnectionID : WORD);
-
- FUNCTION DeallocateDirectoryHandle (DirectoryHandle : BYTE) : WORD;
-
- FUNCTION GetNetwareShellVersion (VAR MajorVersion, MinorVersion,
- RevisionLevel, ShellType : BYTE) : WORD;
-
- FUNCTION GetDirectoryPath (DirectoryHandle : BYTE; VAR DirectoryPath : TPathName) : WORD;
-
- FUNCTION GetDirectoryHandle (DriveNumber : BYTE) : BYTE;
-
- FUNCTION IPXInitialise : WORD;
-
- function GetConnectionNumber : longint;
-
- FUNCTION ScanBinderyObjectTrusteePaths (ObjectID : OT_BinderyID;
- VolumeNumber : BYTE;
- VAR SequenceNumber : WORD;
- VAR TrusteeAccessMask : BYTE;
- VAR TrusteePathName : TPathName) : WORD;
-
-
- {*****************}
- {*** VLM CALLS ***}
- {*****************}
-
- function _CONNNameLookup (ConnectionHandle : word;
- var LookupName : TObjectName) : word;
-
- function GetDefaultConnectionHandle (var ConnectionHandle : word) : word;
-
- function GetPrimaryConnectionHandle (var ConnectionHandle : word) : word;
-
- function SetPrimaryConnectionHandle (ConnectionHandle : word) : word;
-
- end;
-
- function GetTPAPIVersion : String;
-
-