1/*
2 * Copyright (c) 2007 Apple Inc. All rights reserved.
3 *
4 * @APPLE_LICENSE_HEADER_START@
5 *
6 * This file contains Original Code and/or Modifications of Original Code
7 * as defined in and that are subject to the Apple Public Source License
8 * Version 2.0 (the 'License'). You may not use this file except in
9 * compliance with the License. Please obtain a copy of the License at
10 * http://www.opensource.apple.com/apsl/ and read it before using this
11 * file.
12 *
13 * The Original Code and all software distributed under the License are
14 * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
15 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
16 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
17 * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
18 * Please see the License for the specific language governing rights and
19 * limitations under the License.
20 *
21 * @APPLE_LICENSE_HEADER_END@
22 */
23
24/*
25 * FILE: kextmanager_async.defs
26 * AUTH: Soren Spies (sspies)
27 * DATE: 3 September 2007 (Copyright Apple, Inc)
28 * DESC: MiG definitions for kextd's async replies to waiting lockers
29 */
30
31#include <mach/std_types.defs>
32#include <mach/mach_types.defs>
33
34import <IOKit/kext/kextmanager_types.h>;
35
36// length must match MNAMELEN (sys/mount.h)
37#if __DARWIN_64_BIT_INO_T
38type mountpoint_t = array [MAXPATHLEN] of char;
39#else
40type mountpoint_t = array [90] of char;
41#endif
42
43subsystem kextmanager_reply 70100;      // +100 from kextmanager_mig.defs
44
45// skip aligns message IDs with IOKitUser/kext.subproj/kextmanager_mig.defs
46skip;   /* kextmanager_path_for_bundle_id */
47skip;   /* kextmanager_create_property_value_array */
48skip;   /* kextmanager_user_did_log_in */
49skip;   /* kextmanager_user_will_log_out */
50skip;   /* kextmanager_get_logged_in_userid */
51skip;   /* kextmanager_record_nonsecure_kextload */
52
53// replies to kextmanager_lock_reboot
54simpleroutine lock_reboot_reply(
55    replyPart   : mach_port_move_send_once_t;
56    rval        : kern_return_t, RetCode;
57    busyVol     : mountpoint_t;
58    busyStatus  : int);
59
60simpleroutine lock_volume_reply(
61    replyPart   : mach_port_move_send_once_t;
62    rval        : kern_return_t, RetCode;
63    lockStatus  : int);
64