ServerToClient.defs [plain text]
subsystem ServerToClient 0;
#include <mach/std_types.defs>
import "DiskArbitrationTypes.h";
/*
-- TYPES
*/
/* Beware: these definitions must be kept synchronized with DiskArbitrationTypes.h */
type DiskArbDiskIdentifier = c_string[*:1024];
type DiskArbMountpoint = c_string[*:1024];
type DiskArbIOContent = c_string[*:1024];
type DiskArbDeviceTreePath = c_string[*:1024];
type DiskArbGenericString = c_string[*:1024];
type double = struct[2] of integer_t;
/*
-- Messages sent by the DiskArbitration Server to the Client
*/
/* Should be obsoleted */
simpleroutine DiskArbDiskAppearedWithoutMountpoint_rpc(
dest: mach_port_t;
in diskIdentifier: DiskArbDiskIdentifier;
in flags: unsigned);
/* Will remain */
simpleroutine DiskArbDiskAppearedWithMountpoint_rpc(
dest: mach_port_t;
in diskIdentifier: DiskArbDiskIdentifier;
in flags: unsigned;
in mountpoint: DiskArbMountpoint);
/* Will remain */
simpleroutine DiskArbDiskAppeared_rpc(
dest: mach_port_t;
in diskIdentifier: DiskArbDiskIdentifier;
in flags: unsigned;
in mountpoint: DiskArbMountpoint;
in ioContent: DiskArbIOContent);
simpleroutine DiskArbDiskAppeared2_rpc(
dest: mach_port_t;
in diskIdentifier: DiskArbDiskIdentifier;
in flags: unsigned;
in mountpoint: DiskArbMountpoint;
in ioContent: DiskArbIOContent;
in deviceTreePath: DiskArbDeviceTreePath;
in sequenceNumber: unsigned);
simpleroutine DiskArbDiskAppearedComplete_rpc(
dest: mach_port_t;
in diskIdentifier: DiskArbDiskIdentifier;
in flags: unsigned;
in mountpoint: DiskArbMountpoint;
in ioContent: DiskArbIOContent;
in deviceTreePath: DiskArbDeviceTreePath;
in sequenceNumber: unsigned;
in timeAppeared: double;
in fsType: DiskArbGenericString;
in fsName: DiskArbGenericString);
/*
-- Async unmount + eject
*/
simpleroutine DiskArbUnmountPreNotify_async_rpc(
dest: mach_port_t;
in diskIdentifier: DiskArbDiskIdentifier;
in flags: unsigned); /* ejected? forced? */
simpleroutine DiskArbUnmountPostNotify_async_rpc(
dest: mach_port_t;
in diskIdentifier: DiskArbDiskIdentifier;
in errorCode: int; /* did it succeed? was it ejected? */
in dissenter: int); /* the pid of the process that said no */
simpleroutine DiskArbEjectPreNotify_async_rpc(
dest: mach_port_t;
in diskIdentifier: DiskArbDiskIdentifier;
in flags: unsigned); /* ejected? forced? */
simpleroutine DiskArbEjectPostNotify_async_rpc(
dest: mach_port_t;
in diskIdentifier: DiskArbDiskIdentifier;
in errorCode: int; /* did it succeed? was it ejected? */
in dissenter: int); /* the pid of the process that said no */
/*
-- Client Disconnected
*/
simpleroutine DiskArbClientDisconnected_rpc(dest: mach_port_t);
/*
-- Blue Box boot volume
*/
/* Sends -1 if the seqno has not been set. */
simpleroutine DiskArbBlueBoxBootVolumeUpdated_async_rpc(
dest: mach_port_t;
in seqno: int);
/*
-- Disk Information Changed
*/
simpleroutine DiskArbDiskChanged_rpc(
dest: mach_port_t;
in diskIdentifier: DiskArbDiskIdentifier;
in newMountpoint: DiskArbMountpoint;
in newVolumeName: DiskArbMountpoint;
in flags: unsigned;
in success: int);
simpleroutine DiskArbPreviousCallFailed_rpc(
dest: mach_port_t;
in diskIdentifier: DiskArbDiskIdentifier;
in failedCallType: int;
in err: int);
simpleroutine DiskArbPreviousCallSucceeded_rpc(
dest: mach_port_t;
in diskIdentifier: DiskArbDiskIdentifier;
in succeededCallType: int);
simpleroutine DiskArbDiskWillBeChecked_rpc(
dest: mach_port_t;
in diskIdentifier: DiskArbDiskIdentifier;
in flags: unsigned;
in ioContent: DiskArbIOContent);
/*
-- "That's all for now" message
-- Sent out when adm has completed send any of the async calls or appeared calls
-- "for now"
*/
simpleroutine DiskArbNotificationComplete_rpc(
dest: mach_port_t;
in notificationType: int);
/*
-- Registration complete message
*/
simpleroutine DiskArbRegistrationComplete_rpc(
dest: mach_port_t);
/* -- Image/Device Arbitration -- */
simpleroutine DiskArbWillClientRelinquish_rpc (
dest: mach_port_t;
in diskIdentifier: DiskArbDiskIdentifier;
in toClientPid: int);
simpleroutine DiskArbDeviceReservationStatus_rpc (
dest: mach_port_t;
in diskIdentifier: DiskArbDiskIdentifier;
in status: int;
in pid: int);
/* -- Uninitialized Disk/Unrecognized Disk Arbitration -- */
simpleroutine DiskArbWillClientHandleUnrecognizedDisk_rpc (
dest: mach_port_t;
in diskIdentifier: DiskArbDiskIdentifier;
in diskType: int;
in fsType: DiskArbGenericString;
in deviceType: DiskArbGenericString;
in isWritable: int;
in isRemovable: int;
in isWhole: int);
/* -- Recognized Disk Notifications (should the disk mount at all?) -- */
simpleroutine DiskArbDiskApprovalPre_rpc (
dest: mach_port_t;
in diskIdentifier: DiskArbDiskIdentifier;
in volName: DiskArbMountpoint;
in ioContent: DiskArbGenericString;
in deviceTreePath: DiskArbGenericString;
in flags: unsigned;
in isWritable: int;
in isRemovable: int;
in isWhole: int;
in fsType: DiskArbGenericString);
/* 0 for no, 1 for yes, 2 for yes, but needs authentication */
/*
-- Unknown filesystem inserted ...
*/
simpleroutine DiskArbUnknownFileSystemInserted_rpc(
dest: mach_port_t;
in diskIdentifier: DiskArbDiskIdentifier;
in fsType: DiskArbGenericString;
in deviceType: DiskArbGenericString;
in isWritable: int;
in isRemovable: int;
in isWhole: int);