home *** CD-ROM | disk | FTP | other *** search
/ The World of Computer Software / World_Of_Computer_Software-02-387-Vol-3of3.iso / t / tpapi.zip / NWDIR.PA1 < prev    next >
Text File  |  1992-03-02  |  11KB  |  177 lines

  1. {!R! FONT 15; FTMD 15; EXIT;}
  2.  
  3.  
  4. {***************************************************************************}
  5. {** Program : NWDIR                                                       **}
  6. {***************************************************************************}
  7. {** Version : 1.3             ** Started : 11/11/91  ** Ended :   /  /    **}
  8. {***************************************************************************}
  9. {******************************** Description ******************************}
  10. {***************************************************************************}
  11. {** OOP library for Netware API                                           **}
  12. {**                                                                       **}
  13. {** This unit forms the second level object : DIRECTORY                   **}
  14. {** This object is a descandent of          : NETWARE                     **}
  15. {**                                                                       **}
  16. {**                                                                       **}
  17. {**                                                                       **}
  18. {**                                                                       **}
  19. {***************************************************************************}
  20. {******************************** Information ******************************}
  21. {***************************************************************************}
  22. {** Provides Netware Directory Services                                   **}
  23. {**                                                                       **}
  24. {**                                                                       **}
  25. {**                                                                       **}
  26. {** This code is (c) 1991,1992 Covelli                                    **}
  27. {** Portions (c) Novell Inc,                                              **}
  28. {**                                                                       **}
  29. {**                                                                       **}
  30. {***************************************************************************}
  31.  
  32. {$I NETWARE.INC}
  33.  
  34. UNIT NWDIR;
  35.  
  36. INTERFACE
  37.  
  38. USES
  39.  
  40.   netware, nwvar;
  41.  
  42. TYPE
  43.  
  44.   pDirectoryOBJ = ^DirectoryOBJ;
  45.   DirectoryOBJ  = object (NetwareOBJ)
  46.  
  47.     CONSTRUCTOR Init;
  48.  
  49.     FUNCTION    AddTrusteeToDirectory         (DirectoryHandle : BYTE; DirectoryPath : PathNameType;
  50.                                                ObjectID : OT_BinderyID; TrusteeRightsMask : BYTE) : WORD;
  51.  
  52.     FUNCTION    AllocPermanentDirectoryHandle (DirectoryHandle : BYTE; DirectoryPath : PathNameType;
  53.                                                DriveLetter : CHAR; VAR NewDirectoryHandle,
  54.                                                EffectiveRightsMask : BYTE)                   : WORD;
  55.  
  56.     FUNCTION    AllocTemporaryDirectoryHandle (DirectoryHandle : BYTE; DirectoryPath : PathNameType;
  57.                                                DriveLetter : CHAR; VAR NewDirectoryHandle,
  58.                                                EffectiveRightsMask : BYTE)                   : WORD;
  59.  
  60.     FUNCTION    ClearVolRestrictions          (ConnectionID : WORD; VolumeNumber : BYTE; ObjectID : OT_BinderyType) : WORD;
  61.  
  62.     FUNCTION    CreateDirectory               (DirectoryHandle : BYTE; DirectoryPath : PathNameType;
  63.                                                 MaximumRightsMask : BYTE)                                              : WORD;
  64.  
  65.     FUNCTION    DeallocateDirectoryHandle     (DirectoryHandle : BYTE) : WORD;
  66.  
  67.     FUNCTION    DeleteDirectory               (DirectoryHandle : BYTE; DirectoryPath : PathNameType) : WORD;
  68.  
  69.     FUNCTION    DeleteTrustee                 (ConnectionID : WORD; DirectoryHandle : BYTE; DirectoryPath : PathNameType;
  70.                                                ObjectID : OT_BinderyID)                                                 : WORD;
  71.  
  72.     FUNCTION    DeleteTrusteeFromDirectory    (DirectoryHandle : BYTE; DirectoryPath : PathNameType;
  73.                                                ObjectID : OT_BinderyID) : WORD;
  74.  
  75.     FUNCTION    GetCurrentDirectory           (DriveNumber : BYTE; VAR DirectoryPath : PathNameType) : WORD;
  76.  
  77.     FUNCTION    GetDirectoryHandle            (DriveNumber : BYTE) : BYTE;
  78.  
  79.     FUNCTION    GetDirectoryPath              (DirectoryHandle : BYTE; VAR DirectoryPath : PathNameType) : WORD;
  80.  
  81.     FUNCTION    GetDirEntry                   (ConnectionID : WORD; DirectoryHandle : BYTE;
  82.                                                VAR DirectoryEntry : NWDir_Entry) : WORD;
  83.  
  84.     FUNCTION    GetDirInfo                    (ConnectionID : WORD; DirectoryHandle : BYTE;
  85.                                                VAR DirectoryInfo : NWDir_Info) : WORD;
  86.  
  87.     FUNCTION    GetDriveInformation           (DriveNumber : BYTE; VAR ConnectionID : WORD; VAR DirectoryHandle : BYTE) : BYTE;
  88.  
  89.     FUNCTION    GetEffectiveDirectoryRights   (DirectoryHandle : BYTE; DirectoryPath : PathNameType;
  90.                                                VAR EffectiveRightsMask : BYTE) : WORD;
  91.  
  92.     FUNCTION    GetEffectiveRights            (ConnectionID : WORD; DirectoryHandle : BYTE;
  93.                                                DirectoryPath : PathNameType; VAR Rights : WORD) : WORD;
  94.  
  95.     FUNCTION    GetObjectDiskRestrictions     (ConnectionID : WORD; VolumeNumber : BYTE; ObjectID : OT_BinderyID;
  96.                                                VAR VolumeRestriction, BlocksInUse : LONGINT) : WORD;
  97.  
  98.     PROCEDURE   GetSearchDriveVector          (VAR VectorBuffer : Byte17ArrayType);
  99.  
  100.     FUNCTION    GetVolumeInformation          (ConnectionID : WORD; VolumeNumber : BYTE; StructureSize : WORD;
  101.                                                VAR VolumeStatistics : Volume_Stats) : WORD;
  102.  
  103.     FUNCTION    GetVolumeInfoWithHandle       (DirectoryHandle : BYTE; VAR VolumeName : VolumeNameType;
  104.                                                VAR TotalBlocks, SectorsPerBlock, AvailableBlocks,
  105.                                                TotalDirectorySlots, AvailableDirectorySlots,
  106.                                                VolumeIsRemovable : WORD) : WORD;
  107.  
  108.     FUNCTION    GetVolumeInfoWithNumber       (VolumeNumber : BYTE; VAR VolumeName : VolumeNameType;
  109.                                                VAR TotalBlocks, SectorsPerBlock, AvailableBlocks,
  110.                                                TotalDirectorySlots, AvailableDirectorySlots,
  111.                                                VolumeIsRemovable : WORD) : WORD;
  112.  
  113.     FUNCTION    GetVolumeName                 (VolumeNumber : BYTE; VAR VolumeName : VolumeNameType) : WORD;
  114.  
  115.     FUNCTION    GetVolumeNumber               (VolumeName : VolumeNameType; VAR VolumeNumber : BYTE) : WORD;
  116.  
  117.     FUNCTION    GetVolUsage                   (ConnectionID : WORD; VolumeNumber : BYTE;
  118.                                                VAR VolumeUsage : NWVol_Usage) : WORD;
  119.  
  120.     FUNCTION    IsSearchDrive                 (DriveLetter : CHAR) : WORD;
  121.  
  122.     FUNCTION    MapV2TrusteeRightsToV3        (TrusteeRights : BYTE) : LONGINT;
  123.  
  124.     FUNCTION    MapV3TrusteeRightsToV2        (TrusteeRights : LONGINT) : BYTE;
  125.  
  126.     FUNCTION    ModifyMaximumRightsMask       (DirectoryHandle : BYTE; DirectoryPath : PathNameType;
  127.                                                RevokeRightsMask, GrantRightsMask : BYTE) : WORD;
  128.  
  129.     FUNCTION    RenameDirectory               (DirectoryHandle : BYTE; DirectoryPath : PathNameType;
  130.                                                NewDirectoryName : DirectoryNameType) : WORD;
  131.  
  132.     FUNCTION    RestoreDirectoryHandle        (SaveBuffer : Byte14ArrayType; VAR NewDirectoryHandle,
  133.                                                EffectiveRightsMask : BYTE) : WORD;
  134.  
  135.     FUNCTION    SaveDirectoryHandle           (DirectoryHandle : BYTE; VAR SaveBuffer : Byte14ArrayType) : WORD;
  136.  
  137.     FUNCTION    ScanBinderyObjectTrusteePaths (ObjectID : OT_BinderyID; VolumeNumber : BYTE;
  138.                                                VAR SequenceNumber, TrusteeAccessMask : WORD;
  139.                                                VAR TrusteePathName : PathNameType) : WORD;
  140.  
  141.     FUNCTION    ScanDirectoryForTrustees      (DirectoryHandle : BYTE; DirectoryPath : PathNameType;
  142.                                                VAR SequenceNumber : WORD; VAR DirectoryName : DirectoryNameType;
  143.                                                VAR CreationDateAndTime : Byte4ArrayType; VAR OwnerID : OT_BinderyID;
  144.                                                VAR TrusteeIDs : Longint5ArrayType; VAR TrusteeRights : Byte5ArrayType) : WORD;
  145.  
  146.     FUNCTION    ScanDirectoryInformation      (DirectoryHandle : BYTE; SearchDirectoryPath : PathNameType;
  147.                                                VAR SequenceNumber : WORD; VAR DirectoryName : DirectoryNameType;
  148.                                                VAR CreationDateAndTime : Byte4ArrayType; VAR OwnerID : OT_BinderyID;
  149.                                                VAR MaximumRightsMask : BYTE) : WORD;
  150.  
  151.     FUNCTION    ScanDirEntry                  (ConnectionID : WORD; DirectoryHandle : BYTE; SearchPath : PathNameType;
  152.                                                SearchAttributes : BYTE; VAR Sequence : LONGINT;
  153.                                                VAR DirectoryEntry : NWDir_Entry) : WORD;
  154.  
  155.     FUNCTION    ScanDirRestrictions           (ConnectionID : WORD; DirectoryHandle : BYTE; VAR OutBuffer;
  156.                                                NumberOfStructuresToReturn : BYTE) : WORD;
  157.  
  158.     FUNCTION    SetDirectoryHandle            (SourceDirectoryHandle : BYTE; SourceDirectoryPath : PathNameType;
  159.                                                TargetDirectoryHandle : BYTE) : WORD;
  160.  
  161.     FUNCTION    SetDirectoryInformation       (DirectoryHandle : BYTE; DirectoryPath : PathNameType;
  162.                                                NewCreationDateAndTime : Byte4ArrayType;
  163.                                                NewOwnerObjectID : OT_BinderyID; NewRightsMask : BYTE) : WORD;
  164.  
  165.     FUNCTION    SetDirRestriction             (ConnectionID : WORD; DirectoryHandle : BYTE;
  166.                                                Restriction : LONGINT) : WORD;
  167.  
  168.     PROCEDURE   SetSearchDriveVector          (VAR VectorBuffer : Byte17ArrayType);
  169.  
  170.     FUNCTION    SetVolRestriction             (ConnectionID : WORD; VolumeNumber : BYTE; ObjectID : OT_BinderyID;
  171.                                                Restriction : LONGINT) : WORD;
  172.  
  173.     DESTRUCTOR  Done; VIRTUAL;
  174.  
  175.   END;
  176.  
  177.