Tizen 2.1 base
[platform/upstream/gcd.git] / dispatch-1.0 / src / protocol.defs
1 /*
2  * Copyright (c) 2009 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  * Copyright (c) 2008-2009 Apple Inc. All rights reserved.
22  */
23
24 #include <mach/std_types.defs>
25 #include <mach/mach_types.defs>
26
27 // '64' is used to align with Mach notifications and so that we don't fight with the notify symbols in Libsystem
28 subsystem libdispatch_internal_protocol 64;
29
30 serverprefix _dispatch_;
31 userprefix _dispatch_send_;
32
33 skip;   /* was MACH_NOTIFY_FIRST: 64 */
34
35 /* MACH_NOTIFY_PORT_DELETED: 65 */
36 simpleroutine
37 mach_notify_port_deleted(
38                                 _notify : mach_port_move_send_once_t;
39                                 _name   : mach_port_name_t
40 );
41
42 skip;   /* was MACH_NOTIFY_MSG_ACCEPTED: 66 */
43
44 skip;   /* was NOTIFY_OWNERSHIP_RIGHTS: 67 */
45
46 skip;   /* was NOTIFY_RECEIVE_RIGHTS: 68 */
47
48 /* MACH_NOTIFY_PORT_DESTROYED: 69 */
49 simpleroutine
50 mach_notify_port_destroyed(
51                                 _notify : mach_port_move_send_once_t;
52                                 _rights : mach_port_move_receive_t
53 );
54
55 /* MACH_NOTIFY_NO_SENDERS: 70 */
56 simpleroutine
57 mach_notify_no_senders(
58                                 _notify : mach_port_move_send_once_t;
59                                 _mscnt  : mach_port_mscount_t
60 );
61
62 /* MACH_NOTIFY_SEND_ONCE: 71 */
63 simpleroutine
64 mach_notify_send_once(
65                                 _notify : mach_port_move_send_once_t
66 );
67
68 /* MACH_NOTIFY_DEAD_NAME: 72 */
69 simpleroutine
70 mach_notify_dead_name(
71                                 _notify : mach_port_move_send_once_t;
72                                 _name   : mach_port_name_t
73 );
74
75 /* highly unlikely additional Mach notifications */
76 skip;
77 skip;
78 skip;
79 skip;
80 skip;
81
82 simpleroutine
83 wakeup_main_thread(
84                                 _port                   : mach_port_t;
85         WaitTime        _waitTimeout    : natural_t
86 );
87
88 simpleroutine
89 consume_send_once_right(
90                                 _port                   : mach_port_move_send_once_t
91 );