Data Structures |
| struct | PDEVICE_EXTENSION |
| struct | PDEVICE_INSTANCE |
Defines |
| #define | NDEBUG |
| #define | DEFAULT_PORT 0x220 |
| #define | DEFAULT_IRQ 5 |
| #define | DEFAULT_DMA 1 |
| #define | DEFAULT_BUFSIZE 0x4000 |
| #define | DEFAULT_SAMPLERATE 11025 |
| #define | DEFAULT_BITDEPTH 8 |
| #define | DEFAULT_CHANNELS 1 |
| #define | VALID_IRQS {5} |
| #define | MIN_BUFSIZE 0x1000 |
| #define | MAX_BUFSIZE 0x4000 |
| #define | DEVICE_SUBKEY L"Devices" |
| #define | PARMS_SUBKEY L"Parameters" |
| #define | REGISTRY_PORT L"Port" |
| #define | SB_PORT DEFAULT_PORT |
| #define | SB_IRQ DEFAULT_IRQ |
| #define | SB_DMA DEFAULT_DMA |
| #define | SB_BUFSIZE DEFAULT_BUFSIZE |
| #define | SB_TIMEOUT 1000000 |
| #define | IOCTL_SOUND_BASE FILE_DEVICE_SOUND |
| #define | IOCTL_WAVE_BASE 0x0000 |
| #define | SB_DSP_READY 0xaa |
| #define | SB_SET_OUTPUT_RATE 0x41 |
| #define | SB_SET_INPUT_RATE 0x42 |
| #define | SB_SET_BLOCK_SIZE 0x48 |
| #define | SB_ENABLE_SPEAKER 0xd1 |
| #define | SB_DISABLE_SPEAKER 0xd3 |
| #define | SB_GET_SPEAKER_STATUS 0xd8 |
| #define | SB_GET_DSP_VERSION 0xe1 |
| #define | SB_WRITE_RESET(bp, x) WRITE_PORT_UCHAR((PUCHAR) bp+0x6, x) |
| #define | SB_READ_DATA(bp) READ_PORT_UCHAR((PUCHAR) bp+0xa) |
| #define | SB_WRITE_DATA(bp, x) WRITE_PORT_UCHAR((PUCHAR) bp+0xc, x) |
| #define | SB_READ_WRITESTATUS(bp) READ_PORT_UCHAR((PUCHAR) bp+0xc) |
| #define | SB_READ_READSTATUS(bp) READ_PORT_UCHAR((PUCHAR) bp+0xe) |
| #define | SB_READY_TO_SEND(bp) SB_READ_WRITESTATUS(bp) & 0x80 |
| #define | SB_READY_TO_RECEIVE(bp) SB_READ_READSTATUS(bp) & 0x80 |
| #define | SB_WRITE_BYTE(bp, x) if (WaitToSend(bp)) SB_WRITE_DATA(bp, x) |
Typedefs |
| typedef NTSTATUS | REGISTRY_CALLBACK_ROUTINE (PWSTR RegistryPath, PVOID Context) |
| typedef REGISTRY_CALLBACK_ROUTINE * | PREGISTRY_CALLBACK_ROUTINE |
Functions |
| BOOLEAN | WaitToSend (ULONG BasePort) |
| BOOLEAN | WaitToReceive (ULONG BasePort) |
| USHORT | InitSoundCard (ULONG BasePort) |
| NTSTATUS NTAPI | EnumDeviceKeys (IN PUNICODE_STRING RegistryPath, IN PWSTR SubKey, IN PREGISTRY_CALLBACK_ROUTINE Callback, IN PVOID Context) |
| NTSTATUS NTAPI | LoadSettings (IN PWSTR ValueName, IN ULONG ValueType, IN PVOID ValueData, IN ULONG ValueLength, IN PVOID Context, IN PVOID EntryContext) |
| BOOLEAN | CreateDMA (PDEVICE_OBJECT DeviceObject) |
| VOID | SetOutputSampleRate (ULONG BasePort, ULONG SampleRate) |
| VOID | EnableSpeaker (ULONG BasePort, BOOLEAN SpeakerOn) |
| BOOLEAN | IsSpeakerEnabled (ULONG BasePort) |
| VOID | BeginPlayback (ULONG BasePort, ULONG BitDepth, ULONG Channels, ULONG BlockSize) |