cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

sys_info.h (11062B)


      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 */
    143   uCHAR        smartROMMajorVersion;
    144   uCHAR        smartROMMinorVersion;   /* SmartROM version */
    145   uCHAR        smartROMRevision;
    146   uSHORT       flags;                  /* See bit definitions above */
    147   uSHORT       conventionalMemSize;    /* in KB */
    148   uINT         extendedMemSize;        /* in KB */
    149   uINT         osType;                 /* Same as DPTSIG's definition */
    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