#ifndef __DISKARBITRATIOND_DACALLBACK__
#define __DISKARBITRATIOND_DACALLBACK__
#include <CoreFoundation/CoreFoundation.h>
#include "DADisk.h"
#include "DAInternal.h"
#include "DASession.h"
#ifdef __cplusplus
extern "C" {
#endif
extern DACallbackRef DACallbackCreate( CFAllocatorRef allocator,
DASessionRef session,
vm_offset_t address,
vm_offset_t context,
_DACallbackKind kind,
CFIndex order,
CFDictionaryRef match,
CFArrayRef watch );
extern DACallbackRef DACallbackCreateCopy( CFAllocatorRef allocator, DACallbackRef callback );
extern vm_offset_t DACallbackGetAddress( DACallbackRef callback );
extern CFTypeRef DACallbackGetArgument0( DACallbackRef callback );
extern CFTypeRef DACallbackGetArgument1( DACallbackRef callback );
extern vm_offset_t DACallbackGetContext( DACallbackRef callback );
extern DADiskRef DACallbackGetDisk( DACallbackRef callback );
extern _DACallbackKind DACallbackGetKind( DACallbackRef callback );
extern CFDictionaryRef DACallbackGetMatch( DACallbackRef callback );
extern SInt32 DACallbackGetOrder( DACallbackRef callback );
extern DASessionRef DACallbackGetSession( DACallbackRef callback );
extern CFAbsoluteTime DACallbackGetTime( DACallbackRef callback );
extern CFArrayRef DACallbackGetWatch( DACallbackRef callback );
extern void DACallbackSetArgument0( DACallbackRef callback, CFTypeRef argument0 );
extern void DACallbackSetArgument1( DACallbackRef callback, CFTypeRef argument1 );
extern void DACallbackSetDisk( DACallbackRef callback, DADiskRef disk );
extern void DACallbackSetSession( DACallbackRef callback, DASessionRef session );
extern void DACallbackSetTime( DACallbackRef callback, CFAbsoluteTime time );
#ifdef __cplusplus
}
#endif
#endif