--- Gnu-Mach/ipc/ipc_object.h 2020/09/02 04:42:35 1.1.1.2 +++ Gnu-Mach/ipc/ipc_object.h 2020/09/02 04:45:05 1.1.1.3 @@ -34,13 +34,12 @@ #ifndef _IPC_IPC_OBJECT_H_ #define _IPC_IPC_OBJECT_H_ -#include - #include #include +#include #include #include -#include +#include typedef unsigned int ipc_object_refs_t; typedef unsigned int ipc_object_bits_t; @@ -58,7 +57,7 @@ typedef struct ipc_object { #define IO_VALID(io) (((io) != IO_NULL) && ((io) != IO_DEAD)) #define IO_BITS_KOTYPE 0x0000ffff /* used by the object */ -#define IO_BITS_OTYPE 0x7fff0000 /* determines a zone */ +#define IO_BITS_OTYPE 0x7fff0000 /* determines a cache */ #define IO_BITS_ACTIVE 0x80000000U /* is object alive? */ #define io_active(io) ((int)(io)->io_bits < 0) /* hack */ @@ -76,13 +75,13 @@ typedef struct ipc_object { #define IOT_PORT_SET 1 #define IOT_NUMBER 2 /* number of types used */ -extern zone_t ipc_object_zones[IOT_NUMBER]; +extern struct kmem_cache ipc_object_caches[IOT_NUMBER]; #define io_alloc(otype) \ - ((ipc_object_t) zalloc(ipc_object_zones[(otype)])) + ((ipc_object_t) kmem_cache_alloc(&ipc_object_caches[(otype)])) #define io_free(otype, io) \ - zfree(ipc_object_zones[(otype)], (vm_offset_t) (io)) + kmem_cache_free(&ipc_object_caches[(otype)], (vm_offset_t) (io)) #define io_lock_init(io) simple_lock_init(&(io)->io_lock_data) #define io_lock(io) simple_lock(&(io)->io_lock_data) @@ -109,84 +108,60 @@ MACRO_BEGIN \ MACRO_END extern void -ipc_object_reference(/* ipc_object_t */); +ipc_object_reference(ipc_object_t); extern void -ipc_object_release(/* ipc_object_t */); +ipc_object_release(ipc_object_t); extern kern_return_t -ipc_object_translate(/* ipc_space_t, mach_port_t, - mach_port_right_t, ipc_object_t * */); +ipc_object_translate(ipc_space_t, mach_port_t, + mach_port_right_t, ipc_object_t *); extern kern_return_t -ipc_object_alloc_dead(/* ipc_space_t, mach_port_t * */); +ipc_object_alloc_dead(ipc_space_t, mach_port_t *); extern kern_return_t -ipc_object_alloc_dead_name(/* ipc_space_t, mach_port_t */); +ipc_object_alloc_dead_name(ipc_space_t, mach_port_t); extern kern_return_t -ipc_object_alloc(/* ipc_space_t, ipc_object_type_t, - mach_port_type_t, mach_port_urefs_t, - mach_port_t *, ipc_object_t * */); +ipc_object_alloc(ipc_space_t, ipc_object_type_t, + mach_port_type_t, mach_port_urefs_t, + mach_port_t *, ipc_object_t *); extern kern_return_t -ipc_object_alloc_name(/* ipc_space_t, ipc_object_type_t, - mach_port_type_t, mach_port_urefs_t, - mach_port_t, ipc_object_t * */); +ipc_object_alloc_name(ipc_space_t, ipc_object_type_t, + mach_port_type_t, mach_port_urefs_t, + mach_port_t, ipc_object_t *); extern mach_msg_type_name_t -ipc_object_copyin_type(/* mach_msg_type_name_t */); +ipc_object_copyin_type(mach_msg_type_name_t); extern kern_return_t -ipc_object_copyin(/* ipc_space_t, mach_port_t, - mach_msg_type_name_t, ipc_object_t * */); +ipc_object_copyin(ipc_space_t, mach_port_t, + mach_msg_type_name_t, ipc_object_t *); extern void -ipc_object_copyin_from_kernel(/* ipc_object_t, mach_msg_type_name_t */); +ipc_object_copyin_from_kernel(ipc_object_t, mach_msg_type_name_t); extern void -ipc_object_destroy(/* ipc_object_t, mach_msg_type_name_t */); +ipc_object_destroy(ipc_object_t, mach_msg_type_name_t); extern kern_return_t -ipc_object_copyout(/* ipc_space_t, ipc_object_t, - mach_msg_type_name_t, boolean_t, mach_port_t * */); +ipc_object_copyout(ipc_space_t, ipc_object_t, + mach_msg_type_name_t, boolean_t, mach_port_t *); extern kern_return_t -ipc_object_copyout_name(/* ipc_space_t, ipc_object_t, - mach_msg_type_name_t, boolean_t, mach_port_t */); +ipc_object_copyout_name(ipc_space_t, ipc_object_t, + mach_msg_type_name_t, boolean_t, mach_port_t); extern void -ipc_object_copyout_dest(/* ipc_space_t, ipc_object_t, - mach_msg_type_name_t, mach_port_t * */); +ipc_object_copyout_dest(ipc_space_t, ipc_object_t, + mach_msg_type_name_t, mach_port_t *); extern kern_return_t -ipc_object_rename(/* ipc_space_t, mach_port_t, mach_port_t */); - -#if MACH_IPC_COMPAT - -extern mach_msg_type_name_t -ipc_object_copyout_type_compat(/* mach_msg_type_name_t */); - -extern kern_return_t -ipc_object_copyin_compat(/* ipc_space_t, mach_port_t, - mach_msg_type_name_t, boolean_t, - ipc_object_t * */); - -extern kern_return_t -ipc_object_copyin_header(/* ipc_space_t, mach_port_t, - ipc_object_t *, mach_msg_type_name_t * */); - -extern kern_return_t -ipc_object_copyout_compat(/* ipc_space_t, ipc_object_t, - mach_msg_type_name_t, mach_port_t * */); - -extern kern_return_t -ipc_object_copyout_name_compat(/* ipc_space_t, ipc_object_t, - mach_msg_type_name_t, mach_port_t */); - -#endif /* MACH_IPC_COMPAT */ +ipc_object_rename(ipc_space_t, mach_port_t, mach_port_t); extern void -ipc_object_print(/* ipc_object_t */); +ipc_object_print(ipc_object_t); #endif /* _IPC_IPC_OBJECT_H_ */