#ifndef __DISKARBITRATIOND_DASUPPORT__
#define __DISKARBITRATIOND_DASUPPORT__
#include <CoreFoundation/CoreFoundation.h>
#include "DADisk.h"
#include "DAInternal.h"
#ifdef __cplusplus
extern "C" {
#endif
typedef void ( *DAAuthorizeCallback )( DAReturn status, void * context );
extern DAReturn DAAuthorize( DASessionRef session,
_DAAuthorizeOptions options,
DADiskRef disk,
uid_t userUID,
gid_t userGID,
const char * right );
extern void DAAuthorizeWithCallback( DASessionRef session,
_DAAuthorizeOptions options,
DADiskRef disk,
uid_t userUID,
gid_t userGID,
DAAuthorizeCallback callback,
void * callbackContext,
const char * right );
extern const CFStringRef kDAFileSystemKey;
extern void DAFileSystemListRefresh( void );
extern const CFStringRef kDAMountMapMountAutomaticKey;
extern const CFStringRef kDAMountMapMountOptionsKey;
extern const CFStringRef kDAMountMapMountPathKey;
extern const CFStringRef kDAMountMapProbeIDKey;
extern const CFStringRef kDAMountMapProbeKindKey;
extern void DAMountMapListRefresh1( void );
extern void DAMountMapListRefresh2( void );
extern const CFStringRef kDAPreferenceMountDeferExternalKey;
extern const CFStringRef kDAPreferenceMountDeferInternalKey;
extern const CFStringRef kDAPreferenceMountDeferRemovableKey;
extern const CFStringRef kDAPreferenceMountTrustExternalKey;
extern const CFStringRef kDAPreferenceMountTrustInternalKey;
extern const CFStringRef kDAPreferenceMountTrustRemovableKey;
extern void DAPreferenceListRefresh( void );
enum
{
_kDAUnitStateHasAPFS = 0x00000010,
kDAUnitStateCommandActive = 0x00000001,
kDAUnitStateHasQuiesced = 0x00000002,
kDAUnitStateHasQuiescedNoTimeout = 0x00000004,
kDAUnitStateStagedUnreadable = 0x00010000
};
typedef UInt32 DAUnitState;
extern Boolean DAUnitGetState( DADiskRef disk, DAUnitState state );
extern Boolean DAUnitGetStateRecursively( DADiskRef disk, DAUnitState state );
extern void DAUnitSetState( DADiskRef disk, DAUnitState state, Boolean value );
#ifdef __cplusplus
}
#endif
#endif