root/drivers/scsi/dpt/sys_info.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   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 

/* [<][>][^][v][top][bottom][index][help] */