1/*
2 * Copyright (c) 2008-2013 Apple Inc. All rights reserved.
3 *
4 * @APPLE_APACHE_LICENSE_HEADER_START@
5 *
6 * Licensed under the Apache License, Version 2.0 (the "License");
7 * you may not use this file except in compliance with the License.
8 * You may obtain a copy of the License at
9 *
10 *     http://www.apache.org/licenses/LICENSE-2.0
11 *
12 * Unless required by applicable law or agreed to in writing, software
13 * distributed under the License is distributed on an "AS IS" BASIS,
14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 * See the License for the specific language governing permissions and
16 * limitations under the License.
17 *
18 * @APPLE_APACHE_LICENSE_HEADER_END@
19 */
20
21#include <mach/std_types.defs>
22#include <mach/mach_types.defs>
23
24// '64' is used to align with Mach notifications and so that we don't fight
25// with the notify symbols in Libsystem
26subsystem libdispatch_internal_protocol 64;
27
28serverprefix _dispatch_;
29userprefix _dispatch_send_;
30
31skip; /* was MACH_NOTIFY_FIRST: 64 */
32
33/* MACH_NOTIFY_PORT_DELETED: 65 */
34simpleroutine
35mach_notify_port_deleted(
36					_notify	: mach_port_move_send_once_t;
37					_name	: mach_port_name_t
38);
39
40/* MACH_NOTIFY_SEND_POSSIBLE: 66 */
41simpleroutine
42mach_notify_send_possible(
43					_notify	: mach_port_move_send_once_t;
44					_name	: mach_port_name_t
45);
46
47skip;   /* was NOTIFY_OWNERSHIP_RIGHTS: 67 */
48
49skip;   /* was NOTIFY_RECEIVE_RIGHTS: 68 */
50
51/* MACH_NOTIFY_PORT_DESTROYED: 69 */
52simpleroutine
53mach_notify_port_destroyed(
54					_notify	: mach_port_move_send_once_t;
55					_rights	: mach_port_move_receive_t
56);
57
58/* MACH_NOTIFY_NO_SENDERS: 70 */
59simpleroutine
60mach_notify_no_senders(
61					_notify	: mach_port_move_send_once_t;
62					_mscnt	: mach_port_mscount_t
63);
64
65/* MACH_NOTIFY_SEND_ONCE: 71 */
66simpleroutine
67mach_notify_send_once(
68					_notify	: mach_port_move_send_once_t
69);
70
71/* MACH_NOTIFY_DEAD_NAME: 72 */
72simpleroutine
73mach_notify_dead_name(
74					_notify	: mach_port_move_send_once_t;
75					_name	: mach_port_name_t
76);
77
78/* highly unlikely additional Mach notifications */
79skip;
80skip;
81skip;
82skip;
83skip;
84
85simpleroutine
86wakeup_runloop_thread(
87					_port	: mach_port_t;
88	WaitTime _waitTimeout	: natural_t
89);
90
91simpleroutine
92consume_send_once_right(
93					_port	: mach_port_move_send_once_t
94);
95