]>
Commit | Line | Data |
---|---|---|
1da177e4 LT |
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; /* Upto 1024 */ | |
83 | uCHAR heads; /* Upto 255 */ | |
84 | uCHAR sectors; /* Upto 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 */ | |
143 | uCHAR smartROMMajorVersion; | |
144 | uCHAR smartROMMinorVersion; /* SmartROM version */ | |
145 | uCHAR smartROMRevision; | |
146 | uSHORT flags; /* See bit definitions above */ | |
147 | uSHORT conventionalMemSize; /* in KB */ | |
62ac5aed MS |
148 | uINT extendedMemSize; /* in KB */ |
149 | uINT osType; /* Same as DPTSIG's definition */ | |
1da177e4 LT |
150 | uCHAR osMajorVersion; |
151 | uCHAR osMinorVersion; /* The OS version */ | |
152 | uCHAR osRevision; | |
153 | #ifdef _SINIX_ADDON | |
154 | uCHAR busType; /* See defininitions above */ | |
155 | uSHORT osSubRevision; | |
156 | uCHAR pad[2]; /* For alignment */ | |
157 | #else | |
158 | uCHAR osSubRevision; | |
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 */ | |
202 | uSHORT DOS_version; | |
203 | uSHORT DPMI_version; | |
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 */ | |
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; | |
244 | uSHORT maxVolumes; | |
245 | uCHAR unused; | |
246 | uCHAR SFTlevel; | |
247 | uCHAR TTSlevel; | |
248 | ||
249 | uCHAR clibMajorVersion; /* The CLIB.NLM version */ | |
250 | uCHAR clibMinorVersion; | |
251 | uCHAR clibRevision; | |
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 | ||
285 | uCHAR something; | |
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 | ||
319 | uCHAR something; | |
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 | ||
353 | uCHAR something; | |
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 | ||
387 | uCHAR something; | |
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 |