| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 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 |  | 
| Lucas De Marchi | 25985ed | 2011-03-30 22:57:33 -0300 | [diff] [blame] | 82 |    uSHORT       cylinders;      /* Up to 1024 */ | 
 | 83 |    uCHAR        heads;          /* Up to 255 */ | 
 | 84 |    uCHAR        sectors;        /* Up to 63 */ | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 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 */ | 
| Miquel van Smoorenburg | 62ac5ae | 2008-05-02 01:07:27 +0200 | [diff] [blame] | 148 |    uINT         extendedMemSize;        /* in KB */ | 
 | 149 |    uINT         osType;                 /* Same as DPTSIG's definition */ | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 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 |  |