+routine io_service_get_state(
+ service : io_object_t;
+ out state : uint64_t;
+ out busy_state : uint32_t;
+ out accumulated_busy_time : uint64_t
+ );
+
+routine io_service_get_matching_services_ool(
+ master_port : mach_port_t;
+ in matching : io_buf_ptr_t, physicalcopy;
+ out result : kern_return_t;
+ out existing : io_object_t
+ );
+
+routine io_service_match_property_table_ool(
+ service : io_object_t;
+ in matching : io_buf_ptr_t, physicalcopy;
+ out result : kern_return_t;
+ out matches : boolean_t
+ );
+
+#if KERNEL_SERVER || __ILP32__
+routine io_service_add_notification_ool(
+ master_port : mach_port_t;
+ in notification_type : io_name_t;
+ in matching : io_buf_ptr_t, physicalcopy;
+ in wake_port : mach_port_make_send_t;
+ in reference : io_async_ref_t;
+ out result : kern_return_t;
+ out notification : io_object_t
+ );
+#else
+skip;
+#endif
+
+routine io_object_get_superclass(
+ master_port : mach_port_t;
+ in obj_name : io_name_t;
+ out class_name : io_name_t
+ );
+
+routine io_object_get_bundle_identifier(
+ master_port : mach_port_t;
+ in obj_name : io_name_t;
+ out class_name : io_name_t
+ );
+
+routine io_service_open_extended(
+ service : io_object_t;
+ in owningTask : task_t;
+ in connect_type : uint32_t;
+ in ndr : NDR_record_t;
+ in properties : io_buf_ptr_t, physicalcopy;
+ out result : kern_return_t;
+ out connection : io_connect_t
+ );
+
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+
+routine io_connect_map_memory_into_task(
+ connection : io_connect_t;
+ in memory_type : uint32_t;
+ in into_task : task_t;
+ inout address : mach_vm_address_t;
+ inout size : mach_vm_size_t;
+ in flags : uint32_t
+ );
+
+routine io_connect_unmap_memory_from_task(
+ connection : io_connect_t;
+ in memory_type : uint32_t;
+ in from_task : task_t;
+ in address : mach_vm_address_t
+ );
+
+routine io_connect_method(
+ connection : io_connect_t;
+ in selector : uint32_t;
+
+ in scalar_input : io_scalar_inband64_t;
+ in inband_input : io_struct_inband_t;
+ in ool_input : mach_vm_address_t;
+ in ool_input_size : mach_vm_size_t;
+
+ out inband_output : io_struct_inband_t, CountInOut;
+ out scalar_output : io_scalar_inband64_t, CountInOut;
+ in ool_output : mach_vm_address_t;
+ inout ool_output_size : mach_vm_size_t
+ );
+
+routine io_connect_async_method(
+ connection : io_connect_t;
+ in wake_port : mach_port_make_send_t;
+ in reference : io_async_ref64_t;
+ in selector : uint32_t;
+
+ in scalar_input : io_scalar_inband64_t;
+ in inband_input : io_struct_inband_t;
+ in ool_input : mach_vm_address_t;
+ in ool_input_size : mach_vm_size_t;
+
+ out inband_output : io_struct_inband_t, CountInOut;
+ out scalar_output : io_scalar_inband64_t, CountInOut;
+ in ool_output : mach_vm_address_t;
+ inout ool_output_size : mach_vm_size_t
+ );
+
+
+#if KERNEL_SERVER || __LP64__
+
+#if KERNEL_SERVER
+#define FUNC_NAME(name) name ## _64
+#else
+#define FUNC_NAME(name) name