home *** CD-ROM | disk | FTP | other *** search
/ C!T ROM 2 / ctrom_ii_b.zip / ctrom_ii_b / PROGRAM / PASCAL / TPNOVA12 / NOVTP.DOC < prev   
Text File  |  1990-06-27  |  20KB  |  378 lines

  1.                     Turbo Pascal, Novell API Library
  2.                            'Lantic Software
  3.                          Version 1.2  - 6/27/90
  4.  
  5.    These routines were developed under Turbo Pascal version 5.x and Novell
  6. Advanced Netware version 2.12.  Testing under Netware 386 has shown that all
  7. functions except the server status requests appear to work.
  8.  
  9.    It is recommended that you purchase the "Novell API Reference" from
  10. Novell.  These may help in understanding the API.
  11.  
  12.     A fully functional version is available from 'Lantic software for
  13. $75.  This includes the latest version or the TPU, IPX/SPX functions TPU, 
  14. and more detailed documentation.
  15.  
  16.                   'Lantic software
  17.                   3823 Swanhouse Court
  18.                   Burtonsville, MD  20866
  19.                   (301) 572-3972
  20.  
  21.                   Dave Olson
  22.                   User ID : 73307,412
  23.  
  24.  
  25. *****************************************************************************
  26.  
  27.  
  28.     To access these primitives, include the statement :
  29.  
  30.                       uses NovAPI;
  31.  
  32.     at the top of your program or in the interface section of your units.
  33.  
  34.  
  35.  
  36.     Function prototypes as they appear in the NovAPI unit:
  37.  
  38.  
  39. (*BINDERY*)
  40. procedure AddObjectToSet(WhichObject : string47; WhatType : integer;
  41.                          WhichProperty : string15;
  42.                          NewMemberName : string47; NewMemberType : integer);
  43. procedure ChangeObjectPassword(WhichObject : string47; WhatType : integer;
  44.                                OldPassword, NewPassword : string127);
  45. procedure ChangeObjectSecurity(WhichObject : string47; WhatType : integer;
  46.                                NewSecurity : byte);
  47. procedure ChangePropertySecurity(WhichObject : string47; WhatType : integer;
  48.                                  WhichProperty : string15; NewSecurity : byte);
  49. procedure CloseBindery;
  50. procedure CreateObject(NewObject : string47; NewType : integer;
  51.                        ObjectFlag,ObjectSecurity : byte);
  52. procedure CreateProperty(WhichObject : string47; WhatType : integer;
  53.                          NewProperty : string15; NewFlags,NewSecurity : byte);
  54. procedure DeleteObject(WhichObject : string47; WhatType : integer);
  55. procedure DeleteObjectFromSet(WhichObject : string47; WhatType : integer;
  56.                               WhichProperty : string15;
  57.                               MemberName : string47; MemberType : integer);
  58. procedure DeleteProperty(WhichObject : string47; WhatType : integer;
  59.                          NewProperty : string15);
  60. procedure GetBinderyAccessLevel(var SecurityAccessLevel : byte);
  61. procedure GetObjectID(WhichObject : string47; WhatType : integer;
  62.                       var ObjectID : longint);
  63. procedure GetObjectName(WhichObjectID : longint;
  64.                         var ObjectName : string47; ObjectType : integer);
  65. function  IsObjectInSet(WhichObject : string47; WhatType : integer;
  66.                         WhichProperty : string15;
  67.                         MemberName : string47; MemberType : integer) : boolean;
  68. procedure OpenBindery;
  69. procedure ReadPropertyValue(WhichObject : string47; WhatType : integer;
  70.                             WhichProperty : string15; SegmentNumber : integer;
  71.                             var Property;
  72.                             var PropertyFlags : byte;
  73.                             var MoreSegments  : boolean);
  74. procedure RenameObject(WhichObject : string47; WhatType : integer;
  75.                        NewName : string47);
  76. procedure ScanObject(ScanMask : string47; ScanType : integer;
  77.                      var LastSeen           : longint;
  78.                      var FoundName          : string47;
  79.                      var FoundType          : integer;
  80.                      var FoundID            : longint;
  81.                      var FoundFlag          : byte;
  82.                      var FoundSecurity      : byte;
  83.                      var FoundHasProperties : boolean);
  84. procedure ScanProperty(WhichObject : string47; WhatType : integer;
  85.                        ScanMask : string15;
  86.                        var LastSeen       : longint;
  87.                        var FoundName      : string15;
  88.                        var FoundFlags     : byte;
  89.                        var FoundSecurity  : byte;
  90.                        var FoundHasValue  : boolean;
  91.                        var MoreProperties : boolean);
  92. procedure VerifyObjectPassword(WhichObject : string47; WhatType : integer;
  93.                                Password : string127);
  94. procedure WritePropertyValue(WhichObject : string47; WhatType : integer;
  95.                              WhichProperty : string15; var PropertyValue;
  96.                              SegmentNumber : integer; MoreSegments : boolean);
  97.  
  98.  
  99. (*CONNECTION*)
  100. procedure AttachToFileServer(ConnectionID : byte);
  101. function  ConnectionNumber : integer;
  102. procedure DetachFromFileServer(ConnectionID : byte);
  103. procedure EnterLoginArea(NumberOfLocalDrives : byte;
  104.                          LoginSubdirectory : string);
  105. procedure GetConnectionInformation(WhichConnection : integer;
  106.                                    var ObjectID    : longint;
  107.                                    var ObjectType  : integer;
  108.                                    var ObjectName  : string47;
  109.                                    var ObjectLogin : NetworkTimeRecord);
  110. procedure GetInternetAddress(ConnectionNumber : integer;
  111.                              var ConnectionAddress : InternetworkAddress);
  112. procedure GetObjectConnectionNumbers(WhichObject : string47; WhatType : integer;
  113.                                      ConnectionList : string100);
  114. procedure LoginToFileServer(WhichObject : string47; WhatType : integer;
  115.                             Password : string27);
  116. procedure LogOut;
  117. procedure LogOutFromFileServer(ConnectionID : integer);
  118.  
  119.  
  120. (*DIRECTORY*)
  121. procedure AddTrusteeToDirectory(WhichObjectID : longint;
  122.                                 DirectoryHandle : integer; Directory : string;
  123.                                 RightsMask : byte);
  124. procedure AllocPermanentDirectoryHandle(CurrentHandle : byte;
  125.                                         Directory : string; DriveLetter : char;
  126.                                         var NewHandle, EffectiveRights : byte);
  127. procedure AllocSpecialTemporaryDirectoryHandle(CurrentHandle : byte;
  128.                                         Directory : string; DriveLetter : char;
  129.                                         var NewHandle, EffectiveRights : byte);
  130. procedure AllocTemporaryDirectoryHandle(CurrentHandle : byte;
  131.                                         Directory : string; DriveLetter : char;
  132.                                         var NewHandle, EffectiveRights : byte);
  133. procedure CreateDirectory(NewDirectory : string; NewDirectoryHandle : byte;
  134.                           MaximumRights : byte);
  135. procedure DeallocateDirectoryHandle(DirectoryHandle : byte);
  136. procedure DeleteDirectory(Directory : string; DirectoryHandle : byte);
  137. procedure DeleteTrusteeFromDirectory(WhichObjectID : longint;
  138.                                      DirectoryHandle : integer;
  139.                                      Directory : string);
  140. procedure GetDirectoryHandle(Drive : char;
  141.                              var DirectoryHandle, StatusFlag : byte);
  142. procedure GetDirectoryPath(DirectoryHandle : byte;
  143.                            var Directory : string);
  144. procedure GetDriveFlagTable(var DrvFlagTable : pointer);
  145. procedure GetDriveHandleTable(var DrvHandleTable : pointer);
  146. procedure GetEffectiveDirectoryRights(Directory : string; DirHandle : byte;
  147.                                       var EffectiveRights : byte);
  148. procedure GetVolumeName(VolumeNumber : byte; var VolumeName : string15);
  149. procedure ModifyMaximumRightsMask(Directory : string; DirHandle : byte;
  150.                                   RevokeRights, GrantRights : byte);
  151. procedure RenameDirectory(Directory : string; DirHandle : byte;
  152.                           NewDirectory : string);
  153. procedure ScanDirectoryForTrustees(Directory : string; DirHandle : byte;
  154.                                    var SequenceNumber : byte;
  155.                                    var FoundDirectory : string16;
  156.                                    var OwnerID : longint;
  157.                                    var CreationDate : longint;
  158.                                    var FiveTrustees : TrusteeIDArray;
  159.                                    var FiveRights   : TrusteeRightsArray);
  160. procedure ScanDirectoryInfomation(Directory : string; DirHandle : byte;
  161.                                   var SequenceNumber   : integer;
  162.                                   var FoundDirectory   : string16;
  163.                                   var OwnerID          : longint;
  164.                                   var CreationDate     : longint;
  165.                                   var MaximumRightsMask: byte);
  166. procedure ScanObjectTrusteePaths(WhichVolume   : byte;
  167.                                  WhichObjectID : longint;
  168.                                  var LastSeen  : integer;
  169.                                  var TrusteePath   : string;
  170.                                  var TrusteeRights : byte);
  171. procedure SetDirectoryHandle(Directory : string;
  172.                              SourceDirHandle, TargetDirHandle : byte);
  173. procedure SetDirectoryInformation(Directory : string; DirHandle : byte;
  174.                                   NewOwner : longint; NewCreationDate : longint;
  175.                                   MaximumRightsMask : byte);
  176.  
  177.  
  178. (*FCONSOLE*)
  179. procedure ClearConnectionNumber(LogicalConnectionNumber : byte);
  180. procedure DisableFileServerLogin;
  181. procedure DownFileServer(OpCode : DownServerCommands);
  182. procedure EnableFileServerLogin;
  183. function  FileServerLoginEnabled : boolean;
  184. procedure GetFileServerDateAndTime(var NetworkTime : NetworkTimeRecord);
  185. function  LoggedHasConsolePrivileges : boolean;
  186.  
  187.  
  188. (*FILE*)
  189. procedure FileServerFileCopy(SourceHandle,DestinationHandle : word;
  190.                             SourceOffset,DestinationOffset : longint;
  191.                             BytesToCopy : longint;
  192.                             var BytesCopied : longint);
  193. procedure GetExtendedFileAttributes(FileName : string; var ExtendedAttributes : byte);
  194. procedure PurgeErasedFiles;
  195. procedure RestoreEraseFile(VolumeName : string16; DirHandle : byte;
  196.                            var ErasedFilename, RestoredFilename : string);
  197. procedure ScanFileInformation(FileName : string; DirHandle : byte;
  198.                               SearchAttribute : byte;
  199.                               var SequenceNumber : integer;
  200.                               var FoundFile : string13;
  201.                               var FileAttributes : byte;
  202.                               var ExtendedAttributes : byte;
  203.                               var FileSize : longint;
  204.                               var OwnerID : longint;
  205.                               var CreationDate : word;
  206.                               var LastAccessDate : word;
  207.                               var LastUpdateDate : longint;
  208.                               var LastArchiveDate : longint);
  209. procedure SetExtendedFileAttributes(Filename : string; ExtendedAttributes : byte);
  210. procedure SetFileInformation(Filename : string; DirHandle : byte;
  211.                              SearchAttributes : byte;
  212.                              FileAttributes,ExtendedAttributes : byte;
  213.                              OwnerID : longint;
  214.                              CreationDate,LastAccessDate : integer;
  215.                              LastUpdateDate,LastArchiveDate : longint);
  216.  
  217.  
  218. (*LOCKING*)
  219. procedure ClearFile(FileName : string);
  220. procedure ClearFileSet;
  221. procedure ClearLogicalRecord(LogicalRecordName : string99);
  222. procedure ClearLogicalRecordSet;
  223. procedure ClearPhysicalRecord(FileHandle : integer;
  224.                               RecordOffset, RecordLength : longint);
  225. procedure ClearPhysicalRecordSet;
  226. procedure GetLockMode(var Mode : LockModes);
  227. procedure LockFileSet(TimeOutTics : integer);
  228. procedure LockLogicalRecordSet(TimeOutTics : integer);
  229. procedure LockPhysicalRecordSet(Mode : LockDirectives; TimeOutTics : integer);
  230. procedure LogLogicalRecord(RecordName : string99;
  231.                            Mode : LogicalLockDirectives; TImeOutTics : integer);
  232. procedure LogPhysicalRecord(FileHandle : word; Mode : LogicalLockDirectives;
  233.                             RecordStartOffset, RecordLength : longint;
  234.                             TimeOutTics : integer);
  235. procedure ReleaseFile(FileName : string);
  236. procedure ReleaseFileSet;
  237. procedure ReleaseLogicalRecord(LogicalRecord : string99);
  238. procedure ReleaseLogicalRecordSet;
  239. procedure ReleasePhysicalRecord(FileHandle : word;
  240.                             RecordStartOffset, RecordLength : longint);
  241. procedure ReleasePhysicalRecordSet;
  242. procedure SetLockMode(NewMode : LockModes);
  243.  
  244.  
  245. (*MESSAGING*)
  246. procedure BroadcastToConsole(Message : string60);
  247. procedure CheckPipeStatus(ConnectionList : string100;
  248.                           var ResultList : string100);
  249. procedure GetBroadcastMessage(BroadcastMessage : string55);
  250. procedure GetBroadcastMode(var Mode : BroadcastModes);
  251. procedure GetPersonalMessage(var WhoSentIt : byte; var Message : string);
  252. procedure LogNetworkMessage(Message : string80);
  253. procedure OpenMessagePipe(DestinationConnections : string100;
  254.                           var InitialPipeStatus : string100);
  255. procedure SendBroadcastMessage(Message : string55; Connections : string100;
  256.                                var ResultCodes : string100);
  257. procedure SendPersonalMessage(Message : string126; ConnectionList : string100;
  258.                               var ResultCodes : string100);
  259. procedure SetBroadcastMode(NewMode : BroadcastModes);
  260.  
  261.  
  262. (*PRINTING*)
  263. procedure CancelLPTCapture;
  264. procedure CancelSpecificCapture(Device : LPTNames);
  265. function  DefaultLocalPrinter : LPTNames;
  266. procedure EndLPTCapture;
  267. procedure EndSpecificCapture(Device : LPTNames);
  268. procedure FlushLPTCapture;
  269. procedure FlushSpecificCapture(Device : LPTNames);
  270. procedure GetBannerUserName(var BannerUserName : BannerArray);
  271. procedure GetDefaultPrintJobFlags(var Flags : PrintFlagInformation);
  272. procedure GetPrinterStatus(ServerPrinter :byte;
  273.                            var ServerPrinterStopped,
  274.                                ServerPrinterOffLine  : boolean;
  275.                            var ServerPrinterFormType : byte);
  276. procedure GetSpecificCaptureFlags(Device : LPTNames;
  277.                                   var Flags : PrintFlagInformation);
  278. function  LPTCaptureActive(var QueuingServerConnectionID : integer) : boolean;
  279. procedure SetBannerUserName(BannerName : BannerArray);
  280. procedure SetCapturePrintJob(PrintQueueJobNumber : integer;
  281.                              Device : LPTNames);
  282. procedure SetCapturePrintQueue(PrintQID : longint; QueuingServerSlotNumber : byte;
  283.                                Device : LPTNames);
  284. procedure SetDefaultCaptureFlags(var CaptureInfo : CaptureFlags);
  285. procedure SetDefaultLocalPrinter(Device : LPTNames);
  286. procedure SpecifyCaptureFile(Filename : string; DirHandle : byte);
  287. procedure StartLPTCapture;
  288. procedure StartSpecificCapture(Device : LPTNames);
  289.  
  290.  
  291. (*SEMAPHORE*)
  292. procedure CloseSemaphore(SemaphoreHandle : longint);
  293. procedure ExamineSemaphore(SemaphoreHandle : longint;
  294.                            var SemaphoreValue : integer;
  295.                            var OpenCount      : integer);
  296. procedure OpenSemaphore(SemaphoreName : string127; InitialValue : integer;
  297.                         var SemaphoreHandle : longint; var OpenCount : integer);
  298. procedure SignalSemphore(SemaphoreHandle : longint);
  299. procedure WaitOnSemaphore(SemaphoreHandle : longint; TimeoutLimit : integer);
  300.  
  301.  
  302. (*TTS*)
  303. procedure DisableTransactionTracking;
  304. procedure EnableTransactionTracking;
  305. procedure TTSAbortTransaction;
  306. procedure TTSBeginTransaction;
  307. procedure TTSEndTransaction(var ReferenceNumber : longint);
  308. procedure TTSGetApplicationTresholds(var LogicalLockThreshold,
  309.                                          PhysicalLockThreshold : byte);
  310. procedure TTSGetWorkstationThresholds(var LogicalLockThreshold,
  311.                                           PhysicalLockThreshold : byte);
  312. function  TTSIsAvailable : boolean;
  313. procedure TTSSetApplicationTresholds(LogicalLockThreshold,
  314.                                      PhysicalLockThreshold : byte);
  315. procedure TTSSetWorkstationThresholds(LogicalLockThreshold,
  316.                                       PhysicalLockThreshold : byte);
  317. procedure TTSTransactionStatus(TransactionReferenceNumber : longint);
  318.  
  319.  
  320. (*WORKSTATION*)
  321. function  DefaultConnectionID : integer;
  322. procedure EndOfJob(OpCode : WhichJobs);
  323. procedure GetConnectionIDTable(var ShellConnectionTable : ConnectionTablePointer);
  324. procedure GetDriveConnectionIDTable(var DrvConnectionTable : pointer);
  325. procedure GetFileServerNameTable(var ServerNameTable : pointer);
  326. function  NumberOfLocalDrives : integer;
  327. function  PreferredConnectionID : integer;
  328. function  PrimaryConnectionID : integer;
  329. procedure SetEndOfJobStatus(Mode : EndOfJobStatus);
  330. procedure SetErrorMode(Mode : ErrorModes);
  331. procedure SetPreferredConnectionID(PreferredConnection : byte);
  332. procedure SetPrimaryConnectionID(PrimaryConnection : byte);
  333.  
  334.  
  335. (*QUEUE*)
  336. procedure CreateQueue(QueueName,QueuePath : string; QueueBase : byte;
  337.                       var NewQueueID : longint);
  338. procedure DestroyQueue(QueueID : longint);
  339. procedure ReadQueueCurrentStatus(QueueID : longint;
  340.                                  var QueueStatus : byte;
  341.                                  var NumberOfEntries : byte;
  342.                                  var NumberOfServers : byte;
  343.                                  var ServerIDList      : IDList;
  344.                                  var ServerStationList : StationList);
  345. procedure SetQueueCurrentStatus(QueueID : longint; QueueStatus : byte);
  346. procedure CreateQueueJob(QueueID : longint; var Job : JobEntryRecord);
  347. procedure CloseAndStartQueueJob(QueueID : longint; JobNumber : integer);
  348. procedure RemoveJobFromQueue(QueueID : longint; JobNumber : integer);
  349. procedure GetJobsQueueEntryFileSize(QueueID : longint;
  350.                                     JobNumber : integer;
  351.                                     var FileSize : longint);
  352. procedure GetListOfQueueJobs(QueueID : longint;
  353.                              var JobCount : integer;
  354.                              var Jobs : JobArray);
  355. procedure ReadJobQueueEntry(QueueID : longint; JobNumber : integer;
  356.                             var Job : JobEntryRecord);
  357. procedure ChangeJobQueueEntry(QueueID : longint;
  358.                               var Job : JobEntryRecord);
  359. procedure ChangeJobQueuePosition(QueueID : longint; JobNumber : integer;
  360.                                  NewPosition : byte);
  361.  
  362.  
  363. (*QUEUE SERVER*)
  364. procedure AttachServerToQueue(QueueID : longint);
  365. procedure DetachServerFromQueue(QueueID : longint);
  366. procedure ServiceQueueJob(QueueID : longint; TargetServiceType : integer;
  367.                           var Job : JobEntryRecord);
  368. procedure FinishServiceQueueJob(QueueID : longint; JobNumber : integer;
  369.                                 Charge : longint);
  370. procedure AbortServiceQueueJob(QueueID : longint; JobNumber : integer);
  371. procedure ChangeServersRightsToClientsRights(QueueID : longint; JobNumber : integer);
  372. procedure RestoreServersRights;
  373. procedure ReadServerCurrentStatus(QueueID,ServerID : longint;
  374.                                   ServerStation : byte;
  375.                                   var ServerStatus : ServerStatusType);
  376. procedure SetServerCurrentStatus(QueueID : longint;
  377.                                  var ServerStatus : ServerStatusType);
  378.