418 lines
		
	
	
	
		
			11 KiB
			
		
	
	
	
		
			C
		
	
	
	
	
	
		
		
			
		
	
	
			418 lines
		
	
	
	
		
			11 KiB
			
		
	
	
	
		
			C
		
	
	
	
	
	
|   | /*	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 */ | ||
|  |    uLONG        extendedMemSize;        /* in KB */ | ||
|  |    uLONG        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
 | ||
|  | 
 |