1 /* BSDI sys_info.h,v 1.6 1998/06/03 19:14:59 karels Exp */
4 * Copyright (c) 1996-1999 Distributed Processing Technology Corporation
7 * Redistribution and use in source form, with or without modification, are
8 * permitted provided that redistributions of source code must retain the
9 * above copyright notice, this list of conditions and the following disclaimer.
11 * This software is provided `as is' by Distributed Processing Technology and
12 * any express or implied warranties, including, but not limited to, the
13 * implied warranties of merchantability and fitness for a particular purpose,
14 * are disclaimed. In no event shall Distributed Processing Technology be
15 * liable for any direct, indirect, incidental, special, exemplary or
16 * consequential damages (including, but not limited to, procurement of
17 * substitute goods or services; loss of use, data, or profits; or business
18 * interruptions) however caused and on any theory of liability, whether in
19 * contract, strict liability, or tort (including negligence or otherwise)
20 * arising in any way out of the use of this driver software, even if advised
21 * of the possibility of such damage.
29 ****************************************************************************
33 * This file contains structure definitions for the OS dependent
34 *layer system information buffers.
36 *Copyright Distributed Processing Technology, Corp.
38 * Maitland, Fl. 32751 USA
39 * Phone: (407) 830-5522 Fax: (407) 260-5366
50 *****************************************************************************/
53 /*Include Files ------------------------------------------------------------- */
58 #if defined (_DPT_AIX)
59 #pragma options align=packed
66 /*struct - driveParam_S - start
67 *===========================================================================
71 * This structure defines the drive parameters seen during
74 *---------------------------------------------------------------------------*/
82 uSHORT cylinders; /* Upto 1024 */
83 uCHAR heads; /* Upto 255 */
84 uCHAR sectors; /* Upto 63 */
88 //---------- Portability Additions ----------- in sp_sinfo.cpp
90 uSHORT netInsert(dptBuffer_S *buffer);
91 uSHORT netExtract(dptBuffer_S *buffer);
92 #endif // DPT PORTABLE
93 //--------------------------------------------
99 /*driveParam_S - end */
102 /*struct - sysInfo_S - start
103 *===========================================================================
107 * This structure defines the command system information that
108 *should be returned by every OS dependent layer.
110 *---------------------------------------------------------------------------*/
112 /*flags - bit definitions */
113 #define SI_CMOS_Valid 0x0001
114 #define SI_NumDrivesValid 0x0002
115 #define SI_ProcessorValid 0x0004
116 #define SI_MemorySizeValid 0x0008
117 #define SI_DriveParamsValid 0x0010
118 #define SI_SmartROMverValid 0x0020
119 #define SI_OSversionValid 0x0040
120 #define SI_OSspecificValid 0x0080 /* 1 if OS structure returned */
121 #define SI_BusTypeValid 0x0100
123 #define SI_ALL_VALID 0x0FFF /* All Std SysInfo is valid */
124 #define SI_NO_SmartROM 0x8000
126 /*busType - definitions */
127 #define SI_ISA_BUS 0x00
128 #define SI_MCA_BUS 0x01
129 #define SI_EISA_BUS 0x02
130 #define SI_PCI_BUS 0x04
138 uCHAR drive0CMOS; /* CMOS Drive 0 Type */
139 uCHAR drive1CMOS; /* CMOS Drive 1 Type */
140 uCHAR numDrives; /* 0040:0075 contents */
141 uCHAR processorFamily; /* Same as DPTSIG's definition */
142 uCHAR processorType; /* Same as DPTSIG's definition */
143 uCHAR smartROMMajorVersion;
144 uCHAR smartROMMinorVersion; /* SmartROM version */
145 uCHAR smartROMRevision;
146 uSHORT flags; /* See bit definitions above */
147 uSHORT conventionalMemSize; /* in KB */
148 uLONG extendedMemSize; /* in KB */
149 uLONG osType; /* Same as DPTSIG's definition */
150 uCHAR osMajorVersion;
151 uCHAR osMinorVersion; /* The OS version */
154 uCHAR busType; /* See defininitions above */
155 uSHORT osSubRevision;
156 uCHAR pad[2]; /* For alignment */
159 uCHAR busType; /* See defininitions above */
160 uCHAR pad[3]; /* For alignment */
162 driveParam_S drives[16]; /* SmartROM Logical Drives */
166 //---------- Portability Additions ----------- in sp_sinfo.cpp
168 uSHORT netInsert(dptBuffer_S *buffer);
169 uSHORT netExtract(dptBuffer_S *buffer);
170 #endif // DPT PORTABLE
171 //--------------------------------------------
180 /*struct - DOS_Info_S - start
181 *===========================================================================
185 * This structure defines the system information specific to a
188 *---------------------------------------------------------------------------*/
190 /*flags - bit definitions */
191 #define DI_DOS_HIGH 0x01 /* DOS is loaded high */
192 #define DI_DPMI_VALID 0x02 /* DPMI version is valid */
200 uCHAR flags; /* See bit definitions above */
201 uSHORT driverLocation; /* SmartROM BIOS address */
207 //---------- Portability Additions ----------- in sp_sinfo.cpp
209 uSHORT netInsert(dptBuffer_S *buffer);
210 uSHORT netExtract(dptBuffer_S *buffer);
211 #endif // DPT PORTABLE
212 //--------------------------------------------
218 /*DOS_Info_S - end */
221 /*struct - Netware_Info_S - start
222 *===========================================================================
226 * This structure defines the system information specific to a
229 *---------------------------------------------------------------------------*/
232 struct Netware_Info_S {
237 uCHAR driverName[13]; /* ie PM12NW31.DSK */
238 uCHAR serverName[48];
239 uCHAR netwareVersion; /* The Netware OS version */
240 uCHAR netwareSubVersion;
241 uCHAR netwareRevision;
242 uSHORT maxConnections; /* Probably 250 or 1000 */
243 uSHORT connectionsInUse;
249 uCHAR clibMajorVersion; /* The CLIB.NLM version */
250 uCHAR clibMinorVersion;
255 //---------- Portability Additions ----------- in sp_sinfo.cpp
257 uSHORT netInsert(dptBuffer_S *buffer);
258 uSHORT netExtract(dptBuffer_S *buffer);
259 #endif // DPT PORTABLE
260 //--------------------------------------------
266 /*Netware_Info_S - end */
269 /*struct - OS2_Info_S - start
270 *===========================================================================
274 * This structure defines the system information specific to an
277 *---------------------------------------------------------------------------*/
289 //---------- Portability Additions ----------- in sp_sinfo.cpp
291 uSHORT netInsert(dptBuffer_S *buffer);
292 uSHORT netExtract(dptBuffer_S *buffer);
293 #endif // DPT PORTABLE
294 //--------------------------------------------
300 /*OS2_Info_S - end */
303 /*struct - WinNT_Info_S - start
304 *===========================================================================
308 * This structure defines the system information specific to a
311 *---------------------------------------------------------------------------*/
314 struct WinNT_Info_S {
323 //---------- Portability Additions ----------- in sp_sinfo.cpp
325 uSHORT netInsert(dptBuffer_S *buffer);
326 uSHORT netExtract(dptBuffer_S *buffer);
327 #endif // DPT PORTABLE
328 //--------------------------------------------
334 /*WinNT_Info_S - end */
337 /*struct - SCO_Info_S - start
338 *===========================================================================
342 * This structure defines the system information specific to an
345 *---------------------------------------------------------------------------*/
357 //---------- Portability Additions ----------- in sp_sinfo.cpp
359 uSHORT netInsert(dptBuffer_S *buffer);
360 uSHORT netExtract(dptBuffer_S *buffer);
361 #endif // DPT PORTABLE
362 //--------------------------------------------
368 /*SCO_Info_S - end */
371 /*struct - USL_Info_S - start
372 *===========================================================================
376 * This structure defines the system information specific to a
379 *---------------------------------------------------------------------------*/
391 //---------- Portability Additions ----------- in sp_sinfo.cpp
393 uSHORT netInsert(dptBuffer_S *buffer);
394 uSHORT netExtract(dptBuffer_S *buffer);
395 #endif // DPT PORTABLE
396 //--------------------------------------------
402 /*USL_Info_S - end */
405 /* Restore default structure packing */
407 #if defined (_DPT_AIX)
408 #pragma options align=reset
409 #elif defined (UNPACK_FOUR)
416 #endif // __SYS_INFO_H