Orange Pi5 kernel

Deprecated Linux kernel 5.10.110 for OrangePi 5/5B/5+ boards

3 Commits   0 Branches   0 Tags
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   1) /*	BSDI dptsig.h,v 1.7 1998/06/03 19:15:00 karels Exp	*/
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   2) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   3) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   4)  * Copyright (c) 1996-1999 Distributed Processing Technology Corporation
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   5)  * All rights reserved.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   6)  *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   7)  * Redistribution and use in source form, with or without modification, are
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   8)  * permitted provided that redistributions of source code must retain the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   9)  * above copyright notice, this list of conditions and the following disclaimer.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  10)  *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  11)  * This software is provided `as is' by Distributed Processing Technology and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  12)  * any express or implied warranties, including, but not limited to, the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  13)  * implied warranties of merchantability and fitness for a particular purpose,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  14)  * are disclaimed. In no event shall Distributed Processing Technology be
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  15)  * liable for any direct, indirect, incidental, special, exemplary or
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  16)  * consequential damages (including, but not limited to, procurement of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  17)  * substitute goods or services; loss of use, data, or profits; or business
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  18)  * interruptions) however caused and on any theory of liability, whether in
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  19)  * contract, strict liability, or tort (including negligence or otherwise)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  20)  * arising in any way out of the use of this driver software, even if advised
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  21)  * of the possibility of such damage.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  22)  *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  23)  */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  24) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  25) #ifndef __DPTSIG_H_
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  26) #define __DPTSIG_H_
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  27) #ifdef _SINIX_ADDON
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  28) #include "dpt.h"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  29) #endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  30) /* DPT SIGNATURE SPEC AND HEADER FILE                           */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  31) /* Signature Version 1 (sorry no 'A')                           */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  32) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  33) /* to make sure we are talking the same size under all OS's     */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  34) typedef unsigned char sigBYTE;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  35) typedef unsigned short sigWORD;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  36) typedef unsigned int sigINT;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  37) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  38) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  39)  * use sigWORDLittleEndian for:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  40)  *  dsCapabilities
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  41)  *  dsDeviceSupp
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  42)  *  dsAdapterSupp
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  43)  *  dsApplication
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  44)  * use sigLONGLittleEndian for:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  45)  *      dsOS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  46)  * so that the sig can be standardised to Little Endian
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  47)  */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  48) #if (defined(_DPT_BIG_ENDIAN))
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  49) # define sigWORDLittleEndian(x) ((((x)&0xFF)<<8)|(((x)>>8)&0xFF))
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  50) # define sigLONGLittleEndian(x) \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  51)         ((((x)&0xFF)<<24) |             \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  52)          (((x)&0xFF00)<<8) |    \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  53)          (((x)&0xFF0000L)>>8) | \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  54)          (((x)&0xFF000000L)>>24))
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  55) #else
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  56) # define sigWORDLittleEndian(x) (x)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  57) # define sigLONGLittleEndian(x) (x)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  58) #endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  59) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  60) /* must make sure the structure is not word or double-word aligned      */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  61) /* ---------------------------------------------------------------      */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  62) /* Borland will ignore the following pragma:                            */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  63) /* Word alignment is OFF by default.  If in the, IDE make               */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  64) /* sure that Options | Compiler | Code Generation | Word Alignment      */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  65) /* is not checked.  If using BCC, do not use the -a option.             */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  66) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  67) #ifndef NO_PACK
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  68) #if defined (_DPT_AIX)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  69) #pragma options align=packed
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  70) #else
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  71) #pragma pack(1)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  72) #endif  /* aix */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  73) #endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  74) /* For the Macintosh */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  75) #ifdef STRUCTALIGNMENTSUPPORTED
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  76) #pragma options align=mac68k
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  77) #endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  78) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  79) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  80) /* Current Signature Version - sigBYTE dsSigVersion; */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  81) /* ------------------------------------------------------------------ */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  82) #define SIG_VERSION 1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  83) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  84) /* Processor Family - sigBYTE dsProcessorFamily;  DISTINCT VALUES */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  85) /* ------------------------------------------------------------------ */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  86) /* What type of processor the file is meant to run on. */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  87) /* This will let us know whether to read sigWORDs as high/low or low/high. */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  88) #define PROC_INTEL      0x00    /* Intel 80x86/ia64 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  89) #define PROC_MOTOROLA   0x01    /* Motorola 68K */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  90) #define PROC_MIPS4000   0x02    /* MIPS RISC 4000 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  91) #define PROC_ALPHA      0x03    /* DEC Alpha */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  92) #define PROC_POWERPC    0x04    /* IBM Power PC */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  93) #define PROC_i960       0x05    /* Intel i960 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  94) #define PROC_ULTRASPARC 0x06    /* SPARC processor */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  95) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  96) /* Specific Minimim Processor - sigBYTE dsProcessor;    FLAG BITS */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  97) /* ------------------------------------------------------------------ */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  98) /* Different bit definitions dependent on processor_family */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  99) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100) /* PROC_INTEL: */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101) #define PROC_8086       0x01    /* Intel 8086 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102) #define PROC_286        0x02    /* Intel 80286 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 103) #define PROC_386        0x04    /* Intel 80386 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 104) #define PROC_486        0x08    /* Intel 80486 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 105) #define PROC_PENTIUM    0x10    /* Intel 586 aka P5 aka Pentium */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 106) #define PROC_SEXIUM	0x20	/* Intel 686 aka P6 aka Pentium Pro or MMX */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 107) #define PROC_IA64	0x40	/* Intel IA64 processor */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 108) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 109) /* PROC_i960: */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 110) #define PROC_960RX      0x01    /* Intel 80960RC/RD */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 111) #define PROC_960HX      0x02    /* Intel 80960HA/HD/HT */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 112) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 113) /* PROC_MOTOROLA: */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 114) #define PROC_68000      0x01    /* Motorola 68000 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 115) #define PROC_68010	0x02	/* Motorola 68010 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 116) #define PROC_68020      0x04    /* Motorola 68020 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 117) #define PROC_68030      0x08    /* Motorola 68030 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 118) #define PROC_68040      0x10    /* Motorola 68040 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 119) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 120) /* PROC_POWERPC */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 121) #define PROC_PPC601		0x01	/* PowerPC 601 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 122) #define PROC_PPC603		0x02	/* PowerPC 603 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 123) #define PROC_PPC604		0x04	/* PowerPC 604 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 124) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 125) /* PROC_MIPS4000: */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 126) #define PROC_R4000      0x01    /* MIPS R4000 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 127) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 128) /* Filetype - sigBYTE dsFiletype;       DISTINCT VALUES */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 129) /* ------------------------------------------------------------------ */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 130) #define FT_EXECUTABLE   0       /* Executable Program */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 131) #define FT_SCRIPT       1       /* Script/Batch File??? */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 132) #define FT_HBADRVR      2       /* HBA Driver */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 133) #define FT_OTHERDRVR    3       /* Other Driver */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 134) #define FT_IFS          4       /* Installable Filesystem Driver */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 135) #define FT_ENGINE       5       /* DPT Engine */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 136) #define FT_COMPDRVR     6       /* Compressed Driver Disk */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 137) #define FT_LANGUAGE     7       /* Foreign Language file */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 138) #define FT_FIRMWARE     8       /* Downloadable or actual Firmware */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 139) #define FT_COMMMODL     9       /* Communications Module */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 140) #define FT_INT13        10      /* INT 13 style HBA Driver */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 141) #define FT_HELPFILE     11      /* Help file */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 142) #define FT_LOGGER       12      /* Event Logger */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 143) #define FT_INSTALL      13      /* An Install Program */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 144) #define FT_LIBRARY      14      /* Storage Manager Real-Mode Calls */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 145) #define FT_RESOURCE	15	/* Storage Manager Resource File */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 146) #define FT_MODEM_DB	16	/* Storage Manager Modem Database */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 147) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 148) /* Filetype flags - sigBYTE dsFiletypeFlags;    FLAG BITS */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 149) /* ------------------------------------------------------------------ */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 150) #define FTF_DLL         0x01    /* Dynamic Link Library */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 151) #define FTF_NLM         0x02    /* Netware Loadable Module */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 152) #define FTF_OVERLAYS    0x04    /* Uses overlays */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 153) #define FTF_DEBUG       0x08    /* Debug version */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 154) #define FTF_TSR         0x10    /* TSR */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 155) #define FTF_SYS         0x20    /* DOS Loadable driver */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 156) #define FTF_PROTECTED   0x40    /* Runs in protected mode */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 157) #define FTF_APP_SPEC    0x80    /* Application Specific */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 158) #define FTF_ROM		(FTF_SYS|FTF_TSR)	/* Special Case */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 159) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 160) /* OEM - sigBYTE dsOEM;         DISTINCT VALUES */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 161) /* ------------------------------------------------------------------ */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 162) #define OEM_DPT         0       /* DPT */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 163) #define OEM_ATT         1       /* ATT */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 164) #define OEM_NEC         2       /* NEC */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 165) #define OEM_ALPHA       3       /* Alphatronix */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 166) #define OEM_AST         4       /* AST */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 167) #define OEM_OLIVETTI    5       /* Olivetti */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 168) #define OEM_SNI         6       /* Siemens/Nixdorf */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 169) #define OEM_SUN         7       /* SUN Microsystems */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 170) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 171) /* Operating System  - sigLONG dsOS;    FLAG BITS */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 172) /* ------------------------------------------------------------------ */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 173) #define OS_DOS          0x00000001 /* PC/MS-DOS				*/
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 174) #define OS_WINDOWS      0x00000002 /* Microsoft Windows 3.x		*/
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 175) #define OS_WINDOWS_NT   0x00000004 /* Microsoft Windows NT		*/
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 176) #define OS_OS2M         0x00000008 /* OS/2 1.2.x,MS 1.3.0,IBM 1.3.x - Monolithic */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 177) #define OS_OS2L         0x00000010 /* Microsoft OS/2 1.301 - LADDR	*/
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 178) #define OS_OS22x        0x00000020 /* IBM OS/2 2.x			*/
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 179) #define OS_NW286        0x00000040 /* Novell NetWare 286		*/
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 180) #define OS_NW386        0x00000080 /* Novell NetWare 386		*/
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 181) #define OS_GEN_UNIX     0x00000100 /* Generic Unix			*/
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 182) #define OS_SCO_UNIX     0x00000200 /* SCO Unix				*/
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 183) #define OS_ATT_UNIX     0x00000400 /* ATT Unix				*/
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 184) #define OS_UNIXWARE     0x00000800 /* USL Unix				*/
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 185) #define OS_INT_UNIX     0x00001000 /* Interactive Unix			*/
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 186) #define OS_SOLARIS      0x00002000 /* SunSoft Solaris			*/
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 187) #define OS_QNX          0x00004000 /* QNX for Tom Moch			*/
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 188) #define OS_NEXTSTEP     0x00008000 /* NeXTSTEP/OPENSTEP/MACH		*/
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 189) #define OS_BANYAN       0x00010000 /* Banyan Vines			*/
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 190) #define OS_OLIVETTI_UNIX 0x00020000/* Olivetti Unix			*/
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 191) #define OS_MAC_OS	0x00040000 /* Mac OS				*/
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 192) #define OS_WINDOWS_95	0x00080000 /* Microsoft Windows '95		*/
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 193) #define OS_NW4x		0x00100000 /* Novell Netware 4.x		*/
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 194) #define OS_BSDI_UNIX	0x00200000 /* BSDi Unix BSD/OS 2.0 and up	*/
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 195) #define OS_AIX_UNIX     0x00400000 /* AIX Unix				*/
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 196) #define OS_FREE_BSD	0x00800000 /* FreeBSD Unix			*/
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 197) #define OS_LINUX	0x01000000 /* Linux				*/
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 198) #define OS_DGUX_UNIX	0x02000000 /* Data General Unix			*/
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 199) #define OS_SINIX_N      0x04000000 /* SNI SINIX-N			*/
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 200) #define OS_PLAN9	0x08000000 /* ATT Plan 9			*/
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 201) #define OS_TSX		0x10000000 /* SNH TSX-32			*/
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 202) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 203) #define OS_OTHER        0x80000000 /* Other				*/
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 204) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 205) /* Capabilities - sigWORD dsCapabilities;        FLAG BITS */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 206) /* ------------------------------------------------------------------ */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 207) #define CAP_RAID0       0x0001  /* RAID-0 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 208) #define CAP_RAID1       0x0002  /* RAID-1 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 209) #define CAP_RAID3       0x0004  /* RAID-3 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 210) #define CAP_RAID5       0x0008  /* RAID-5 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 211) #define CAP_SPAN        0x0010  /* Spanning */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 212) #define CAP_PASS        0x0020  /* Provides passthrough */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 213) #define CAP_OVERLAP     0x0040  /* Passthrough supports overlapped commands */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 214) #define CAP_ASPI        0x0080  /* Supports ASPI Command Requests */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 215) #define CAP_ABOVE16MB   0x0100  /* ISA Driver supports greater than 16MB */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 216) #define CAP_EXTEND      0x8000  /* Extended info appears after description */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 217) #ifdef SNI_MIPS
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 218) #define CAP_CACHEMODE   0x1000  /* dpt_force_cache is set in driver */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 219) #endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 220) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 221) /* Devices Supported - sigWORD dsDeviceSupp;    FLAG BITS */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 222) /* ------------------------------------------------------------------ */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 223) #define DEV_DASD        0x0001  /* DASD (hard drives) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 224) #define DEV_TAPE        0x0002  /* Tape drives */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 225) #define DEV_PRINTER     0x0004  /* Printers */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 226) #define DEV_PROC        0x0008  /* Processors */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 227) #define DEV_WORM        0x0010  /* WORM drives */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 228) #define DEV_CDROM       0x0020  /* CD-ROM drives */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 229) #define DEV_SCANNER     0x0040  /* Scanners */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 230) #define DEV_OPTICAL     0x0080  /* Optical Drives */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 231) #define DEV_JUKEBOX     0x0100  /* Jukebox */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 232) #define DEV_COMM        0x0200  /* Communications Devices */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 233) #define DEV_OTHER       0x0400  /* Other Devices */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 234) #define DEV_ALL         0xFFFF  /* All SCSI Devices */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 235) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 236) /* Adapters Families Supported - sigWORD dsAdapterSupp; FLAG BITS */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 237) /* ------------------------------------------------------------------ */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 238) #define ADF_2001        0x0001  /* PM2001           */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 239) #define ADF_2012A       0x0002  /* PM2012A          */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 240) #define ADF_PLUS_ISA    0x0004  /* PM2011,PM2021    */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 241) #define ADF_PLUS_EISA   0x0008  /* PM2012B,PM2022   */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 242) #define ADF_SC3_ISA	0x0010  /* PM2021           */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 243) #define ADF_SC3_EISA	0x0020  /* PM2022,PM2122, etc */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 244) #define ADF_SC3_PCI	0x0040  /* SmartCache III PCI */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 245) #define ADF_SC4_ISA	0x0080  /* SmartCache IV ISA */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 246) #define ADF_SC4_EISA	0x0100  /* SmartCache IV EISA */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 247) #define ADF_SC4_PCI	0x0200	/* SmartCache IV PCI */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 248) #define ADF_SC5_PCI	0x0400	/* Fifth Generation I2O products */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 249) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 250)  *	Combinations of products
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 251)  */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 252) #define ADF_ALL_2000	(ADF_2001|ADF_2012A)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 253) #define ADF_ALL_PLUS	(ADF_PLUS_ISA|ADF_PLUS_EISA)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 254) #define ADF_ALL_SC3	(ADF_SC3_ISA|ADF_SC3_EISA|ADF_SC3_PCI)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 255) #define ADF_ALL_SC4	(ADF_SC4_ISA|ADF_SC4_EISA|ADF_SC4_PCI)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 256) #define ADF_ALL_SC5	(ADF_SC5_PCI)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 257) /* All EATA Cacheing Products */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 258) #define ADF_ALL_CACHE	(ADF_ALL_PLUS|ADF_ALL_SC3|ADF_ALL_SC4)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 259) /* All EATA Bus Mastering Products */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 260) #define ADF_ALL_MASTER	(ADF_2012A|ADF_ALL_CACHE)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 261) /* All EATA Adapter Products */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 262) #define ADF_ALL_EATA	(ADF_2001|ADF_ALL_MASTER)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 263) #define ADF_ALL		ADF_ALL_EATA
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 264) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 265) /* Application - sigWORD dsApplication;         FLAG BITS */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 266) /* ------------------------------------------------------------------ */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 267) #define APP_DPTMGR      0x0001  /* DPT Storage Manager */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 268) #define APP_ENGINE      0x0002  /* DPT Engine */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 269) #define APP_SYTOS       0x0004  /* Sytron Sytos Plus */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 270) #define APP_CHEYENNE    0x0008  /* Cheyenne ARCServe + ARCSolo */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 271) #define APP_MSCDEX      0x0010  /* Microsoft CD-ROM extensions */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 272) #define APP_NOVABACK    0x0020  /* NovaStor Novaback */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 273) #define APP_AIM         0x0040  /* Archive Information Manager */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 274) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 275) /* Requirements - sigBYTE dsRequirements;         FLAG BITS             */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 276) /* ------------------------------------------------------------------   */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 277) #define REQ_SMARTROM    0x01    /* Requires SmartROM to be present      */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 278) #define REQ_DPTDDL      0x02    /* Requires DPTDDL.SYS to be loaded     */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 279) #define REQ_HBA_DRIVER  0x04    /* Requires an HBA driver to be loaded  */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 280) #define REQ_ASPI_TRAN   0x08    /* Requires an ASPI Transport Modules   */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 281) #define REQ_ENGINE      0x10    /* Requires a DPT Engine to be loaded   */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 282) #define REQ_COMM_ENG    0x20    /* Requires a DPT Communications Engine */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 283) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 284) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 285)  * You may adjust dsDescription_size with an override to a value less than
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 286)  * 50 so that the structure allocates less real space.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 287)  */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 288) #if (!defined(dsDescription_size))
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 289) # define dsDescription_size 50
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 290) #endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 291) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 292) typedef struct dpt_sig {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 293)     char    dsSignature[6];      /* ALWAYS "dPtSiG" */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 294)     sigBYTE dsSigVersion;        /* signature version (currently 1) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 295)     sigBYTE dsProcessorFamily;   /* what type of processor */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 296)     sigBYTE dsProcessor;         /* precise processor */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 297)     sigBYTE dsFiletype;          /* type of file */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 298)     sigBYTE dsFiletypeFlags;     /* flags to specify load type, etc. */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 299)     sigBYTE dsOEM;               /* OEM file was created for */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 300)     sigINT  dsOS;                /* which Operating systems */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 301)     sigWORD dsCapabilities;      /* RAID levels, etc. */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 302)     sigWORD dsDeviceSupp;        /* Types of SCSI devices supported */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 303)     sigWORD dsAdapterSupp;       /* DPT adapter families supported */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 304)     sigWORD dsApplication;       /* applications file is for */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 305)     sigBYTE dsRequirements;      /* Other driver dependencies */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 306)     sigBYTE dsVersion;           /* 1 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 307)     sigBYTE dsRevision;          /* 'J' */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 308)     sigBYTE dsSubRevision;       /* '9'   ' ' if N/A */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 309)     sigBYTE dsMonth;             /* creation month */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 310)     sigBYTE dsDay;               /* creation day */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 311)     sigBYTE dsYear;              /* creation year since 1980 (1993=13) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 312)     /* description (NULL terminated) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 313)     char  dsDescription[dsDescription_size];
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 314) } dpt_sig_S;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 315) /* 32 bytes minimum - with no description.  Put NULL at description[0] */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 316) /* 81 bytes maximum - with 49 character description plus NULL. */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 317) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 318) /* This line added at Roycroft's request */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 319) /* Microsoft's NT compiler gets confused if you do a pack and don't */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 320) /* restore it. */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 321) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 322) #ifndef NO_UNPACK
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 323) #if defined (_DPT_AIX)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 324) #pragma options align=reset
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 325) #elif defined (UNPACK_FOUR)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 326) #pragma pack(4)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 327) #else
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 328) #pragma pack()
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 329) #endif  /* aix */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 330) #endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 331) /* For the Macintosh */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 332) #ifdef STRUCTALIGNMENTSUPPORTED
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 333) #pragma options align=reset
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 334) #endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 335) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 336) #endif