home *** CD-ROM | disk | FTP | other *** search
- /**************************************************************************/
- /* */
- /* IBM OS/2(tm) Local Area Network (LAN) Server */
- /* Version 3.0 */
- /* (c) Copyright International Business Machines Corporation, 1988, 1992 */
- /* */
- /**************************************************************************/
-
- /********************************************************************
- * *
- * About this file ... HPFS386.H *
- * *
- * This file contains information about the HPFS386 APIs. *
- * *
- * Function prototypes. *
- * *
- * Data structure templates. *
- * *
- * Definition of special values. *
- * *
- * *
- * NOTE: You must include NETCONS.H before this file, since this *
- * file depends on values defined in NETCONS.H. *
- * *
- ********************************************************************/
-
-
-
-
- #ifdef INCL_32
- #pragma pack(1)
- #endif
-
-
-
- /****************************************************************
- * *
- * Function prototypes *
- * *
- ****************************************************************/
-
- #ifdef INCL_32
-
- APIRET APIENTRY
- HPFS386GETINFO(char * pszReserved,
- char * pszInfo,
- unsigned long Level,
- char * pbBuffer,
- unsigned long cbBuffer,
- unsigned long * pcbAvail);
-
- APIRET APIENTRY
- HPFS386REQUEST(char * pszReserved,
- unsigned long ulFunction,
- char * pbInBuffer,
- unsigned long cbInBuffer,
- char * pbOutBuffer,
- unsigned long cbOutBuffer,
- unsigned long * pcbAvail);
-
- #else
-
- extern API_FUNCTION
- HPFS386GetInfo16(char LSFAR * pszReserved,
- char LSFAR * pszInfo,
- unsigned short Level,
- char LSFAR * pbBuffer,
- unsigned short cbBuffer,
- unsigned short LSFAR * pcbAvail);
-
-
- #endif
-
-
- /****************************************************************
- * *
- * Special values and constants *
- * *
- ****************************************************************/
-
- #define HPFS386_NotRunning 0x00000000
- #define HPFS386_Running 0x00000001
- #define HPFS386_LocallySecure 0x00000002
-
- #define HPFS386_Request_Lock 0x0
- #define HPFS386_Request_Unlock 0x1
- #define HPFS386_Request_Read 0x2
-
- /****************************************************************
- * *
- * Data structure templates *
- * *
- ****************************************************************/
-
- struct hpfs386_info_0 {
- unsigned long hi0_status;
- }; /* hpfs386_info_0 */
-
-
- struct hpfs386_info_1 {
- unsigned long hi1_Len; /* length of structure */
- unsigned char hi1_MajorVer; /* Volume's version */
- unsigned char hi1_MinorVer;
- unsigned char hi1_pad1[2];
- unsigned long hi1_DrvFlag; /* SPB flags */
- unsigned long hi1_VolFlag; /* VOL flags */
- unsigned char hi1_Unit; /* unit number */
- unsigned char hi1_Drive; /* drive number */
- unsigned char hi1_LazyFlag; /* lazy writing flag */
- unsigned char hi1_LazyPri; /* lazy writing priority */
- unsigned long hi1_BufferIdle; /* BufferIdle value for drive */
- unsigned long hi1_Maxage; /* Maxage value for drive */
- unsigned long hi1_SpareDB; /* count of Spare DBs left on volume */
- unsigned long hi1_Sectors; /* # of sectors on volume */
- unsigned long hi1_Space; /* space remaining (in sectors) */
- unsigned char hi1_Label[11]; /* volume label */
- unsigned char hi1_LabelLen; /* length of volume label */
- unsigned long hi1_BootID; /* volume serial number */
- unsigned long hi1_AltSPB; /* alternate spare block sector */
- unsigned long hi1_HFUsed; /* # of hotfixes in effect */
- unsigned long hi1_HFMax; /* max # of hotfixes available */
- unsigned long hi1_DDCapabilities; /* device driver capabilities flag */
- unsigned long hi1_Contig; /* contiguity factor (in KBytes) */
- /* single sector allocation if == 1 */
- unsigned long hi1_Reserved[3]; /* must be passed in as zero */
- }; /* hpfs386_info_1 */
-
-
- struct hpfs386_info_2 {
- unsigned long hi2_CacheReads[2]; /* # of cache reads */
- unsigned long hi2_DiskReads[2]; /* # of synchronous disk reads */
- unsigned long hi2_LazyWrites[2]; /* # of lazy writes */
- unsigned long hi2_DiskWrites[2]; /* # of synchronous disk writes */
- unsigned long hi2_HotFixes; /* # of hotfixes done */
- unsigned short hi2_ReadHits; /* Read Cache Hit % */
- unsigned short hi2_WriteHits; /* Write Cache Hit % */
- }; /* hpfs386_info_2 */
-
-
-
-
-
-
- #ifdef INCL_32
-
- struct hpfs386_req_LockBuffer {
- unsigned long hrlb_ulLinearAddress;
- unsigned long hrlb_ulPhysicalAddress;
- unsigned long hrlb_ulLockHandle[3];
- }; /* hpfs386_req_LockBuffer */
-
-
- struct hpfs386_req_LockRequest {
- unsigned long hrlr_ulLinearAddress;
- unsigned long hrlr_ulLength;
- unsigned long hrlr_ulFlags;
- }; /* hpfs386_req_LockRequest */
-
-
- struct hpfs386_req_Timing {
- unsigned long hrtm_ulTimeIn[2];
- unsigned long hrtm_ulTimeOut[2];
- }; /* hpfs386_req_Timing */
-
-
- struct hpfs386_req_ReadBuffer {
- unsigned long hrrb_ulLinearAddress;
- unsigned long hrrb_ulPhysicalAddress;
- unsigned long hrrb_ulLength;
- }; /* hpfs386_req_ReadBuffer */
-
- struct hpfs386_req_ReadRequest {
- unsigned long hrrr_ulNumBufs;
- unsigned long hrrr_ulHandle;
- unsigned long hrrr_ulStartSector;
- }; /* hpfs386_req_ReadRequest */
-
- #endif
-
- #ifdef INCL_32
-
-
- #pragma linkage (HPFS386GETINFO, system)
- #pragma linkage (HPFS386REQUEST, system)
-
-
- #endif
-