1/* 2 * Copyright (c) 2000-2001,2004 Apple Computer, 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#ifndef _notify_user_ 26#define _notify_user_ 27 28/* Module notify */ 29 30#include <string.h> 31#include <mach/ndr.h> 32#include <mach/boolean.h> 33#include <mach/kern_return.h> 34#include <mach/notify.h> 35#include <mach/mach_types.h> 36#include <mach/message.h> 37#include <mach/mig_errors.h> 38#include <mach/port.h> 39 40#ifdef AUTOTEST 41#ifndef FUNCTION_PTR_T 42#define FUNCTION_PTR_T 43typedef void (*function_ptr_t)(mach_port_t, char *, mach_msg_type_number_t); 44typedef struct { 45 char *name; 46 function_ptr_t function; 47} function_table_entry; 48typedef function_table_entry *function_table_t; 49#endif /* FUNCTION_PTR_T */ 50#endif /* AUTOTEST */ 51 52#ifndef notify_MSG_COUNT 53#define notify_MSG_COUNT 9 54#endif /* notify_MSG_COUNT */ 55 56#include <mach/std_types.h> 57 58#ifdef __BeforeMigUserHeader 59__BeforeMigUserHeader 60#endif /* __BeforeMigUserHeader */ 61 62 63/* SimpleRoutine mach_notify_port_deleted */ 64#ifdef mig_external 65mig_external 66#else 67extern 68#endif /* mig_external */ 69kern_return_t mach_notify_port_deleted 70( 71 mach_port_t notify, 72 mach_port_name_t name 73); 74 75/* SimpleRoutine mach_notify_port_destroyed */ 76#ifdef mig_external 77mig_external 78#else 79extern 80#endif /* mig_external */ 81kern_return_t mach_notify_port_destroyed 82( 83 mach_port_t notify, 84 mach_port_t rights, 85 mach_msg_type_name_t rightsPoly 86); 87 88/* SimpleRoutine mach_notify_no_senders */ 89#ifdef mig_external 90mig_external 91#else 92extern 93#endif /* mig_external */ 94kern_return_t mach_notify_no_senders 95( 96 mach_port_t notify, 97 mach_port_mscount_t mscount 98); 99 100/* SimpleRoutine mach_notify_send_once */ 101#ifdef mig_external 102mig_external 103#else 104extern 105#endif /* mig_external */ 106kern_return_t mach_notify_send_once 107( 108 mach_port_t notify 109); 110 111/* SimpleRoutine mach_notify_dead_name */ 112#ifdef mig_external 113mig_external 114#else 115extern 116#endif /* mig_external */ 117kern_return_t mach_notify_dead_name 118( 119 mach_port_t notify, 120 mach_port_name_t name 121); 122 123#ifndef subsystem_to_name_map_notify 124#define subsystem_to_name_map_notify \ 125 { "mach_notify_port_deleted", 65 },\ 126 { "mach_notify_port_destroyed", 69 },\ 127 { "mach_notify_no_senders", 70 },\ 128 { "mach_notify_send_once", 71 },\ 129 { "mach_notify_dead_name", 72 } 130#endif 131 132#ifdef __AfterMigUserHeader 133__AfterMigUserHeader 134#endif /* __AfterMigUserHeader */ 135 136#endif /* _notify_user_ */ 137