mirror of https://github.com/Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
417 lines
11 KiB
417 lines
11 KiB
/* 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; /* Up to 1024 */ |
|
uCHAR heads; /* Up to 255 */ |
|
uCHAR sectors; /* Up to 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 |
|
|
|
|