protocol.defs   [plain text]


/*
 * Copyright (c) 2009 Apple Inc. All rights reserved.
 *
 * @APPLE_APACHE_LICENSE_HEADER_START@
 * 
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 *     http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 * 
 * @APPLE_APACHE_LICENSE_HEADER_END@
 */
/*
 * Copyright (c) 2008-2009 Apple Inc. All rights reserved.
 */

#include <mach/std_types.defs>
#include <mach/mach_types.defs>

// '64' is used to align with Mach notifications and so that we don't fight with the notify symbols in Libsystem
subsystem libdispatch_internal_protocol 64;

serverprefix _dispatch_;
userprefix _dispatch_send_;

skip;	/* was MACH_NOTIFY_FIRST: 64 */

/* MACH_NOTIFY_PORT_DELETED: 65 */
simpleroutine
mach_notify_port_deleted(
				_notify	: mach_port_move_send_once_t;
				_name	: mach_port_name_t
);

skip;   /* was MACH_NOTIFY_MSG_ACCEPTED: 66 */

skip;   /* was NOTIFY_OWNERSHIP_RIGHTS: 67 */

skip;   /* was NOTIFY_RECEIVE_RIGHTS: 68 */

/* MACH_NOTIFY_PORT_DESTROYED: 69 */
simpleroutine
mach_notify_port_destroyed(
				_notify	: mach_port_move_send_once_t;
				_rights	: mach_port_move_receive_t
);

/* MACH_NOTIFY_NO_SENDERS: 70 */
simpleroutine
mach_notify_no_senders(
				_notify	: mach_port_move_send_once_t;
				_mscnt	: mach_port_mscount_t
);

/* MACH_NOTIFY_SEND_ONCE: 71 */
simpleroutine
mach_notify_send_once(
				_notify	: mach_port_move_send_once_t
);

/* MACH_NOTIFY_DEAD_NAME: 72 */
simpleroutine
mach_notify_dead_name(
				_notify	: mach_port_move_send_once_t;
				_name	: mach_port_name_t
);

/* highly unlikely additional Mach notifications */
skip;
skip;
skip;
skip;
skip;

simpleroutine
wakeup_main_thread(
				_port			: mach_port_t;
	WaitTime	_waitTimeout	: natural_t
);

simpleroutine
consume_send_once_right(
				_port			: mach_port_move_send_once_t
);