home *** CD-ROM | disk | FTP | other *** search
/ Network Support Encyclopedia 96-1 / novell-nsepro-1996-1-cd2.iso / download / netware / os232.exe / INCLUDE / NWVOL.H < prev    next >
C/C++ Source or Header  |  1995-05-09  |  6KB  |  246 lines

  1. /******************************************************************************
  2.  
  3.   $Workfile:   nwvol.h  $
  4.   $Revision:   1.12  $
  5.   $Modtime::   08 May 1995 16:58:24                        $
  6.   $Copyright:
  7.  
  8.   Copyright (c) 1989-1995 Novell, Inc.  All Rights Reserved.                      
  9.  
  10.   THIS WORK IS  SUBJECT  TO  U.S.  AND  INTERNATIONAL  COPYRIGHT  LAWS  AND
  11.   TREATIES.   NO  PART  OF  THIS  WORK MAY BE  USED,  PRACTICED,  PERFORMED
  12.   COPIED, DISTRIBUTED, REVISED, MODIFIED, TRANSLATED,  ABRIDGED, CONDENSED,
  13.   EXPANDED,  COLLECTED,  COMPILED,  LINKED,  RECAST, TRANSFORMED OR ADAPTED
  14.   WITHOUT THE PRIOR WRITTEN CONSENT OF NOVELL, INC. ANY USE OR EXPLOITATION
  15.   OF THIS WORK WITHOUT AUTHORIZATION COULD SUBJECT THE PERPETRATOR TO
  16.   CRIMINAL AND CIVIL LIABILITY.$
  17.  
  18.  *****************************************************************************/
  19.  
  20. #if ! defined ( NWVOL_H )
  21. #define NWVOL_H
  22.  
  23. #if ! defined ( NTYPES_H )
  24. #include "ntypes.h"
  25. #endif
  26.  
  27. #if ! defined ( NWCALDEF_H )
  28. #include "nwcaldef.h"
  29. #endif
  30.  
  31. #include "npackon.h"
  32.  
  33. #ifdef __cplusplus
  34. extern "C" {
  35. #endif
  36.  
  37. /* define volume types  */
  38.  
  39. #define VINetWare386    0
  40. #define VINetWare286    1
  41. #define VINetWare386v30 2
  42. #define VINetWare386v31 3
  43.  
  44. /*    define the extended volume information status flag bits  */
  45.  
  46. #define NWSubAllocEnabledBit    0x01
  47. #define NWCompressionEnabledBit 0x02
  48. #define NWMigrationEnabledBit   0x04
  49. #define NWAuditingEnabledBit    0x08
  50. #define NWReadOnlyEnabledBit    0x10
  51.  
  52. typedef struct
  53. {
  54.   nuint32 objectID;
  55.   nuint32 restriction;
  56. } NWOBJ_REST;
  57.  
  58. typedef struct
  59. {
  60.   nuint8  numberOfEntries;
  61.   struct
  62.   {
  63.     nuint32 objectID;
  64.     nuint32 restriction;
  65.   } resInfo[12];
  66. } NWVolumeRestrictions;
  67.  
  68. typedef struct
  69. {
  70.   nuint8  numberOfEntries;
  71.   struct
  72.   {
  73.     nuint32 objectID;
  74.     nuint32 restriction;
  75.   } resInfo[16];
  76. } NWVOL_RESTRICTIONS;
  77.  
  78. typedef struct
  79. {
  80.   nint32    systemElapsedTime;
  81.   nuint8    volumeNumber;
  82.   nuint8    logicalDriveNumber;
  83.   nuint16   sectorsPerBlock;
  84.   nuint16   startingBlock;
  85.   nuint16   totalBlocks;
  86.   nuint16   availableBlocks;
  87.   nuint16   totalDirectorySlots;
  88.   nuint16   availableDirectorySlots;
  89.   nuint16   maxDirectorySlotsUsed;
  90.   nuint8    isHashing;
  91.   nuint8    isCaching;
  92.   nuint8    isRemovable;
  93.   nuint8    isMounted;
  94.   nstr8     volumeName[16];
  95. } VOL_STATS;
  96.  
  97.  
  98. typedef struct ExtendedVolInfo_tag
  99. {
  100.   nuint32 volType;
  101.   nuint32 statusFlag;
  102.   nuint32 sectorSize;
  103.   nuint32 sectorsPerCluster;
  104.   nuint32 volSizeInClusters;
  105.   nuint32 freeClusters;
  106.   nuint32 subAllocFreeableClusters;
  107.   nuint32 freeableLimboSectors;
  108.   nuint32 nonfreeableLimboSectors;
  109.   nuint32 availSubAllocSectors;            /* non freeable */
  110.   nuint32 nonuseableSubAllocSectors;
  111.   nuint32 subAllocClusters;
  112.   nuint32 numDataStreams;
  113.   nuint32 numLimboDataStreams;
  114.   nuint32 oldestDelFileAgeInTicks;
  115.   nuint32 numCompressedDataStreams;
  116.   nuint32 numCompressedLimboDataStreams;
  117.   nuint32 numNoncompressibleDataStreams;
  118.   nuint32 precompressedSectors;
  119.   nuint32 compressedSectors;
  120.   nuint32 numMigratedDataStreams;
  121.   nuint32 migratedSectors;
  122.   nuint32 clustersUsedByFAT;
  123.   nuint32 clustersUsedByDirs;
  124.   nuint32 clustersUsedByExtDirs;
  125.   nuint32 totalDirEntries;
  126.   nuint32 unusedDirEntries;
  127.   nuint32 totalExtDirExtants;
  128.   nuint32 unusedExtDirExtants;
  129.   nuint32 extAttrsDefined;
  130.   nuint32 extAttrExtantsUsed;
  131.   nuint32 DirectoryServicesObjectID;
  132.   nuint32 volLastModifiedDateAndTime;
  133. } NWVolExtendedInfo;
  134.  
  135.  
  136. NWCCODE N_API NWGetDiskUtilization
  137. (
  138.   NWCONN_HANDLE   conn,
  139.   nuint32         objID,
  140.   nuint8          volNum,
  141.   pnuint16        usedDirectories,
  142.   pnuint16        usedFiles,
  143.   pnuint16        usedBlocks
  144. );
  145.  
  146. NWCCODE N_API NWGetObjDiskRestrictions
  147. (
  148.   NWCONN_HANDLE   conn,
  149.   nuint8          volNumber,
  150.   nuint32         objectID,
  151.   pnuint32        restriction,
  152.   pnuint32        inUse
  153. );
  154.  
  155. NWCCODE N_API NWScanVolDiskRestrictions
  156. (
  157.   NWCONN_HANDLE   conn,
  158.   nuint8          volNum,
  159.   pnuint32        iterhandle,
  160.   NWVolumeRestrictions N_FAR * volInfo
  161. );
  162.  
  163. NWCCODE N_API NWScanVolDiskRestrictions2
  164. (
  165.   NWCONN_HANDLE   conn,
  166.   nuint8          volNum,
  167.   pnuint32        iterhandle,
  168.   NWVOL_RESTRICTIONS N_FAR * volInfo
  169. );
  170.  
  171. NWCCODE N_API NWRemoveObjectDiskRestrictions
  172. (
  173.   NWCONN_HANDLE   conn,
  174.   nuint8          volNum,
  175.   nuint32         objID
  176. );
  177.  
  178. NWCCODE N_API NWSetObjectVolSpaceLimit
  179. (
  180.   NWCONN_HANDLE   conn,
  181.   nuint16         volNum,
  182.   nuint32         objID,
  183.   nuint32         restriction
  184. );
  185.  
  186. NWCCODE N_API NWGetVolumeInfoWithHandle
  187. (
  188.   NWCONN_HANDLE   conn,
  189.   NWDIR_HANDLE    dirHandle,
  190.   pnstr8          volName,
  191.   pnuint16        totalBlocks,
  192.   pnuint16        sectorsPerBlock,
  193.   pnuint16        availableBlocks,
  194.   pnuint16        totalDirEntries,
  195.   pnuint16        availableDirEntries,
  196.   pnuint16        volIsRemovableFlag
  197. );
  198.  
  199. NWCCODE N_API NWGetVolumeInfoWithNumber
  200. (
  201.   NWCONN_HANDLE   conn,
  202.   nuint16         volNum,
  203.   pnstr8          volName,
  204.   pnuint16        totalBlocks,
  205.   pnuint16        sectorsPerBlock,
  206.   pnuint16        availableBlocks,
  207.   pnuint16        totalDirEntries,
  208.   pnuint16        availableDirEntries,
  209.   pnuint16        volIsRemovableFlag
  210. );
  211.  
  212. NWCCODE N_API NWGetVolumeName
  213. (
  214.   NWCONN_HANDLE   conn,
  215.   nuint16         volNum,
  216.   pnstr8          volName
  217. );
  218.  
  219. NWCCODE N_API NWGetVolumeNumber
  220. (
  221.   NWCONN_HANDLE   conn,
  222.   pnstr8          volName,
  223.   pnuint16        volNum
  224. );
  225.  
  226. NWCCODE N_API NWGetVolumeStats
  227. (
  228.   NWCONN_HANDLE   conn,
  229.   nuint8          volNum,
  230.   VOL_STATS N_FAR * volInfo
  231. );
  232.  
  233. NWCCODE N_API NWGetExtendedVolumeInfo
  234. (
  235.   NWCONN_HANDLE   conn,
  236.   nuint16         volNum,
  237.   NWVolExtendedInfo N_FAR * volInfo
  238. );
  239.  
  240. #ifdef __cplusplus
  241. }
  242. #endif
  243.  
  244. #include "npackoff.h"
  245. #endif
  246.