home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / lansystk.zip / INCLUDE / LANSERV / HPFS386.H < prev    next >
C/C++ Source or Header  |  1998-05-08  |  6KB  |  140 lines

  1. /**************************************************************************/
  2. /*                                                                        */
  3. /*              IBM OS/2(tm) Local Area Network (LAN) Server              */
  4. /*                            Version 4.0                                 */
  5. /*                   (C) Copyright IBM Corp. 1988, 1994                   */
  6. /*                  Licensed Materials - Property of IBM                  */
  7. /*                            52G8468, 52G8475                            */
  8. /*                                                                        */
  9. /**************************************************************************/
  10.  
  11. /********************************************************************
  12.  *                                                                  *
  13.  *  About this file ...  HPFS386.H                                  *
  14.  *                                                                  *
  15.  *  This file contains information about the HPFS386 APIs.          *
  16.  *                                                                  *
  17.  *      Function prototypes.                                        *
  18.  *                                                                  *
  19.  *      Data structure templates.                                   *
  20.  *                                                                  *
  21.  *      Definition of special values.                               *
  22.  *                                                                  *
  23.  *                                                                  *
  24.  *  NOTE:  You must include NETCONS.H before this file, since this  *
  25.  *         file depends on values defined in NETCONS.H.             *
  26.  *                                                                  *
  27.  ********************************************************************/
  28.  
  29.  
  30.  
  31.  
  32. #ifdef  ANY_32_BIT
  33. #pragma pack(1)
  34. #endif
  35.  
  36. /****************************************************************
  37.  *                                                              *
  38.  *                     Function prototypes                      *
  39.  *                                                              *
  40.  ****************************************************************/
  41.  
  42. #ifdef ANY_32_BIT
  43.  
  44. APIRET APIENTRY
  45.   HPFS386GETINFO(char *                   pszReserved,
  46.                  char *                   pszInfo,
  47.                  unsigned long            Level,
  48.                  char *                   pbBuffer,
  49.                  unsigned long            cbBuffer,
  50.                  unsigned long *          pcbAvail);
  51. #else
  52.  
  53. extern API_FUNCTION
  54.   HPFS386GetInfo16(char LSFAR *             pszReserved,
  55.                    char LSFAR *             pszInfo,
  56.                    unsigned short           Level,
  57.                    char LSFAR *             pbBuffer,
  58.                    unsigned short           cbBuffer,
  59.                    unsigned short LSFAR *   pcbAvail);
  60.  
  61.  
  62. #endif
  63.  
  64.  
  65. /****************************************************************
  66.  *                                                              *
  67.  *                 Special values and constants                 *
  68.  *                                                              *
  69.  ****************************************************************/
  70.  
  71.  
  72. /****************************************************************
  73.  *                                                              *
  74.  *                   Data structure templates                   *
  75.  *                                                              *
  76.  ****************************************************************/
  77.  
  78. struct hpfs386_info_0   {
  79.       unsigned long hi0_status;
  80. };    /* hpfs386_info_0 */
  81.  
  82. /** Bitmap values for hi0_status **/
  83. #define  HPFS386_NotRunning      0x00000000
  84. #define  HPFS386_Running         0x00000001
  85. #define  HPFS386_LocallySecure   0x00000002
  86.  
  87.  
  88. /** Volume information **/
  89.  
  90. struct hpfs386_info_1 {
  91.     unsigned long hi1_Len;              /* length of structure */
  92.     unsigned char hi1_MajorVer;         /* Volume's version */
  93.     unsigned char hi1_MinorVer;
  94.     unsigned char hi1_pad1[2];
  95.     unsigned long hi1_DrvFlag;          /* SPB flags */
  96.     unsigned long hi1_VolFlag;          /* VOL flags */
  97.     unsigned char hi1_Unit;             /* unit number */
  98.     unsigned char hi1_Drive;            /* drive number */
  99.     unsigned char hi1_LazyFlag;         /* lazy writing flag */
  100.     unsigned char hi1_LazyPri;          /* lazy writing priority */
  101.     unsigned long hi1_BufferIdle;       /* BufferIdle value for drive */
  102.     unsigned long hi1_Maxage;           /* Maxage value for drive */
  103.     unsigned long hi1_SpareDB;          /* count of Spare DBs left on volume */
  104.     unsigned long hi1_Sectors;          /* # of sectors on volume */
  105.     unsigned long hi1_Space;            /* space remaining (in sectors) */
  106.     unsigned char hi1_Label[11];        /* volume label */
  107.     unsigned char hi1_LabelLen;         /* length of volume label */
  108.     unsigned long hi1_BootID;           /* volume serial number */
  109.     unsigned long hi1_AltSPB;           /* alternate spare block sector */
  110.     unsigned long hi1_HFUsed;           /* # of hotfixes in effect */
  111.     unsigned long hi1_HFMax;            /* max # of hotfixes available */
  112.     unsigned long hi1_DDCapabilities;   /* device driver capabilities flag */
  113.     unsigned long hi1_Contig;           /* contiguity factor (in KBytes) */
  114.                                         /*  single sector allocation if == 1 */
  115.     unsigned long hi1_Reserved[3];      /* must be passed in as zero */
  116. };      /* hpfs386_info_1 */
  117.  
  118.  
  119. /** System information **/
  120.  
  121. struct hpfs386_info_2 {
  122.     unsigned long hi2_CacheReads[2];    /* # of cache reads */
  123.     unsigned long hi2_DiskReads[2];     /* # of synchronous disk reads */
  124.     unsigned long hi2_LazyWrites[2];    /* # of lazy writes */
  125.     unsigned long hi2_DiskWrites[2];    /* # of synchronous disk writes */
  126.     unsigned long hi2_HotFixes;         /* # of hotfixes done */
  127.     unsigned short hi2_ReadHits;        /* Read Cache Hit % */
  128.     unsigned short hi2_WriteHits;       /* Write Cache Hit % */
  129. };      /* hpfs386_info_2 */
  130.  
  131.  
  132.  
  133.  
  134.  
  135. #ifdef   ANY_32_BIT
  136.  
  137. #pragma pack()
  138. #endif
  139.  
  140.