Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
sys_info.h
Go to the documentation of this file.
1 /* BSDI sys_info.h,v 1.6 1998/06/03 19:14:59 karels Exp */
2 
3 /*
4  * Copyright (c) 1996-1999 Distributed Processing Technology Corporation
5  * All rights reserved.
6  *
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.
10  *
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.
22  *
23  */
24 
25 #ifndef __SYS_INFO_H
26 #define __SYS_INFO_H
27 
28 /*File - SYS_INFO.H
29  ****************************************************************************
30  *
31  *Description:
32  *
33  * This file contains structure definitions for the OS dependent
34  *layer system information buffers.
35  *
36  *Copyright Distributed Processing Technology, Corp.
37  * 140 Candace Dr.
38  * Maitland, Fl. 32751 USA
39  * Phone: (407) 830-5522 Fax: (407) 260-5366
40  * All Rights Reserved
41  *
42  *Author: Don Kemper
43  *Date: 5/10/94
44  *
45  *Editors:
46  *
47  *Remarks:
48  *
49  *
50  *****************************************************************************/
51 
52 
53 /*Include Files ------------------------------------------------------------- */
54 
55 #include "osd_util.h"
56 
57 #ifndef NO_PACK
58 #if defined (_DPT_AIX)
59 #pragma options align=packed
60 #else
61 #pragma pack(1)
62 #endif /* aix */
63 #endif // no unpack
64 
65 
66 /*struct - driveParam_S - start
67  *===========================================================================
68  *
69  *Description:
70  *
71  * This structure defines the drive parameters seen during
72  *booting.
73  *
74  *---------------------------------------------------------------------------*/
75 
76 #ifdef __cplusplus
77  struct driveParam_S {
78 #else
79  typedef struct {
80 #endif
81 
82  uSHORT cylinders; /* Up to 1024 */
83  uCHAR heads; /* Up to 255 */
84  uCHAR sectors; /* Up to 63 */
85 
86 #ifdef __cplusplus
87 
88 //---------- Portability Additions ----------- in sp_sinfo.cpp
89 #ifdef DPT_PORTABLE
90  uSHORT netInsert(dptBuffer_S *buffer);
91  uSHORT netExtract(dptBuffer_S *buffer);
92 #endif // DPT PORTABLE
93 //--------------------------------------------
94 
95  };
96 #else
97  } driveParam_S;
98 #endif
99 /*driveParam_S - end */
100 
101 
102 /*struct - sysInfo_S - start
103  *===========================================================================
104  *
105  *Description:
106  *
107  * This structure defines the command system information that
108  *should be returned by every OS dependent layer.
109  *
110  *---------------------------------------------------------------------------*/
111 
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
122 
123 #define SI_ALL_VALID 0x0FFF /* All Std SysInfo is valid */
124 #define SI_NO_SmartROM 0x8000
125 
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
131 
132 #ifdef __cplusplus
133  struct sysInfo_S {
134 #else
135  typedef struct {
136 #endif
137 
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 */
144  uCHAR smartROMMinorVersion; /* SmartROM version */
146  uSHORT flags; /* See bit definitions above */
148  uINT extendedMemSize; /* in KB */
149  uINT osType; /* Same as DPTSIG's definition */
151  uCHAR osMinorVersion; /* The OS version */
153 #ifdef _SINIX_ADDON
154  uCHAR busType; /* See defininitions above */
156  uCHAR pad[2]; /* For alignment */
157 #else
159  uCHAR busType; /* See defininitions above */
160  uCHAR pad[3]; /* For alignment */
161 #endif
162  driveParam_S drives[16]; /* SmartROM Logical Drives */
163 
164 #ifdef __cplusplus
165 
166 //---------- Portability Additions ----------- in sp_sinfo.cpp
167 #ifdef DPT_PORTABLE
168  uSHORT netInsert(dptBuffer_S *buffer);
169  uSHORT netExtract(dptBuffer_S *buffer);
170 #endif // DPT PORTABLE
171 //--------------------------------------------
172 
173  };
174 #else
175  } sysInfo_S;
176 #endif
177 /*sysInfo_S - end */
178 
179 
180 /*struct - DOS_Info_S - start
181  *===========================================================================
182  *
183  *Description:
184  *
185  * This structure defines the system information specific to a
186  *DOS workstation.
187  *
188  *---------------------------------------------------------------------------*/
189 
190 /*flags - bit definitions */
191 #define DI_DOS_HIGH 0x01 /* DOS is loaded high */
192 #define DI_DPMI_VALID 0x02 /* DPMI version is valid */
193 
194 #ifdef __cplusplus
195  struct DOS_Info_S {
196 #else
197  typedef struct {
198 #endif
199 
200  uCHAR flags; /* See bit definitions above */
201  uSHORT driverLocation; /* SmartROM BIOS address */
204 
205 #ifdef __cplusplus
206 
207 //---------- Portability Additions ----------- in sp_sinfo.cpp
208 #ifdef DPT_PORTABLE
209  uSHORT netInsert(dptBuffer_S *buffer);
210  uSHORT netExtract(dptBuffer_S *buffer);
211 #endif // DPT PORTABLE
212 //--------------------------------------------
213 
214  };
215 #else
216  } DOS_Info_S;
217 #endif
218 /*DOS_Info_S - end */
219 
220 
221 /*struct - Netware_Info_S - start
222  *===========================================================================
223  *
224  *Description:
225  *
226  * This structure defines the system information specific to a
227  *Netware machine.
228  *
229  *---------------------------------------------------------------------------*/
230 
231 #ifdef __cplusplus
232  struct Netware_Info_S {
233 #else
234  typedef struct {
235 #endif
236 
237  uCHAR driverName[13]; /* ie PM12NW31.DSK */
239  uCHAR netwareVersion; /* The Netware OS version */
242  uSHORT maxConnections; /* Probably 250 or 1000 */
248 
249  uCHAR clibMajorVersion; /* The CLIB.NLM version */
252 
253 #ifdef __cplusplus
254 
255 //---------- Portability Additions ----------- in sp_sinfo.cpp
256 #ifdef DPT_PORTABLE
257  uSHORT netInsert(dptBuffer_S *buffer);
258  uSHORT netExtract(dptBuffer_S *buffer);
259 #endif // DPT PORTABLE
260 //--------------------------------------------
261 
262  };
263 #else
264  } Netware_Info_S;
265 #endif
266 /*Netware_Info_S - end */
267 
268 
269 /*struct - OS2_Info_S - start
270  *===========================================================================
271  *
272  *Description:
273  *
274  * This structure defines the system information specific to an
275  *OS/2 machine.
276  *
277  *---------------------------------------------------------------------------*/
278 
279 #ifdef __cplusplus
280  struct OS2_Info_S {
281 #else
282  typedef struct {
283 #endif
284 
286 
287 #ifdef __cplusplus
288 
289 //---------- Portability Additions ----------- in sp_sinfo.cpp
290 #ifdef DPT_PORTABLE
291  uSHORT netInsert(dptBuffer_S *buffer);
292  uSHORT netExtract(dptBuffer_S *buffer);
293 #endif // DPT PORTABLE
294 //--------------------------------------------
295 
296  };
297 #else
298  } OS2_Info_S;
299 #endif
300 /*OS2_Info_S - end */
301 
302 
303 /*struct - WinNT_Info_S - start
304  *===========================================================================
305  *
306  *Description:
307  *
308  * This structure defines the system information specific to a
309  *Windows NT machine.
310  *
311  *---------------------------------------------------------------------------*/
312 
313 #ifdef __cplusplus
314  struct WinNT_Info_S {
315 #else
316  typedef struct {
317 #endif
318 
320 
321 #ifdef __cplusplus
322 
323 //---------- Portability Additions ----------- in sp_sinfo.cpp
324 #ifdef DPT_PORTABLE
325  uSHORT netInsert(dptBuffer_S *buffer);
326  uSHORT netExtract(dptBuffer_S *buffer);
327 #endif // DPT PORTABLE
328 //--------------------------------------------
329 
330  };
331 #else
332  } WinNT_Info_S;
333 #endif
334 /*WinNT_Info_S - end */
335 
336 
337 /*struct - SCO_Info_S - start
338  *===========================================================================
339  *
340  *Description:
341  *
342  * This structure defines the system information specific to an
343  *SCO UNIX machine.
344  *
345  *---------------------------------------------------------------------------*/
346 
347 #ifdef __cplusplus
348  struct SCO_Info_S {
349 #else
350  typedef struct {
351 #endif
352 
354 
355 #ifdef __cplusplus
356 
357 //---------- Portability Additions ----------- in sp_sinfo.cpp
358 #ifdef DPT_PORTABLE
359  uSHORT netInsert(dptBuffer_S *buffer);
360  uSHORT netExtract(dptBuffer_S *buffer);
361 #endif // DPT PORTABLE
362 //--------------------------------------------
363 
364  };
365 #else
366  } SCO_Info_S;
367 #endif
368 /*SCO_Info_S - end */
369 
370 
371 /*struct - USL_Info_S - start
372  *===========================================================================
373  *
374  *Description:
375  *
376  * This structure defines the system information specific to a
377  *USL UNIX machine.
378  *
379  *---------------------------------------------------------------------------*/
380 
381 #ifdef __cplusplus
382  struct USL_Info_S {
383 #else
384  typedef struct {
385 #endif
386 
388 
389 #ifdef __cplusplus
390 
391 //---------- Portability Additions ----------- in sp_sinfo.cpp
392 #ifdef DPT_PORTABLE
393  uSHORT netInsert(dptBuffer_S *buffer);
394  uSHORT netExtract(dptBuffer_S *buffer);
395 #endif // DPT PORTABLE
396 //--------------------------------------------
397 
398  };
399 #else
400  } USL_Info_S;
401 #endif
402 /*USL_Info_S - end */
403 
404 
405  /* Restore default structure packing */
406 #ifndef NO_UNPACK
407 #if defined (_DPT_AIX)
408 #pragma options align=reset
409 #elif defined (UNPACK_FOUR)
410 #pragma pack(4)
411 #else
412 #pragma pack()
413 #endif /* aix */
414 #endif // no unpack
415 
416 #endif // __SYS_INFO_H
417