mirror of https://github.com/lianthony/NT4.0
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
105 lines
2.8 KiB
105 lines
2.8 KiB
/*++
|
|
*******************************************************************************
|
|
* Copyright (c) 1995 IBM Corporation
|
|
*
|
|
* Module Name: gdi.h
|
|
*
|
|
* Abstract: definitions and declarations for GLOBAL DEIVCE INFO
|
|
*
|
|
* Author: jim bozek - ibm
|
|
*
|
|
* Environment: planet earth
|
|
*
|
|
* Comments: yes
|
|
*
|
|
* Revisionist History: liberalism failed
|
|
*
|
|
*******************************************************************************
|
|
--*/
|
|
|
|
#ifndef GDINFO_H
|
|
#define GDINFO_H
|
|
|
|
typedef enum {
|
|
WaveInDevice = 0x00000000,
|
|
WaveOutDevice,
|
|
MixerDevice,
|
|
AuxDevice,
|
|
NumberOfDevices
|
|
} SOUND_DEVICES;
|
|
|
|
typedef enum {
|
|
UndefDuplex = 0x00000000,
|
|
HalfDuplex,
|
|
FullDuplex,
|
|
EnhancedDuplex,
|
|
NumberOfDuplexModes
|
|
} DUPLEX_MODE;
|
|
|
|
typedef struct _GLOBAL_DEVICE_INFO {
|
|
ULONG Key;
|
|
PWSTR RegPathName;
|
|
PDRIVER_OBJECT pDrvObj;
|
|
SOUND_HARDWARE Hw;
|
|
ULONG BogusInterrupts;
|
|
ULONG InterruptCount;
|
|
|
|
DUPLEX_MODE Duplex;
|
|
BOOLEAN WssEnable;
|
|
ULONG WssPort;
|
|
ULONG WssIrq;
|
|
ULONG SynPort;
|
|
ULONG SBPort;
|
|
BOOLEAN GameEnable;
|
|
ULONG GamePort;
|
|
BOOLEAN CtrlEnable;
|
|
ULONG CtrlPort;
|
|
BOOLEAN MpuEnable;
|
|
ULONG MpuPort;
|
|
ULONG MpuIrq;
|
|
BOOLEAN CDRomEnable;
|
|
ULONG CDRomPort;
|
|
|
|
ULONG HwPort;
|
|
ULONG HwMemType;
|
|
ULONG MemType;
|
|
INTERFACE_TYPE BusType;
|
|
ULONG BusNumber;
|
|
ULONG InterruptVector;
|
|
KIRQL InterruptRequestLevel;
|
|
BOOLEAN SingleModeDMA;
|
|
ULONG DmaBufferSize;
|
|
|
|
KMUTEX DriverMutex;
|
|
BOOLEAN DeviceInUse[NumberOfDevices];
|
|
|
|
WAVE_INFO WaveInInfo;
|
|
ULONG DmaCaptureChannel;
|
|
PADAPTER_OBJECT InAdapter;
|
|
|
|
WAVE_INFO WaveOutInfo;
|
|
ULONG DmaPlayChannel;
|
|
PADAPTER_OBJECT OutAdapter;
|
|
|
|
MIXER_INFO MixerInfo;
|
|
LOCAL_MIXER_DATA LocalMixerData;
|
|
MIXER_REGISTRY_DATA MixerSettings;
|
|
|
|
PDEVICE_OBJECT DeviceObject[NumberOfDevices];
|
|
} GLOBAL_DEVICE_INFO, *PGLOBAL_DEVICE_INFO;
|
|
|
|
typedef struct {
|
|
LIST_ENTRY ListEntry;
|
|
PGLOBAL_DEVICE_INFO pGDI;
|
|
} HW_INSTANCE, *PHW_INSTANCE;
|
|
|
|
#define GDI_KEY (*(ULONG *)"GDI ")
|
|
|
|
PGLOBAL_DEVICE_INFO
|
|
cs423xCreateGdi(
|
|
PDRIVER_OBJECT pDObj,
|
|
PUNICODE_STRING RegPathName);
|
|
|
|
#define GDI_MEMTYPE_DEF (ULONG)0xffff
|
|
|
|
#endif /* GDINFO_H */
|