linux/drivers/scsi/dpt/sys_info.h
<<
>>
Prefs
   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
 418