/*
- * Copyright (c) 2000 Apple Computer, Inc. All rights reserved.
+ * Copyright (c) 2000-2004 Apple Computer, Inc. All rights reserved.
*
* @APPLE_LICENSE_HEADER_START@
*
- * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved.
+ * The contents of this file constitute Original Code as defined in and
+ * are subject to the Apple Public Source License Version 1.1 (the
+ * "License"). You may not use this file except in compliance with the
+ * License. Please obtain a copy of the License at
+ * http://www.apple.com/publicsource and read it before using this file.
*
- * This file contains Original Code and/or Modifications of Original Code
- * as defined in and that are subject to the Apple Public Source License
- * Version 2.0 (the 'License'). You may not use this file except in
- * compliance with the License. Please obtain a copy of the License at
- * http://www.opensource.apple.com/apsl/ and read it before using this
- * file.
- *
- * The Original Code and all software distributed under the License are
- * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+ * This Original Code and all software distributed under the License are
+ * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER
* EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
* INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
- * Please see the License for the specific language governing rights and
- * limitations under the License.
+ * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the
+ * License for the specific language governing rights and limitations
+ * under the License.
*
* @APPLE_LICENSE_HEADER_END@
*/
#include <mach_rt.h>
+#include <mach/mach_types.h>
#include <mach/boolean.h>
#include <mach/kern_return.h>
#include <mach/port.h>
#include <mach/message.h>
+
+#include <kern/kern_types.h>
#include <kern/misc_protos.h>
+
+#include <ipc/ipc_types.h>
#include <ipc/port.h>
#include <ipc/ipc_space.h>
#include <ipc/ipc_entry.h>
ipc_entry_t entry;
kern_return_t kr;
- int i;
-
-
kr = ipc_entry_alloc(space, namep, &entry);
if (kr != KERN_SUCCESS)
return kr;
ipc_entry_t entry;
kern_return_t kr;
- int i;
-
-
kr = ipc_entry_alloc_name(space, name, &entry);
if (kr != KERN_SUCCESS)
return kr;
ipc_port_t soright;
kern_return_t kr;
- int i;
-
/*
* Could first try a read lock when doing
* MACH_MSG_TYPE_COPY_SEND, MACH_MSG_TYPE_MAKE_SEND,
case MACH_MSG_TYPE_MOVE_SEND: {
/* move naked send right into the message */
- ipc_port_t port = (ipc_port_t) object;
- assert(port->ip_srights);
+ assert(((ipc_port_t)object)->ip_srights);
break;
}
case MACH_MSG_TYPE_MOVE_SEND_ONCE: {
/* move naked send-once right into the message */
- ipc_port_t port = (ipc_port_t) object;
- assert(port->ip_sorights);
+ assert(((ipc_port_t)object)->ip_sorights);
break;
}
ipc_entry_t entry;
kern_return_t kr;
- int i;
-
assert(IO_VALID(object));
assert(io_otype(object) == IOT_PORT);
default:
panic("ipc_object_copyout_dest: strange rights");
+ name = MACH_PORT_DEAD;
}
*namep = name;
ipc_entry_t oentry, nentry;
kern_return_t kr;
- int i;
-
kr = ipc_entry_alloc_name(space, nname, &nentry);
if (kr != KERN_SUCCESS)
return kr;
ipc_port_track_dealloc(port);
#endif /* MACH_ASSERT */
}
- zfree(ipc_object_zones[otype], (vm_offset_t) object);
+ zfree(ipc_object_zones[otype], object);
}
#endif /* MACH_ASSERT */
#if MACH_KDB
#include <ddb/db_output.h>
+#include <kern/ipc_kobject.h>
#define printf kdbprintf
* Pretty-print an object for kdb.
*/
-char *ikot_print_array[IKOT_MAX_TYPE] = {
+const char *ikot_print_array[IKOT_MAX_TYPE] = {
"(NONE) ",
"(THREAD) ",
"(TASK) ",
"(IOKIT_CONNECT) ",
"(IOKIT_OBJECT) ", /* 30 */
"(UPL) ",
- /* << new entries here */
+ "(MEM_OBJ_CONTROL) ",
+/*
+ * Add new entries here.
+ * Please keep in sync with kern/ipc_kobject.h
+ */
"(UNKNOWN) " /* magic catchall */
};
-/* Please keep in sync with kern/ipc_kobject.h */
void
ipc_object_print(