#ifndef _IOKIT_IOAUDIOTYPES_H
#define _IOKIT_IOAUDIOTYPES_H

#include <libkern/OSTypes.h>
#include <mach/message.h>
#include <device/device_types.h>
#include <IOKit/ndrvsupport/IOMacOSTypes.h>

/*IOAudioStreamFormat

typedef struct _IOAudioStreamFormat { 
    UInt32 fNumChannels; 
    UInt32 fSampleFormat; 
    UInt32 fNumericRepresentation; 
    UInt8 fBitDepth; 
    UInt8 fBitWidth; 
    UInt8 fAlignment; 
    UInt8 fByteOrder; 
    UInt8 fIsMixable; 
    UInt32 fDriverTag; 
} IOAudioStreamFormat;  
Discussion 

This structure describes the format of an audio stream.*/
typedef struct _IOAudioStreamFormat { 
    UInt32 fNumChannels; 
    UInt32 fSampleFormat; 
    UInt32 fNumericRepresentation; 
    UInt8 fBitDepth; 
    UInt8 fBitWidth; 
    UInt8 fAlignment; 
    UInt8 fByteOrder; 
    UInt8 fIsMixable; 
    UInt32 fDriverTag; 
} IOAudioStreamFormat;  

/*IOAudioSampleRate

typedef struct _IOAudioSampleRate { 
    UInt32 whole; 
    UInt32 fraction; 
} IOAudioSampleRate;  
Discussion 

Audio Sample Rate (expressed as a whole part and fractional part)*/
typedef struct _IOAudioSampleRate { 
    UInt32 whole; 
    UInt32 fraction; 
} IOAudioSampleRate;  

#endif
