| /*	BSDI sys_info.h,v 1.6 1998/06/03 19:14:59 karels Exp	*/ | 
 |  | 
 | /* | 
 |  * Copyright (c) 1996-1999 Distributed Processing Technology Corporation | 
 |  * All rights reserved. | 
 |  * | 
 |  * Redistribution and use in source form, with or without modification, are | 
 |  * permitted provided that redistributions of source code must retain the | 
 |  * above copyright notice, this list of conditions and the following disclaimer. | 
 |  * | 
 |  * This software is provided `as is' by Distributed Processing Technology and | 
 |  * any express or implied warranties, including, but not limited to, the | 
 |  * implied warranties of merchantability and fitness for a particular purpose, | 
 |  * are disclaimed. In no event shall Distributed Processing Technology be | 
 |  * liable for any direct, indirect, incidental, special, exemplary or | 
 |  * consequential damages (including, but not limited to, procurement of | 
 |  * substitute goods or services; loss of use, data, or profits; or business | 
 |  * interruptions) however caused and on any theory of liability, whether in | 
 |  * contract, strict liability, or tort (including negligence or otherwise) | 
 |  * arising in any way out of the use of this driver software, even if advised | 
 |  * of the possibility of such damage. | 
 |  * | 
 |  */ | 
 |  | 
 | #ifndef         __SYS_INFO_H | 
 | #define         __SYS_INFO_H | 
 |  | 
 | /*File - SYS_INFO.H | 
 |  **************************************************************************** | 
 |  * | 
 |  *Description: | 
 |  * | 
 |  *      This file contains structure definitions for the OS dependent | 
 |  *layer system information buffers. | 
 |  * | 
 |  *Copyright Distributed Processing Technology, Corp. | 
 |  *        140 Candace Dr. | 
 |  *        Maitland, Fl. 32751   USA | 
 |  *        Phone: (407) 830-5522  Fax: (407) 260-5366 | 
 |  *        All Rights Reserved | 
 |  * | 
 |  *Author:       Don Kemper | 
 |  *Date:         5/10/94 | 
 |  * | 
 |  *Editors: | 
 |  * | 
 |  *Remarks: | 
 |  * | 
 |  * | 
 |  *****************************************************************************/ | 
 |  | 
 |  | 
 | /*Include Files ------------------------------------------------------------- */ | 
 |  | 
 | #include        "osd_util.h" | 
 |  | 
 | #ifndef NO_PACK | 
 | #if defined (_DPT_AIX) | 
 | #pragma options align=packed | 
 | #else | 
 | #pragma pack(1) | 
 | #endif  /* aix */ | 
 | #endif  // no unpack | 
 |  | 
 |  | 
 | /*struct - driveParam_S - start | 
 |  *=========================================================================== | 
 |  * | 
 |  *Description: | 
 |  * | 
 |  *      This structure defines the drive parameters seen during | 
 |  *booting. | 
 |  * | 
 |  *---------------------------------------------------------------------------*/ | 
 |  | 
 | #ifdef  __cplusplus | 
 |    struct driveParam_S { | 
 | #else | 
 |    typedef struct  { | 
 | #endif | 
 |  | 
 |    uSHORT       cylinders;      /* Upto 1024 */ | 
 |    uCHAR        heads;          /* Upto 255 */ | 
 |    uCHAR        sectors;        /* Upto 63 */ | 
 |  | 
 | #ifdef  __cplusplus | 
 |  | 
 | //---------- Portability Additions ----------- in sp_sinfo.cpp | 
 | #ifdef DPT_PORTABLE | 
 | 	uSHORT		netInsert(dptBuffer_S *buffer); | 
 | 	uSHORT		netExtract(dptBuffer_S *buffer); | 
 | #endif // DPT PORTABLE | 
 | //-------------------------------------------- | 
 |  | 
 |    }; | 
 | #else | 
 |    } driveParam_S; | 
 | #endif | 
 | /*driveParam_S - end */ | 
 |  | 
 |  | 
 | /*struct - sysInfo_S - start | 
 |  *=========================================================================== | 
 |  * | 
 |  *Description: | 
 |  * | 
 |  *      This structure defines the command system information that | 
 |  *should be returned by every OS dependent layer. | 
 |  * | 
 |  *---------------------------------------------------------------------------*/ | 
 |  | 
 | /*flags - bit definitions */ | 
 | #define SI_CMOS_Valid           0x0001 | 
 | #define SI_NumDrivesValid       0x0002 | 
 | #define SI_ProcessorValid       0x0004 | 
 | #define SI_MemorySizeValid      0x0008 | 
 | #define SI_DriveParamsValid     0x0010 | 
 | #define SI_SmartROMverValid     0x0020 | 
 | #define SI_OSversionValid       0x0040 | 
 | #define SI_OSspecificValid      0x0080  /* 1 if OS structure returned */ | 
 | #define SI_BusTypeValid         0x0100 | 
 |  | 
 | #define SI_ALL_VALID            0x0FFF  /* All Std SysInfo is valid */ | 
 | #define SI_NO_SmartROM          0x8000 | 
 |  | 
 | /*busType - definitions */ | 
 | #define SI_ISA_BUS      0x00 | 
 | #define SI_MCA_BUS      0x01 | 
 | #define SI_EISA_BUS     0x02 | 
 | #define SI_PCI_BUS      0x04 | 
 |  | 
 | #ifdef  __cplusplus | 
 |    struct sysInfo_S { | 
 | #else | 
 |    typedef struct  { | 
 | #endif | 
 |  | 
 |    uCHAR        drive0CMOS;             /* CMOS Drive 0 Type */ | 
 |    uCHAR        drive1CMOS;             /* CMOS Drive 1 Type */ | 
 |    uCHAR        numDrives;              /* 0040:0075 contents */ | 
 |    uCHAR        processorFamily;        /* Same as DPTSIG's definition */ | 
 |    uCHAR        processorType;          /* Same as DPTSIG's definition */ | 
 |    uCHAR        smartROMMajorVersion; | 
 |    uCHAR        smartROMMinorVersion;   /* SmartROM version */ | 
 |    uCHAR        smartROMRevision; | 
 |    uSHORT       flags;                  /* See bit definitions above */ | 
 |    uSHORT       conventionalMemSize;    /* in KB */ | 
 |    uINT         extendedMemSize;        /* in KB */ | 
 |    uINT         osType;                 /* Same as DPTSIG's definition */ | 
 |    uCHAR        osMajorVersion; | 
 |    uCHAR        osMinorVersion;         /* The OS version */ | 
 |    uCHAR        osRevision; | 
 | #ifdef _SINIX_ADDON | 
 |    uCHAR        busType;                /* See defininitions above */ | 
 |    uSHORT       osSubRevision; | 
 |    uCHAR        pad[2];                 /* For alignment */ | 
 | #else | 
 |    uCHAR        osSubRevision; | 
 |    uCHAR        busType;                /* See defininitions above */ | 
 |    uCHAR        pad[3];                 /* For alignment */ | 
 | #endif | 
 |    driveParam_S drives[16];             /* SmartROM Logical Drives */ | 
 |  | 
 | #ifdef  __cplusplus | 
 |  | 
 | //---------- Portability Additions ----------- in sp_sinfo.cpp | 
 | #ifdef DPT_PORTABLE | 
 | 	uSHORT		netInsert(dptBuffer_S *buffer); | 
 | 	uSHORT		netExtract(dptBuffer_S *buffer); | 
 | #endif // DPT PORTABLE | 
 | //-------------------------------------------- | 
 |  | 
 |    }; | 
 | #else | 
 |    } sysInfo_S; | 
 | #endif | 
 | /*sysInfo_S - end */ | 
 |  | 
 |  | 
 | /*struct - DOS_Info_S - start | 
 |  *=========================================================================== | 
 |  * | 
 |  *Description: | 
 |  * | 
 |  *      This structure defines the system information specific to a | 
 |  *DOS workstation. | 
 |  * | 
 |  *---------------------------------------------------------------------------*/ | 
 |  | 
 | /*flags - bit definitions */ | 
 | #define DI_DOS_HIGH             0x01    /* DOS is loaded high */ | 
 | #define DI_DPMI_VALID           0x02    /* DPMI version is valid */ | 
 |  | 
 | #ifdef  __cplusplus | 
 |    struct DOS_Info_S { | 
 | #else | 
 |    typedef struct { | 
 | #endif | 
 |  | 
 |    uCHAR        flags;          /* See bit definitions above */ | 
 |    uSHORT       driverLocation; /* SmartROM BIOS address */ | 
 |    uSHORT       DOS_version; | 
 |    uSHORT       DPMI_version; | 
 |  | 
 | #ifdef  __cplusplus | 
 |  | 
 | //---------- Portability Additions ----------- in sp_sinfo.cpp | 
 | #ifdef DPT_PORTABLE | 
 | 	uSHORT		netInsert(dptBuffer_S *buffer); | 
 | 	uSHORT		netExtract(dptBuffer_S *buffer); | 
 | #endif // DPT PORTABLE | 
 | //-------------------------------------------- | 
 |  | 
 |    }; | 
 | #else | 
 |    } DOS_Info_S; | 
 | #endif | 
 | /*DOS_Info_S - end */ | 
 |  | 
 |  | 
 | /*struct - Netware_Info_S - start | 
 |  *=========================================================================== | 
 |  * | 
 |  *Description: | 
 |  * | 
 |  *      This structure defines the system information specific to a | 
 |  *Netware machine. | 
 |  * | 
 |  *---------------------------------------------------------------------------*/ | 
 |  | 
 | #ifdef  __cplusplus | 
 |    struct Netware_Info_S { | 
 | #else | 
 |    typedef struct { | 
 | #endif | 
 |  | 
 |    uCHAR        driverName[13];         /* ie PM12NW31.DSK */ | 
 |    uCHAR        serverName[48]; | 
 |    uCHAR        netwareVersion;         /* The Netware OS version */ | 
 |    uCHAR        netwareSubVersion; | 
 |    uCHAR        netwareRevision; | 
 |    uSHORT       maxConnections;         /* Probably  250 or 1000 */ | 
 |    uSHORT       connectionsInUse; | 
 |    uSHORT       maxVolumes; | 
 |    uCHAR        unused; | 
 |    uCHAR        SFTlevel; | 
 |    uCHAR        TTSlevel; | 
 |  | 
 |    uCHAR        clibMajorVersion;       /* The CLIB.NLM version */ | 
 |    uCHAR        clibMinorVersion; | 
 |    uCHAR        clibRevision; | 
 |  | 
 | #ifdef  __cplusplus | 
 |  | 
 | //---------- Portability Additions ----------- in sp_sinfo.cpp | 
 | #ifdef DPT_PORTABLE | 
 | 	uSHORT		netInsert(dptBuffer_S *buffer); | 
 | 	uSHORT		netExtract(dptBuffer_S *buffer); | 
 | #endif // DPT PORTABLE | 
 | //-------------------------------------------- | 
 |  | 
 |    }; | 
 | #else | 
 |    } Netware_Info_S; | 
 | #endif | 
 | /*Netware_Info_S - end */ | 
 |  | 
 |  | 
 | /*struct - OS2_Info_S - start | 
 |  *=========================================================================== | 
 |  * | 
 |  *Description: | 
 |  * | 
 |  *      This structure defines the system information specific to an | 
 |  *OS/2 machine. | 
 |  * | 
 |  *---------------------------------------------------------------------------*/ | 
 |  | 
 | #ifdef  __cplusplus | 
 |    struct OS2_Info_S { | 
 | #else | 
 |    typedef struct { | 
 | #endif | 
 |  | 
 |    uCHAR        something; | 
 |  | 
 | #ifdef  __cplusplus | 
 |  | 
 | //---------- Portability Additions ----------- in sp_sinfo.cpp | 
 | #ifdef DPT_PORTABLE | 
 | 	uSHORT		netInsert(dptBuffer_S *buffer); | 
 | 	uSHORT		netExtract(dptBuffer_S *buffer); | 
 | #endif // DPT PORTABLE | 
 | //-------------------------------------------- | 
 |  | 
 |    }; | 
 | #else | 
 |    } OS2_Info_S; | 
 | #endif | 
 | /*OS2_Info_S - end */ | 
 |  | 
 |  | 
 | /*struct - WinNT_Info_S - start | 
 |  *=========================================================================== | 
 |  * | 
 |  *Description: | 
 |  * | 
 |  *      This structure defines the system information specific to a | 
 |  *Windows NT machine. | 
 |  * | 
 |  *---------------------------------------------------------------------------*/ | 
 |  | 
 | #ifdef  __cplusplus | 
 |    struct WinNT_Info_S { | 
 | #else | 
 |    typedef struct { | 
 | #endif | 
 |  | 
 |    uCHAR        something; | 
 |  | 
 | #ifdef  __cplusplus | 
 |  | 
 | //---------- Portability Additions ----------- in sp_sinfo.cpp | 
 | #ifdef DPT_PORTABLE | 
 | 	uSHORT		netInsert(dptBuffer_S *buffer); | 
 | 	uSHORT		netExtract(dptBuffer_S *buffer); | 
 | #endif // DPT PORTABLE | 
 | //-------------------------------------------- | 
 |  | 
 |    }; | 
 | #else | 
 |    } WinNT_Info_S; | 
 | #endif | 
 | /*WinNT_Info_S - end */ | 
 |  | 
 |  | 
 | /*struct - SCO_Info_S - start | 
 |  *=========================================================================== | 
 |  * | 
 |  *Description: | 
 |  * | 
 |  *      This structure defines the system information specific to an | 
 |  *SCO UNIX machine. | 
 |  * | 
 |  *---------------------------------------------------------------------------*/ | 
 |  | 
 | #ifdef  __cplusplus | 
 |    struct SCO_Info_S { | 
 | #else | 
 |    typedef struct { | 
 | #endif | 
 |  | 
 |    uCHAR        something; | 
 |  | 
 | #ifdef  __cplusplus | 
 |  | 
 | //---------- Portability Additions ----------- in sp_sinfo.cpp | 
 | #ifdef DPT_PORTABLE | 
 | 	uSHORT		netInsert(dptBuffer_S *buffer); | 
 | 	uSHORT		netExtract(dptBuffer_S *buffer); | 
 | #endif // DPT PORTABLE | 
 | //-------------------------------------------- | 
 |  | 
 |    }; | 
 | #else | 
 |    } SCO_Info_S; | 
 | #endif | 
 | /*SCO_Info_S - end */ | 
 |  | 
 |  | 
 | /*struct - USL_Info_S - start | 
 |  *=========================================================================== | 
 |  * | 
 |  *Description: | 
 |  * | 
 |  *      This structure defines the system information specific to a | 
 |  *USL UNIX machine. | 
 |  * | 
 |  *---------------------------------------------------------------------------*/ | 
 |  | 
 | #ifdef  __cplusplus | 
 |    struct USL_Info_S { | 
 | #else | 
 |    typedef struct { | 
 | #endif | 
 |  | 
 |    uCHAR        something; | 
 |  | 
 | #ifdef  __cplusplus | 
 |  | 
 | //---------- Portability Additions ----------- in sp_sinfo.cpp | 
 | #ifdef DPT_PORTABLE | 
 | 	uSHORT		netInsert(dptBuffer_S *buffer); | 
 | 	uSHORT		netExtract(dptBuffer_S *buffer); | 
 | #endif // DPT PORTABLE | 
 | //-------------------------------------------- | 
 |  | 
 |    }; | 
 | #else | 
 |    } USL_Info_S; | 
 | #endif | 
 | /*USL_Info_S - end */ | 
 |  | 
 |  | 
 |   /* Restore default structure packing */ | 
 | #ifndef NO_UNPACK | 
 | #if defined (_DPT_AIX) | 
 | #pragma options align=reset | 
 | #elif defined (UNPACK_FOUR) | 
 | #pragma pack(4) | 
 | #else | 
 | #pragma pack() | 
 | #endif  /* aix */ | 
 | #endif  // no unpack | 
 |  | 
 | #endif  // __SYS_INFO_H | 
 |  |