#if 0
#include <CoreFoundation/CoreFoundation.h>
#include <IOKit/IOKitLib.h>
#include <IOKit/audio/IOAudioLib.h>
#include <IOKit/iokitmig.h> // mig generated
kern_return_t
IOAudioIsOutput( io_service_t service, int *out)
{
kern_return_t kr;
CFDictionaryRef properties;
CFNumberRef number;
*out = false;
kr = IORegistryEntryCreateCFProperties(service, (CFTypeRef *) &properties,
kCFAllocatorDefault, kNilOptions);
if(kr || !properties)
return kr;
number = (CFNumberRef)
CFDictionaryGetValue(properties, CFSTR("Out"));
if( CFNumberGetTypeID() == CFGetTypeID(number))
CFNumberGetValue(number, kCFNumberIntType, out);
else
kr = kIOReturnInternalError;
CFRelease(properties);
return kr;
}
kern_return_t IOAudioFlush(io_connect_t connect, IOAudioStreamPosition *end)
{
mach_msg_type_number_t len = 0;
return io_connect_method_structureI_structureO(connect,
kCallFlush,
(char *)end,
sizeof(IOAudioStreamPosition),
NULL,
&len);
}
kern_return_t IOAudioSetErase(io_connect_t connect, int erase, int *oldVal)
{
kern_return_t kr;
mach_msg_type_number_t len = 1;
int old;
kr = io_connect_method_scalarI_scalarO(connect, kCallSetErase,
&erase, 1, &old, &len);
if(kr == kIOReturnSuccess)
*oldVal = !old;
return kr;
}
#endif