]> git.saurik.com Git - apple/libdispatch.git/blob - src/protocol.defs
libdispatch-339.92.1.tar.gz
[apple/libdispatch.git] / src / protocol.defs
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
26 subsystem libdispatch_internal_protocol 64;
27
28 serverprefix _dispatch_;
29 userprefix _dispatch_send_;
30
31 skip; /* was MACH_NOTIFY_FIRST: 64 */
32
33 /* MACH_NOTIFY_PORT_DELETED: 65 */
34 simpleroutine
35 mach_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 */
41 simpleroutine
42 mach_notify_send_possible(
43 _notify : mach_port_move_send_once_t;
44 _name : mach_port_name_t
45 );
46
47 skip; /* was NOTIFY_OWNERSHIP_RIGHTS: 67 */
48
49 skip; /* was NOTIFY_RECEIVE_RIGHTS: 68 */
50
51 /* MACH_NOTIFY_PORT_DESTROYED: 69 */
52 simpleroutine
53 mach_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 */
59 simpleroutine
60 mach_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 */
66 simpleroutine
67 mach_notify_send_once(
68 _notify : mach_port_move_send_once_t
69 );
70
71 /* MACH_NOTIFY_DEAD_NAME: 72 */
72 simpleroutine
73 mach_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 */
79 skip;
80 skip;
81 skip;
82 skip;
83 skip;
84
85 simpleroutine
86 wakeup_runloop_thread(
87 _port : mach_port_t;
88 WaitTime _waitTimeout : natural_t
89 );
90
91 simpleroutine
92 consume_send_once_right(
93 _port : mach_port_move_send_once_t
94 );