reactos/lib/drivers/sound/libusbaudio/libusbaudio.h
Amine Khaldi 527f2f9057 [SHELL/EXPERIMENTS]
* Create a branch for some evul shell experiments.

svn path=/branches/shell-experiments/; revision=61927
2014-02-02 19:37:27 +00:00

56 lines
1.1 KiB
C

#pragma once
typedef enum
{
UA_STATUS_SUCCESS = 0,
UA_STATUS_NOTINITIALIZED,
UA_STATUS_NOT_IMPLEMENTED,
UA_STATUS_NO_MORE_DEVICES,
UA_STATUS_MORE_ENTRIES,
UA_STATUS_INVALID_PARAMETER,
UA_STATUS_UNSUCCESSFUL,
UA_STATUS_NO_MEMORY
}USBAUDIO_STATUS;
typedef PVOID (*PUSBAUDIO_ALLOC)(
IN ULONG NumberOfBytes);
typedef VOID (*PUSBAUDIO_FREE)(
IN PVOID Block);
typedef VOID (*PUSBAUDIO_COPY)(
IN PVOID Dst,
IN PVOID Src,
IN ULONG Length);
typedef struct
{
ULONG Size;
PVOID Context;
PUSBAUDIO_ALLOC Alloc;
PUSBAUDIO_FREE Free;
PUSBAUDIO_COPY Copy;
}USBAUDIO_CONTEXT, *PUSBAUDIO_CONTEXT;
USBAUDIO_STATUS
UsbAudio_InitializeContext(
IN PUSBAUDIO_CONTEXT Context,
IN PUSBAUDIO_ALLOC Alloc,
IN PUSBAUDIO_FREE Free,
IN PUSBAUDIO_COPY Copy);
USBAUDIO_STATUS
UsbAudio_ParseConfigurationDescriptor(
IN PUSBAUDIO_CONTEXT Context,
IN PUCHAR ConfigurationDescriptor,
IN ULONG ConfigurationDescriptorSize);
USBAUDIO_STATUS
UsbAudio_GetFilter(
IN PUSBAUDIO_CONTEXT Context,
OUT PVOID * OutFilterDescriptor);