[DDK] Bring hdaudio.h to DDK formatting. NFC.

svn path=/trunk/; revision=68278
This commit is contained in:
Amine Khaldi 2015-06-26 16:32:40 +00:00
parent ef406986cb
commit 5703a3911d

View file

@ -14,19 +14,15 @@ DEFINE_GUID (GUID_HDAUDIO_BUS_CLASS, 0xbbd1a745, 0xadd6, 0x4575, 0x9c, 0x2e, 0x9
#ifndef _HDAUDIO_CODEC_TRANSFER_
#define _HDAUDIO_CODEC_TRANSFER_
typedef struct _HDAUDIO_CODEC_COMMAND
{
union
{
struct
{
typedef struct _HDAUDIO_CODEC_COMMAND {
union {
struct {
ULONG Data:8;
ULONG VerbId:12;
ULONG Node:8;
ULONG CodecAddress:4;
} Verb8;
struct
{
struct {
ULONG Data:16;
ULONG VerbId:4;
ULONG Node:8;
@ -36,16 +32,11 @@ typedef struct _HDAUDIO_CODEC_COMMAND
};
} HDAUDIO_CODEC_COMMAND, *PHDAUDIO_CODEC_COMMAND;
typedef struct _HDAUDIO_CODEC_RESPONSE
{
union
{
struct
{
union
{
struct
{
typedef struct _HDAUDIO_CODEC_RESPONSE {
union {
struct {
union {
struct {
ULONG Response:26;
ULONG Tag:6;
} Unsolicited;
@ -61,27 +52,23 @@ typedef struct _HDAUDIO_CODEC_RESPONSE
};
} HDAUDIO_CODEC_RESPONSE, *PHDAUDIO_CODEC_RESPONSE;
typedef struct _HDAUDIO_CODEC_TRANSFER
{
typedef struct _HDAUDIO_CODEC_TRANSFER {
HDAUDIO_CODEC_COMMAND Output;
HDAUDIO_CODEC_RESPONSE Input;
} HDAUDIO_CODEC_TRANSFER, *PHDAUDIO_CODEC_TRANSFER;
#endif
typedef struct _HDAUDIO_STREAM_FORMAT
{
#endif /* _HDAUDIO_CODEC_TRANSFER_ */
typedef struct _HDAUDIO_STREAM_FORMAT {
ULONG SampleRate;
USHORT ValidBitsPerSample;
USHORT ContainerSize;
USHORT NumberOfChannels;
} HDAUDIO_STREAM_FORMAT, *PHDAUDIO_STREAM_FORMAT;
typedef struct _HDAUDIO_CONVERTER_FORMAT
{
union
{
struct
{
typedef struct _HDAUDIO_CONVERTER_FORMAT {
union {
struct {
USHORT NumberOfChannels:4;
USHORT BitsPerSample:3;
USHORT :1;
@ -92,58 +79,135 @@ typedef struct _HDAUDIO_CONVERTER_FORMAT
};
} HDAUDIO_CONVERTER_FORMAT, *PHDAUDIO_CONVERTER_FORMAT;
typedef enum _HDAUDIO_STREAM_STATE
{
typedef enum _HDAUDIO_STREAM_STATE {
ResetState = 0,
StopState = 1,
PauseState = 1,
RunState = 2
} HDAUDIO_STREAM_STATE, *PHDAUDIO_STREAM_STATE;
typedef VOID (NTAPI *PHDAUDIO_TRANSFER_COMPLETE_CALLBACK)(HDAUDIO_CODEC_TRANSFER *, PVOID);
typedef VOID
(NTAPI *PHDAUDIO_TRANSFER_COMPLETE_CALLBACK)(
HDAUDIO_CODEC_TRANSFER *,
PVOID);
typedef VOID (NTAPI *PHDAUDIO_UNSOLICITED_RESPONSE_CALLBACK)(HDAUDIO_CODEC_RESPONSE, PVOID);
typedef VOID
(NTAPI *PHDAUDIO_UNSOLICITED_RESPONSE_CALLBACK)(
HDAUDIO_CODEC_RESPONSE,
PVOID);
typedef struct _HDAUDIO_DEVICE_INFORMATION
{
USHORT Size; // size of this structure
USHORT DeviceVersion; // maj.min (maj is high byte, min is low byte)
USHORT DriverVersion; // maj.min (maj is high byte, min is low byte)
USHORT CodecsDetected; // mask of codecs present. Bit number == SDI line number
BOOLEAN IsStripingSupported; // TRUE if striping (2 SDO lines) is supported
typedef struct _HDAUDIO_DEVICE_INFORMATION {
USHORT Size; /* size of this structure */
USHORT DeviceVersion; /* maj.min (maj is high byte, min is low byte) */
USHORT DriverVersion; /* maj.min (maj is high byte, min is low byte) */
USHORT CodecsDetected; /* mask of codecs present. Bit number == SDI line number */
BOOLEAN IsStripingSupported; /* TRUE if striping (2 SDO lines) is supported */
} HDAUDIO_DEVICE_INFORMATION, *PHDAUDIO_DEVICE_INFORMATION;
typedef struct _HDAUDIO_BUFFER_DESCRIPTOR
{
typedef struct _HDAUDIO_BUFFER_DESCRIPTOR {
PHYSICAL_ADDRESS Address;
ULONG Length;
ULONG InterruptOnCompletion;
} HDAUDIO_BUFFER_DESCRIPTOR, *PHDAUDIO_BUFFER_DESCRIPTOR;
typedef NTSTATUS
(NTAPI *PTRANSFER_CODEC_VERBS)(
IN PVOID _context,
IN ULONG Count,
IN OUT PHDAUDIO_CODEC_TRANSFER CodecTransfer,
IN PHDAUDIO_TRANSFER_COMPLETE_CALLBACK Callback,
IN PVOID Context);
typedef NTSTATUS (NTAPI *PTRANSFER_CODEC_VERBS) (IN PVOID _context, IN ULONG Count, IN OUT PHDAUDIO_CODEC_TRANSFER CodecTransfer, IN PHDAUDIO_TRANSFER_COMPLETE_CALLBACK Callback, IN PVOID Context);
typedef NTSTATUS (NTAPI *PALLOCATE_CAPTURE_DMA_ENGINE) (IN PVOID _context, IN UCHAR CodecAddress, IN PHDAUDIO_STREAM_FORMAT StreamFormat, OUT PHANDLE Handle, OUT PHDAUDIO_CONVERTER_FORMAT ConverterFormat);
typedef NTSTATUS (NTAPI *PALLOCATE_RENDER_DMA_ENGINE) (IN PVOID _context, IN PHDAUDIO_STREAM_FORMAT StreamFormat, IN BOOLEAN Stripe, OUT PHANDLE Handle, OUT PHDAUDIO_CONVERTER_FORMAT ConverterFormat);
typedef NTSTATUS (NTAPI *PCHANGE_BANDWIDTH_ALLOCATION) (IN PVOID _context, IN HANDLE Handle, IN PHDAUDIO_STREAM_FORMAT StreamFormat, OUT PHDAUDIO_CONVERTER_FORMAT ConverterFormat);
typedef NTSTATUS (NTAPI *PALLOCATE_DMA_BUFFER) (IN PVOID _context, IN HANDLE Handle, IN SIZE_T RequestedBufferSize, OUT PMDL *BufferMdl, OUT PSIZE_T AllocatedBufferSize, OUT PUCHAR StreamId, OUT PULONG FifoSize);
typedef NTSTATUS (NTAPI *PFREE_DMA_BUFFER) (IN PVOID _context, IN HANDLE Handle);
typedef NTSTATUS (NTAPI *PFREE_DMA_ENGINE) (IN PVOID _context, IN HANDLE Handle);
typedef NTSTATUS (NTAPI *PSET_DMA_ENGINE_STATE) (IN PVOID _context, IN HDAUDIO_STREAM_STATE StreamState, IN ULONG NumberOfHandles, IN PHANDLE Handles);
typedef VOID (NTAPI *PGET_WALL_CLOCK_REGISTER) (IN PVOID _context, OUT PULONG *Wallclock);
typedef NTSTATUS (NTAPI *PGET_LINK_POSITION_REGISTER) (IN PVOID _context, IN HANDLE Handle, OUT PULONG *Position);
typedef NTSTATUS (NTAPI *PREGISTER_EVENT_CALLBACK) (IN PVOID _context, IN PHDAUDIO_UNSOLICITED_RESPONSE_CALLBACK Routine, IN PVOID Context, OUT PUCHAR Tag);
typedef NTSTATUS (NTAPI *PUNREGISTER_EVENT_CALLBACK) (IN PVOID _context, IN UCHAR Tag);
typedef NTSTATUS (NTAPI *PGET_DEVICE_INFORMATION) (IN PVOID _context, IN OUT PHDAUDIO_DEVICE_INFORMATION DeviceInformation);
typedef VOID (NTAPI *PGET_RESOURCE_INFORMATION) (IN PVOID _context, OUT PUCHAR CodecAddress, OUT PUCHAR FunctionGroupStartNode);
typedef NTSTATUS
(NTAPI *PALLOCATE_CAPTURE_DMA_ENGINE)(
IN PVOID _context,
IN UCHAR CodecAddress,
IN PHDAUDIO_STREAM_FORMAT StreamFormat,
OUT PHANDLE Handle,
OUT PHDAUDIO_CONVERTER_FORMAT ConverterFormat);
typedef struct _HDAUDIO_BUS_INTERFACE
{
typedef NTSTATUS
(NTAPI *PALLOCATE_RENDER_DMA_ENGINE)(
IN PVOID _context,
IN PHDAUDIO_STREAM_FORMAT StreamFormat,
IN BOOLEAN Stripe,
OUT PHANDLE Handle,
OUT PHDAUDIO_CONVERTER_FORMAT ConverterFormat);
typedef NTSTATUS
(NTAPI *PCHANGE_BANDWIDTH_ALLOCATION)(
IN PVOID _context,
IN HANDLE Handle,
IN PHDAUDIO_STREAM_FORMAT StreamFormat,
OUT PHDAUDIO_CONVERTER_FORMAT ConverterFormat);
typedef NTSTATUS
(NTAPI *PALLOCATE_DMA_BUFFER)(
IN PVOID _context,
IN HANDLE Handle,
IN SIZE_T RequestedBufferSize,
OUT PMDL *BufferMdl,
OUT PSIZE_T AllocatedBufferSize,
OUT PUCHAR StreamId,
OUT PULONG FifoSize);
typedef NTSTATUS
(NTAPI *PFREE_DMA_BUFFER)(
IN PVOID _context,
IN HANDLE Handle);
typedef NTSTATUS
(NTAPI *PFREE_DMA_ENGINE)(
IN PVOID _context,
IN HANDLE Handle);
typedef NTSTATUS
(NTAPI *PSET_DMA_ENGINE_STATE)(
IN PVOID _context,
IN HDAUDIO_STREAM_STATE StreamState,
IN ULONG NumberOfHandles,
IN PHANDLE Handles);
typedef VOID
(NTAPI *PGET_WALL_CLOCK_REGISTER)(
IN PVOID _context,
OUT PULONG *Wallclock);
typedef NTSTATUS
(NTAPI *PGET_LINK_POSITION_REGISTER)(
IN PVOID _context,
IN HANDLE Handle,
OUT PULONG *Position);
typedef NTSTATUS
(NTAPI *PREGISTER_EVENT_CALLBACK)(
IN PVOID _context,
IN PHDAUDIO_UNSOLICITED_RESPONSE_CALLBACK Routine,
IN PVOID Context,
OUT PUCHAR Tag);
typedef NTSTATUS
(NTAPI *PUNREGISTER_EVENT_CALLBACK)(
IN PVOID _context,
IN UCHAR Tag);
typedef NTSTATUS
(NTAPI *PGET_DEVICE_INFORMATION)(
IN PVOID _context,
IN OUT PHDAUDIO_DEVICE_INFORMATION DeviceInformation);
typedef VOID
(NTAPI *PGET_RESOURCE_INFORMATION)(
IN PVOID _context,
OUT PUCHAR CodecAddress,
OUT PUCHAR FunctionGroupStartNode);
typedef struct _HDAUDIO_BUS_INTERFACE {
USHORT Size;
USHORT Version;
PVOID Context;
PINTERFACE_REFERENCE InterfaceReference;
PINTERFACE_DEREFERENCE InterfaceDereference;
PTRANSFER_CODEC_VERBS TransferCodecVerbs;
PALLOCATE_CAPTURE_DMA_ENGINE AllocateCaptureDmaEngine;
PALLOCATE_RENDER_DMA_ENGINE AllocateRenderDmaEngine;
@ -160,22 +224,41 @@ typedef struct _HDAUDIO_BUS_INTERFACE
PGET_RESOURCE_INFORMATION GetResourceInformation;
} HDAUDIO_BUS_INTERFACE, *PHDAUDIO_BUS_INTERFACE;
typedef void (NTAPI *PHDAUDIO_BDL_ISR) (IN VOID *Context, IN ULONG InterruptBitMask);
typedef void
(NTAPI *PHDAUDIO_BDL_ISR)(
IN VOID *Context,
IN ULONG InterruptBitMask);
typedef NTSTATUS (NTAPI *PALLOCATE_CONTIGUOUS_DMA_BUFFER) (IN PVOID _context, IN HANDLE Handle,
ULONG RequestedBufferSize, OUT PVOID *DataBuffer, OUT PHDAUDIO_BUFFER_DESCRIPTOR *BdlBuffer);
typedef NTSTATUS (NTAPI *PFREE_CONTIGUOUS_DMA_BUFFER) (IN PVOID _context, IN HANDLE Handle);
typedef NTSTATUS (NTAPI *PSETUP_DMA_ENGINE_WITH_BDL) (IN PVOID _context, IN HANDLE Handle, IN ULONG BufferLength,
IN ULONG Lvi, IN PHDAUDIO_BDL_ISR Isr, IN PVOID Context, OUT PUCHAR StreamId, OUT PULONG FifoSize);
typedef NTSTATUS
(NTAPI *PALLOCATE_CONTIGUOUS_DMA_BUFFER)(
IN PVOID _context,
IN HANDLE Handle,
ULONG RequestedBufferSize,
OUT PVOID *DataBuffer,
OUT PHDAUDIO_BUFFER_DESCRIPTOR *BdlBuffer);
typedef struct _HDAUDIO_BUS_INTERFACE_BDL
{
typedef NTSTATUS
(NTAPI *PFREE_CONTIGUOUS_DMA_BUFFER)(
IN PVOID _context,
IN HANDLE Handle);
typedef NTSTATUS
(NTAPI *PSETUP_DMA_ENGINE_WITH_BDL)(
IN PVOID _context,
IN HANDLE Handle,
IN ULONG BufferLength,
IN ULONG Lvi,
IN PHDAUDIO_BDL_ISR Isr,
IN PVOID Context,
OUT PUCHAR StreamId,
OUT PULONG FifoSize);
typedef struct _HDAUDIO_BUS_INTERFACE_BDL {
USHORT Size;
USHORT Version;
PVOID Context;
PINTERFACE_REFERENCE InterfaceReference;
PINTERFACE_DEREFERENCE InterfaceDereference;
PTRANSFER_CODEC_VERBS TransferCodecVerbs;
PALLOCATE_CAPTURE_DMA_ENGINE AllocateCaptureDmaEngine;
PALLOCATE_RENDER_DMA_ENGINE AllocateRenderDmaEngine;
@ -193,7 +276,9 @@ typedef struct _HDAUDIO_BUS_INTERFACE_BDL
PGET_RESOURCE_INFORMATION GetResourceInformation;
} HDAUDIO_BUS_INTERFACE_BDL, *PHDAUDIO_BUS_INTERFACE_BDL;
typedef NTSTATUS (NTAPI *PALLOCATE_DMA_BUFFER_WITH_NOTIFICATION) (IN PVOID _context,
typedef NTSTATUS
(NTAPI *PALLOCATE_DMA_BUFFER_WITH_NOTIFICATION)(
IN PVOID _context,
IN HANDLE Handle,
IN ULONG NotificationCount,
IN SIZE_T RequestedBufferSize,
@ -203,27 +288,31 @@ typedef NTSTATUS (NTAPI *PALLOCATE_DMA_BUFFER_WITH_NOTIFICATION) (IN PVOID _cont
OUT PUCHAR StreamId,
OUT PULONG FifoSize);
typedef NTSTATUS (NTAPI *PFREE_DMA_BUFFER_WITH_NOTIFICATION) (IN PVOID _context,
typedef NTSTATUS
(NTAPI *PFREE_DMA_BUFFER_WITH_NOTIFICATION)(
IN PVOID _context,
IN HANDLE Handle,
IN PMDL BufferMdl,
IN SIZE_T BufferSize);
typedef NTSTATUS (NTAPI *PREGISTER_NOTIFICATION_EVENT) (IN PVOID _context,
typedef NTSTATUS
(NTAPI *PREGISTER_NOTIFICATION_EVENT)(
IN PVOID _context,
IN HANDLE Handle,
IN PKEVENT NotificationEvent);
typedef NTSTATUS (NTAPI *PUNREGISTER_NOTIFICATION_EVENT) (IN PVOID _context,
typedef NTSTATUS
(NTAPI *PUNREGISTER_NOTIFICATION_EVENT)(
IN PVOID _context,
IN HANDLE Handle,
IN PKEVENT NotificationEvent);
typedef struct _HDAUDIO_BUS_INTERFACE_V2
{
typedef struct _HDAUDIO_BUS_INTERFACE_V2 {
USHORT Size;
USHORT Version;
PVOID Context;
PINTERFACE_REFERENCE InterfaceReference;
PINTERFACE_DEREFERENCE InterfaceDereference;
PTRANSFER_CODEC_VERBS TransferCodecVerbs;
PALLOCATE_CAPTURE_DMA_ENGINE AllocateCaptureDmaEngine;
PALLOCATE_RENDER_DMA_ENGINE AllocateRenderDmaEngine;
@ -249,5 +338,4 @@ typedef struct _HDAUDIO_BUS_INTERFACE_V2
#pragma warning(default:4214)
#endif
#endif // _HDAUDIO_H_
#endif /* _HDAUDIO_H_ */