source: GPL/branches/uniaud-2.0/drv32/rmbase.h@ 319

Last change on this file since 319 was 32, checked in by vladest, 20 years ago

initial import

File size: 27.1 KB
Line 
1/* $Id: rmbase.h,v 1.1.1.1 2003/07/02 13:56:56 eleph Exp $ */
2/*
3 * OS/2 Resource Manager types and definitions
4 *
5 * (C) 2000-2002 InnoTek Systemberatung GmbH
6 *
7 * This program is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU General Public License as
9 * published by the Free Software Foundation; either version 2 of
10 * the License, or (at your option) any later version.
11 *
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public
18 * License along with this program; if not, write to the Free
19 * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139,
20 * USA.
21 *
22 */
23
24#ifndef __RM_HEADER__
25#define __RM_HEADER__
26
27
28#define CMVERSION_MAJOR 0x01
29#define CMVERSION_MINOR 0x01
30
31#define CMVERSION_MAJOR_21 0x02
32#define CMVERSION_MINOR_21 0x01
33
34
35
36typedef ULONG RMHANDLE, *PRMHANDLE, NEAR *NPRMHANDLE;
37typedef RMHANDLE HDRIVER;
38typedef RMHANDLE HADAPTER;
39typedef RMHANDLE HDEVICE;
40typedef RMHANDLE HRESOURCE;
41typedef RMHANDLE HLDEV;
42typedef RMHANDLE HSYSNAME;
43typedef RMHANDLE HDETECTED;
44
45typedef HDRIVER *PHDRIVER;
46typedef HDRIVER NEAR *NPHDRIVER;
47typedef HADAPTER *PHADAPTER;
48typedef HADAPTER NEAR *NPHADAPTER;
49typedef HDEVICE *PHDEVICE;
50typedef HDEVICE NEAR *NPHDEVICE;
51typedef HRESOURCE *PHRESOURCE;
52typedef HRESOURCE NEAR *NPHRESOURCE;
53typedef HLDEV *PHLDEV;
54typedef HLDEV NEAR *NPHLDEV;
55typedef HSYSNAME *PHSYSNAME;
56typedef HSYSNAME NEAR *NPHSYSNAME;
57typedef HDETECTED *PHDETECTED ;
58typedef HDETECTED NEAR *NPHDETECTED ;
59
60/*********************************/
61/* pResourceStruct->ResourceType */
62/*********************************/
63
64#define RS_TYPE_IO 1
65#define RS_TYPE_IRQ 2
66#define RS_TYPE_MEM 3
67#define RS_TYPE_DMA 4
68#define RS_TYPE_TIMER 5
69#define RS_TYPE_NEW 0xffff
70
71typedef struct _hresource {
72 ULONG NumResource;
73 HRESOURCE hResource[1]; /*First Entry in Array of HRESOURCE */
74}AHRESOURCE, NEAR *NPAHRESOURCE, FAR48 *LPAHRESOURCE;
75
76
77/****************************************************************************/
78/* */
79/* Driver Structure */
80/* */
81/****************************************************************************/
82
83typedef struct {
84 USHORT Year;
85 UCHAR Month;
86 UCHAR Day;
87} DATESTAMP, *PDATESTAMP, NEAR *NPDATESTAMP;
88
89
90/* Callback for Grant/Yield; Indicates CM resolves resource to handle */
91typedef FARPTR16 PFNRMCB;
92
93
94typedef struct {
95 FARPTR16 DrvrName;
96 FARPTR16 DrvrDescript;
97 FARPTR16 VendorName;
98 UCHAR MajorVer;
99 UCHAR MinorVer;
100 DATESTAMP Date;
101 USHORT DrvrFlags;
102 USHORT DrvrType;
103 USHORT DrvrSubType;
104 PFNRMCB DrvrCallback; /* Event notification */
105} DRIVERSTRUCT, *PDRIVERSTRUCT, NEAR *NPDRIVERSTRUCT;
106
107
108/********************************/
109/* pDriverStruct->DrvrFlags */
110/********************************/
111
112#define DRF_STATIC 0x0000
113#define DRF_DYNAMIC 0x0001
114#define DRF_PREVIOUS 0x0002
115
116
117/* pDriverStruct->DriverType */
118/* pDriverStruct->DriverSubType */
119#define DRT_UNDEFINED 0
120 #define DRS_UNDEFINED 0
121
122#define DRT_PCMCIA 1
123 #define DRS_SOCKETSERV 1
124 #define DRS_CARDSERV 2
125 #define DRS_CLIENT 3
126
127#define DRT_ADDDM 2
128 #define DRS_DM 1
129 #define DRS_FILTER 2
130 #define DRS_ADD 3
131 #define DRS_DM_TRANSPORT 4
132
133#define DRT_OS2 3
134 #define DRS_CHAR 1
135 #define DRS_BLOCK 2
136 #define DRS_APP_HELPER 3
137
138#define DRT_NETWORK 4
139#define DRT_VIDEO 5
140#define DRT_AUDIO 6
141#define DRT_SERVICE 7
142 #define DRS_SNOOPER 1
143 #define DRS_CONFIG 2
144
145/****************************************************************************/
146/* */
147/* Adapter Structure - Device Bus */
148/* */
149/****************************************************************************/
150
151typedef struct {
152 USHORT ADDHandle;
153 USHORT UnitHandle;
154}ADD_UNIT, *PADD_UNIT, NEAR *NPADD_UNIT;
155
156typedef struct {
157 USHORT VolFlags;
158 USHORT VolIFSType;
159 ULONG VolSize;
160 ULONG VolID;
161} DASD_VOL, *PDASD_VOL, NEAR *NPDASD_VOL;
162
163typedef struct {
164 USHORT Priority;
165 USHORT DriverType;
166 UCHAR DriverName[12];
167 UCHAR DriverParmLine[1]; /* Embedded asciiz */
168} DRIVERINFO, *PDRIVERINFO, NEAR *NPDRIVERINFO;
169
170#define DriverBase 0
171#define DriverLoadable 1
172
173
174typedef struct _ADJUNCT *PADJUNCT;
175typedef struct _ADJUNCT{
176// warning all common field sizes needed
177// see FIELDOFFSETOF() macro below
178 PADJUNCT pNextAdj;
179 USHORT AdjLength;
180 USHORT AdjType;
181 union {
182 USHORT AdjBase;
183 USHORT SCSI_Target_LUN;
184 USHORT Adapter_Number;
185 USHORT Device_Number;
186 USHORT PCI_DevFunc;
187 USHORT Model_Info;
188 ADD_UNIT Add_Unit;
189 DASD_VOL Dasd_Vol;
190 DRIVERINFO DriverInfo;
191 };
192}ADJUNCT, NEAR *NPADJUNCT;
193
194
195/********************************/
196/* pAdjunct->AdjunctType */
197/********************************/
198
199//#define ADJ_HEADER_SIZE sizeof(struct _ADJHEADER)
200#ifndef FIELDOFFSET
201#define FIELDOFFSET(type, field) ((SHORT)&(((type *)0)->field))
202#endif
203#define ADJ_HEADER_SIZE FIELDOFFSET(ADJUNCT,AdjBase)
204
205#define ADJ_SCSI_TARGET_LUN 1
206#define ADJ_ADAPTER_NUMBER 2
207#define ADJ_DEVICE_NUMBER 3
208#define ADJ_PCI_DEVFUNC 4
209#define ADJ_MODEL_INFO 5
210#define ADJ_ADD_UNIT 6
211#define ADJ_DASD_VOL 7
212#define ADJ_DRIVER_DATA 8
213
214
215typedef struct{
216 FARPTR16 AdaptDescriptName;
217 USHORT AdaptFlags;
218 USHORT BaseType; /* From PCI/PNP */
219 USHORT SubType;
220 USHORT InterfaceType;
221 USHORT HostBusType;
222 USHORT HostBusWidth;
223 FARPTR16 pAdjunctList;
224 ULONG Reserved; /* Logical Name addition? */
225} ADAPTERSTRUCT, *PADAPTERSTRUCT, NEAR *NPADAPTERSTRUCT;
226
227
228
229/********************************/
230/* pAdapteStruct->BaseType */
231/* pAdapteStruct->Sub */
232/* pAdapteStruct->InterfaceType */
233/* From PNP/PCI Specs */
234/********************************/
235
236#define AS_BASE_RESERVED 0x00
237 #define AS_SUB_OTHER 0x80 /* Can Be used by any BASE type */
238 #define AS_INTF_GENERIC 0x01 /* Can Be used by any SUB type */
239
240#define AS_BASE_MSD 0x01 /* Mass Storage Device */
241 #define AS_SUB_SCSI 0x01
242 #define AS_SUB_IDE 0x02
243 #define AS_SUB_FLPY 0x03
244 #define AS_SUB_IPI 0x04
245
246#define AS_BASE_NETWORK 0x02 /* Network Interface Controller */
247 #define AS_SUB_ETHERNET 0x01
248 #define AS_SUB_TOKENRING 0x02
249 #define AS_SUB_FDDI 0x03
250
251#define AS_BASE_DISPLAY 0x03 /* Display Controller */
252 #define AS_SUB_VGA 0x01
253 #define AS_INTF_VGA_GEN 0x01
254 #define AS_INTF_VESA_SVGA 0x02
255 #define AS_SUB_XGA 0x02
256
257
258#define AS_BASE_MMEDIA 0x04 /* Multi-media Controller */
259 #define AS_SUB_MM_VIDEO 0x01
260 #define AS_SUB_MM_AUDIO 0x02
261
262#define AS_BASE_MEMORY 0x05 /* Memory */
263 #define AS_SUB_BIOS_ROM 0x01
264
265#define AS_BASE_BRIDGE 0x06 /* Bridge Controller */
266
267#define AS_BASE_COMM 0x07 /* Communications Device */
268 #define AS_SUB_SERIAL 0x01
269 #define AS_INTF_16450 0x01
270 #define AS_INTF_16550 0x02
271 #define AS_SUB_PARALLEL 0x02
272 #define AS_INTF_BIDI 0x01
273 #define AS_INTF_ECP 0x02
274 #define AS_SUB_ISDN 0x03 /* ISDN Device */ /* @@JD01 */
275 #define AS_INTF_UNKNOWN 0x01 /* Any I/F not yet defined @@JD01 */
276 #define AS_INTF_A2000FIFO 0x02 /* Active 2000 Fifo based @@JD01 */
277 #define AS_INTF_A2000SLC 0x03 /* Active 2000 Serial Link @@JD01 */
278
279#define AS_BASE_PERIPH 0x08 /* System Peripherals */
280 #define AS_SUB_PIC 0x01
281 #define AS_INTF_ISAPIC 0x01
282 #define AS_INTF_EISAPIC 0x02
283 #define AS_SUB_DMA 0x02
284 #define AS_SUB_TIMER 0x03
285 #define AS_SUB_RTC 0x04
286
287#define AS_BASE_INPUT 0x09 /* Input Device */
288 #define AS_SUB_KBD 0x01
289 #define AS_SUB_DIGIT 0x02
290 #define AS_SUB_MOUSE 0x03
291
292#define AS_BASE_DOCK 0x0a /* Docking Station */
293
294#define AS_BASE_CPU 0x0b /* CPU */
295
296#define AS_BASE_PCMCIA 0x0c /* PCMCIA */
297 #define AS_SUB_SOCKET_CONTROLLER 0x01 /* Socket Controller */
298
299#define AS_BASE_BIOS_ROM 0x0d
300
301/********************************/
302/* pAdapterStruct->HostBusType */
303/********************************/
304
305#define AS_HOSTBUS_OTHER 0x00
306#define AS_HOSTBUS_ISA 0x01
307#define AS_HOSTBUS_EISA 0x02
308#define AS_HOSTBUS_uCHNL 0x03
309#define AS_HOSTBUS_PCI 0x04
310#define AS_HOSTBUS_SCSI 0x05
311#define AS_HOSTBUS_PCMCIA 0x06
312#define AS_HOSTBUS_PARALLEL 0x07
313#define AS_HOSTBUS_PLANAR 0x08
314#define AS_HOSTBUS_UNKNOWN 0xff
315/* Others SERIAL??? */
316
317/********************************/
318/* pAdapterStruct->HostBusWidth */
319/********************************/
320
321#define AS_BUSWIDTH_8BIT 0x10
322#define AS_BUSWIDTH_16BIT 0x20
323#define AS_BUSWIDTH_32BIT 0x30
324#define AS_BUSWIDTH_64BIT 0x40
325#define AS_BUSWIDTH_UNKNOWN 0xf0
326
327/********************************/
328/* pAdapterStruct->AdapterFlags */
329/********************************/
330
331#define AS_16MB_ADDRESS_LIMIT 0x01
332#define AS_NO16MB_ADDRESS_LIMIT 0x00
333
334
335/****************************************************************************/
336/* */
337/* Device Structure - Object hanging off Adapter */
338/* */
339/****************************************************************************/
340
341typedef struct {
342 FARPTR16 DevDescriptName;
343 USHORT DevFlags;
344 USHORT DevType;
345 FARPTR16 pAdjunctList;
346} DEVICESTRUCT, *PDEVICESTRUCT, NEAR *NPDEVICESTRUCT;
347
348/********************************/
349/* pDeviceStruct->DevType */
350/********************************/
351
352
353#define DS_TYPE_DISK 0x0000 /* All Direct Access Devices */
354#define DS_TYPE_TAPE 0x0001 /* Sequencial Access Devices */
355#define DS_TYPE_PRINTER 0x0002 /* Printer Device */
356#define DS_TYPE_PROCESSOR 0x0003 /* Processor type device */
357#define DS_TYPE_WORM 0x0004 /* Write Once Read Many Device */
358#define DS_TYPE_CDROM 0x0005 /* CD ROM Device */
359#define DS_TYPE_SCANNER 0x0006 /* Scanner Device */
360#define DS_TYPE_OPT_MEM 0x0007 /* some Optical disk */
361#define DS_TYPE_CHANGER 0x0008 /* Changer device e.g. juke box */
362#define DS_TYPE_COMM 0x0009 /* Communication devices */
363#define DS_TYPE_ATAPI 0x000A /* Unspecific ATAPI protocol device */
364#define DS_TYPE_SCSI_ATT 0x000B /* SCSI Attach */
365#define DS_TYPE_SOCKET 0x000C /* PCMCIA Socket */
366#define DS_TYPE_SLOT 0x000D /* Bus Slot */
367#define DS_TYPE_PLANAR_CHIPSET 0x000E /* DMA/IRQ/TIMER Controllers */
368#define DS_TYPE_IO 0x000F /* Input/Output */
369#define DS_TYPE_AUDIO 0x0010 /* Audio Device */
370#define DS_TYPE_UNKNOWN 0xFFFF
371
372/********************************/
373/* pDeviceStruct->DevFlags */
374/********************************/
375
376#define DS_REMOVEABLE_MEDIA 0x01
377#define DS_FIXED_LOGICALNAME 0x02
378
379
380
381typedef struct {
382 ULONG NumDevices;
383 HDEVICE hDevice[1]; /* First Entry in array of HRESOURCE */
384 }AHDEVICES, *PAHDEVICES, NEAR *NPAHDEVICES;
385
386
387/****************************************************************************/
388/* */
389/* Resource Structure */
390/* */
391/****************************************************************************/
392
393typedef struct {
394 USHORT BaseIOPort;
395 USHORT NumIOPorts;
396 USHORT IOFlags;
397 USHORT IOAddressLines;
398} IORESOURCE, *PIORESOURCE, NEAR *NPIORESOURCE;
399
400/********************************/
401/* pIOResource->IOFlags */
402/********************************/
403
404#define RS_IO_EXCLUSIVE 0x0001
405#define RS_IO_MULTIPLEXED 0x0002
406#define RS_IO_SHARED 0x0004
407#define RS_IO_RECONFIGURE 0x0008
408#define RS_IO_GRANT_YIELD 0x0010
409#define RS_IO_FORCE_ALIAS 0x0020
410#define RS_SEARCH 0x4000
411#define RS_NONOWNER_ALLOWED 0x8000 /*@V103757*/
412
413/****************************************************************************/
414/* */
415/* IRQ Resource Structure */
416/* */
417/****************************************************************************/
418
419/* Interrupt handler for Grant/Yield with RM routing interrupts */
420#ifdef __IBMC__
421typedef ULONG PFNRMINTHANDLER;
422#else
423typedef USHORT (_cdecl *PFNRMINTHANDLER)(VOID);
424#endif
425
426typedef struct {
427 USHORT IRQLevel; /* < 16 */
428 USHORT PCIIrqPin; /* < 5 */
429 USHORT IRQFlags;
430 USHORT Reserved; /* Alignment for 32 bit code */
431 PFNRMINTHANDLER pfnIntHandler;
432} IRQRESOURCE, *PIRQRESOURCE, NEAR *NPIRQRESOURCE;
433
434/********************************/
435/* pIRQResource->PCIIrqPin */
436/********************************/
437#define RS_PCI_INT_NONE 0 /* For completeness, on non-PCI box */
438#define RS_PCI_INT_A 1
439#define RS_PCI_INT_B 2
440#define RS_PCI_INT_C 3
441#define RS_PCI_INT_D 4
442
443
444/********************************/
445/* pIRQResource->IRQFlags */
446/********************************/
447
448#define RS_IRQ_EXCLUSIVE 0x01
449#define RS_IRQ_MULTIPLEXED 0x02
450#define RS_IRQ_SHARED 0x04
451#define RS_IRQ_RECONFIGURE 0x08
452#define RS_IRQ_GRANT_YIELD 0x10
453#define RS_IRQ_ROUTER 0x20
454
455/****************************************************************************/
456/* */
457/* MEM Resource Structure */
458/* */
459/****************************************************************************/
460
461typedef struct {
462 ULONG MemBase;
463 ULONG MemSize;
464 USHORT MemFlags;
465 USHORT ReservedAlign; /* Alignment for 32-bit code */
466} MEMRESOURCE, *PMEMRESOURCE, NEAR *NPMEMRESOURCE;
467
468
469/********************************/
470/* pMemResource->MemFlags */
471/********************************/
472
473#define RS_MEM_EXCLUSIVE 0x01
474#define RS_MEM_MULTIPLEXED 0x02
475#define RS_MEM_SHARED 0x04
476#define RS_MEM_RECONFIGURE 0x08
477#define RS_MEM_GRANT_YIELD 0x10
478
479/****************************************************************************/
480/* */
481/* DMA Resource Structure */
482/* */
483/****************************************************************************/
484
485typedef struct {
486 USHORT DMAChannel;
487 USHORT DMAFlags;
488} DMARESOURCE, *PDMARESOURCE, NEAR *NPDMARESOURCE;
489
490
491/********************************/
492/* pDMAResource->DMAFlags */
493/********************************/
494
495#define RS_DMA_EXCLUSIVE 0x01
496#define RS_DMA_MULTIPLEXED 0x02
497#define RS_DMA_SHARED 0x04
498#define RS_DMA_RECONFIGURE 0x08
499#define RS_DMA_GRANT_YIELD 0x10
500
501/****************************************************************************/
502/* */
503/* Timer Resource Structure */
504/* */
505/****************************************************************************/
506
507typedef struct {
508 USHORT TMRChannel;
509 USHORT TMRFlags;
510} TMRRESOURCE, *PTMRRESOURCE, NEAR *NPTMRRESOURCE;
511
512
513/********************************/
514/* pTmrResource->TMRFlags */
515/********************************/
516
517#define RS_TMR_EXCLUSIVE 0x01
518#define RS_TMR_MULTIPLEXED 0x02
519#define RS_TMR_SHARED 0x04
520
521
522/****************************************************************************/
523
524typedef struct {
525 ULONG ResourceType;
526 union {
527 IORESOURCE IOResource;
528 IRQRESOURCE IRQResource;
529 MEMRESOURCE MEMResource;
530 DMARESOURCE DMAResource;
531 TMRRESOURCE TMRResource;
532 };
533 ULONG Reserved;
534} RESOURCESTRUCT, NEAR *NPRESOURCESTRUCT, FAR48 *LPRESOURCESTRUCT;
535
536
537/********************************/
538/* RMModifyResource Command */
539/********************************/
540#define RM_MODIFY_ADD 0
541#define RM_MODIFY_DELETE 1
542
543
544/****************************************************************************/
545/* */
546/* LDEV - Logical Device Structure */
547/* */
548/****************************************************************************/
549
550typedef struct {
551 FARPTR16 LDevDescriptName;
552 USHORT LDevFlags;
553 USHORT LDevClass;
554 HDEVICE LDevHDevice;
555 FARPTR16 pAdjunctList;
556} LDEVSTRUCT, *PLDEVSTRUCT, NEAR *NPLDEVSTRUCT;
557
558/*********************************/
559/* pLDevStruct->LDevFlags */
560/*********************************/
561/*- TBD -*/
562
563#define LDEV_CLASS_BASE 0
564#define LDEV_CLASS_ROOT (LDEV_CLASS_BASE+1)
565#define LDEV_CLASS_DASD (LDEV_CLASS_BASE+2)
566#define LDEV_CLASS_CDROM (LDEV_CLASS_BASE+3)
567#define LDEV_CLASS_SERIAL (LDEV_CLASS_BASE+4)
568#define LDEV_CLASS_PARALLEL (LDEV_CLASS_BASE+5)
569#define LDEV_CLASS_TAPE (LDEV_CLASS_BASE+6)
570
571#define NUM_LDEV_CLASSES 6
572#define MAX_LDEV_CLASSES 10
573#define NUM_DDCFG_TYPES 2
574
575/****************************************************************************/
576/* */
577/* SYSNAME - System Name */
578/* */
579/****************************************************************************/
580
581typedef struct {
582 FARPTR16 SysDescriptName;
583 FARPTR16 pAdjunctList;
584 USHORT SysFlags;
585 USHORT Reserved;
586} SYSNAMESTRUCT, *PSYSNAMESTRUCT, NEAR *NPSYSNAMESTRUCT;
587
588
589
590/****************************************************************************/
591/* */
592/* DETECTED - Detected HW Function */
593/* */
594/****************************************************************************/
595typedef ULONG IDTYPE;
596
597#define RM_IDTYPE_RM 0 /* Resource Manager Internal */
598#define RM_IDTYPE_EISA 1 /* EISA (Also ISA PNP) */
599#define RM_IDTYPE_PCI 2 /* PCI */
600#define RM_IDTYPE_LEGACY 3 /* LEGACY */
601
602typedef ULONG DEVID;
603typedef ULONG VENDID;
604typedef ULONG SERNUM;
605
606typedef struct {
607 FARPTR16 DetectDescriptName;/* Ascii name */
608 USHORT DetectFlags; /* ??? */
609 IDTYPE IDType; /* EISA, PCI, etc.. */
610 DEVID DeviceID; /* EISA, PCI, etc.. ID */
611 DEVID FunctionID; /* For multi-function hw */
612 DEVID CompatibleID; /* Compatible Device */
613 FARPTR16 pAdjunctList;
614 VENDID VendorID;
615 SERNUM SerialNumber;
616} DETECTEDSTRUCT, *PDETECTEDSTRUCT, NEAR *NPDETECTEDSTRUCT;
617
618/********************************/
619/* pDetectStruct->DetectFlags */
620/********************************/
621
622#define DS_PREVIOUS_BOOT 0x01 /* Note: not settable externally */
623
624
625
626
627/****************************************************************************/
628/* */
629/* Handle List Structure */
630/* */
631/****************************************************************************/
632
633typedef struct
634{
635 USHORT cMaxHandles;
636 USHORT cHandles;
637 HADAPTER Handles[1];
638
639} HANDLELIST, NEAR *NPHANDLELIST, FAR48 *LPHANDLELIST;
640
641typedef struct _ADJINFO
642{
643 HADAPTER hAdapter;
644 USHORT AdjIndex;
645
646} ADJINFO;
647
648typedef struct
649{
650 USHORT cMaxHandles;
651 USHORT cHandles;
652 ADJINFO Adj[1];
653
654} ADJHANDLELIST, *PADJHANDLELIST, NEAR *NPADJHANDLELIST;
655
656/****************************************************************************/
657/* */
658/* PreAssigned Node Handles */
659/* */
660/****************************************************************************/
661
662#define HANDLE_PHYS_TREE 0xffff8000
663#define HANDLE_SYS_TREE 0xffff8001
664#define HANDLE_DEFAULT_SYSBUS 0xffff8002
665#define HANDLE_X_BUS 0xffff8003
666#define HANDLE_PCI_BUS 0xffff8004
667#define HANDLE_PREVIOUS_DETECTED 0xffff8005
668#define HANDLE_CURRENT_DETECTED 0xffff8006
669
670/****************************************************************************/
671/* */
672/* Handle Types */
673/* */
674/****************************************************************************/
675
676#define HANDLE_TYPE_INVALID 0
677#define HANDLE_TYPE_DRIVER 1
678#define HANDLE_TYPE_ADAPTER 2
679#define HANDLE_TYPE_DEVICE 3
680#define HANDLE_TYPE_RESOURCE 4
681#define HANDLE_TYPE_LOGDEV 5
682#define HANDLE_TYPE_SYSDEV 6
683#define HANDLE_TYPE_DETECTED 7
684
685/****************************************************************************/
686/* */
687/* Search ID Flags */
688/* */
689/****************************************************************************/
690typedef ULONG SEARCHIDFLAGS;
691
692#define SEARCH_ID_DEVICEID 1
693#define SEARCH_ID_FUNCTIONID 2
694#define SEARCH_ID_COMPATIBLEID 4
695#define SEARCH_ID_VENDOR 8
696#define SEARCH_ID_SERIAL 16
697
698/****************************************************************************/
699/* */
700/* Convert ID */
701/* */
702/****************************************************************************/
703
704#define RM_CONVERT_TO_TEXT 1
705#define RM_CONVERT_TO_ID 2
706
707/****************************************************************************/
708/* */
709/* SNOOPLEVEL definitions */
710/* */
711/****************************************************************************/
712
713typedef enum {SNP_NO_RISK,SNP_LOW_RISK,SNP_MEDIUM_RISK,SNP_HIGH_RISK,SNP_WARP_RISK } SNOOPLEVEL;
714
715#define SNP_FLG_NEXTBOOT 1
716#define SNP_FLG_DEFAULT 2
717
718/****************************************************************************/
719/* */
720/* RMINFO Flag definitions */
721/* */
722/****************************************************************************/
723
724#define RM_SAVE_DEFAULT 0
725#define RM_DELETE_DEFAULT 0
726
727#endif /* __RM_HEADER__ */
728
729
730/****************************************************************************/
731/* */
732/* Comon Keys */
733/* */
734/****************************************************************************/
735
736#define KEY_FIXDISK "DISK_# "
737#define KEY_TAPE "TAPE_# "
738#define KEY_PRINTER "PRINTER_# "
739#define KEY_CPU "CPU_# "
740#define KEY_WORM "WORM_# "
741#define KEY_CDROM "CDROM_# "
742#define KEY_SCANNER "SCANNER_# "
743#define KEY_OPTICAL_MEM "OPTICAL_MEM_# "
744#define KEY_CHANGER "CHANGER_# "
745#define KEY_COMM "COMM_# "
746#define KEY_SCSI_UNKNOWN "UNKNOWN_# "
747
748/****************************************************************************/
749/* */
750/* DDtype for RMGetCommandLine() */
751/* */
752/****************************************************************************/
753
754#define RM_CMD_BASE 0
755#define RM_CMD_DEVICE 1
756
Note: See TracBrowser for help on using the repository browser.