X-Git-Url: https://git.saurik.com/apple/xnu.git/blobdiff_plain/b0d623f7f2ae71ed96e60569f61f9a9a27016e80..4bd07ac2140668789aa3ee8ec4dde4a3e0a3bba5:/osfmk/device/device.defs diff --git a/osfmk/device/device.defs b/osfmk/device/device.defs index 31da78748..94c706eff 100644 --- a/osfmk/device/device.defs +++ b/osfmk/device/device.defs @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000 Apple Computer, Inc. All rights reserved. + * Copyright (c) 1998-2014 Apple Computer, Inc. All rights reserved. * * @APPLE_OSREFERENCE_LICENSE_HEADER_START@ * @@ -68,6 +68,10 @@ subsystem #endif /* KERNEL_SERVER */ iokit 2800; +#if IOKITSIMD || KERNEL_SERVER +#define IOKIT_ALL_IPC 1 +#endif + #include #include #include @@ -88,6 +92,7 @@ type reply_port_t = MACH_MSG_TYPE_MAKE_SEND_ONCE | polymorphic type io_name_t = c_string[*:128]; type io_string_t = c_string[*:512]; +type io_string_inband_t = c_string[*:4096]; type io_struct_inband_t = array[*:4096] of char; type io_buf_ptr_t = ^array[] of MACH_MSG_TYPE_INTEGER_8; type NDR_record_t = struct[8] of char; @@ -215,12 +220,14 @@ routine io_registry_entry_get_parent_iterator( out iterator : io_object_t ); -routine io_service_open( +skip; +/* was routine io_service_open service : io_object_t; in owningTask : task_t; in connect_type : uint32_t; out connection : io_connect_t ); +*/ routine io_service_close( connection : io_connect_t @@ -231,7 +238,7 @@ routine io_connect_get_service( out service : io_object_t ); -#if KERNEL_SERVER || __ILP32__ +#if IOKIT_ALL_IPC || __ILP32__ routine io_connect_set_notification_port( connection : io_connect_t; in notification_type : uint32_t; @@ -243,7 +250,7 @@ routine io_connect_map_memory( connection : io_connect_t; in memory_type : uint32_t; in into_task : task_t; -#if KERNEL_SERVER +#if IOKIT_ALL_IPC inout address : uint32_t; inout size : uint32_t; #else @@ -268,7 +275,7 @@ routine io_connect_set_properties( out result : kern_return_t ); -#if KERNEL_SERVER || (__ILP32__ && !MAP_32B_METHODS) +#if IOKIT_ALL_IPC || __ILP32__ routine io_connect_method_scalarI_scalarO( connection : io_connect_t; in selector : uint32_t; @@ -353,13 +360,15 @@ routine io_iterator_is_valid( out is_valid : boolean_t ); -routine io_make_matching( +skip; +/* was routine io_make_matching( master_port : mach_port_t; in of_type : uint32_t; in options : uint32_t; in input : io_struct_inband_t; out matching : io_string_t ); +*/ routine io_catalog_send_data( master_port : mach_port_t; @@ -412,7 +421,7 @@ routine io_service_match_property_table( out matches : boolean_t ); -#if KERNEL_SERVER || (__ILP32__ && !MAP_32B_ASYNC_METHODS) +#if IOKIT_ALL_IPC || __ILP32__ routine io_async_method_scalarI_scalarO( connection : io_connect_t; in wake_port : mach_port_make_send_t; @@ -452,7 +461,7 @@ skip; skip; #endif -#if KERNEL_SERVER || __ILP32__ +#if IOKIT_ALL_IPC || __ILP32__ routine io_service_add_notification( master_port : mach_port_t; in notification_type : io_name_t; @@ -485,12 +494,12 @@ routine io_connect_get_notification_semaphore( out semaphore : semaphore_t ); -#if KERNEL_SERVER || __ILP32__ +#if IOKIT_ALL_IPC || __ILP32__ routine io_connect_unmap_memory( connection : io_connect_t; in memory_type : uint32_t; in into_task : task_t; -#if KERNEL_SERVER +#if IOKIT_ALL_IPC in address : uint32_t #else in address : vm_address_t @@ -535,7 +544,7 @@ routine io_service_match_property_table_ool( out matches : boolean_t ); -#if KERNEL_SERVER || __ILP32__ +#if IOKIT_ALL_IPC || __ILP32__ routine io_service_add_notification_ool( master_port : mach_port_t; in notification_type : io_name_t; @@ -599,8 +608,8 @@ routine io_connect_method( in ool_input : mach_vm_address_t; in ool_input_size : mach_vm_size_t; - out scalar_output : io_scalar_inband64_t, CountInOut; 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 ); @@ -616,16 +625,16 @@ routine io_connect_async_method( in ool_input : mach_vm_address_t; in ool_input_size : mach_vm_size_t; - out scalar_output : io_scalar_inband64_t, CountInOut; 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 IOKIT_ALL_IPC || __LP64__ -#if KERNEL_SERVER +#if IOKIT_ALL_IPC #define FUNC_NAME(name) name ## _64 #else #define FUNC_NAME(name) name @@ -665,14 +674,140 @@ routine FUNC_NAME(io_service_add_notification_ool)( out notification : io_object_t ); +#else + + skip; + skip; + skip; + skip; -#endif /* KERNEL_SERVER || __LP64__ */ +#endif /* IOKIT_ALL_IPC || __LP64__ */ routine io_registry_entry_get_registry_entry_id( registry_entry : io_object_t; out entry_id : uint64_t ); +routine io_connect_method_var_output( + 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; + out var_output : io_buf_ptr_t, physicalcopy + ); + +routine io_service_get_matching_service( + master_port : mach_port_t; + in matching : io_string_t; + out service : io_object_t + ); + +routine io_service_get_matching_service_ool( + master_port : mach_port_t; + in matching : io_buf_ptr_t, physicalcopy; + out result : kern_return_t; + out service : io_object_t + ); + +routine io_service_get_authorization_id( + service : io_object_t; + out authorization_id : uint64_t + ); + +routine io_service_set_authorization_id( + service : io_object_t; + in authorization_id : uint64_t + ); + +/* */ + +routine io_server_version( + master_port : mach_port_t; + out version : uint64_t + ); + +routine io_registry_entry_get_properties_bin( + registry_entry : io_object_t; + out properties : io_buf_ptr_t, physicalcopy + ); + +routine io_registry_entry_get_property_bin( + registry_entry : io_object_t; + in plane : io_name_t; + in property_name : io_name_t; + in options : uint32_t; + out properties : io_buf_ptr_t, physicalcopy + ); + +routine io_service_get_matching_service_bin( + master_port : mach_port_t; + in matching : io_struct_inband_t; + out service : io_object_t + ); + +routine io_service_get_matching_services_bin( + master_port : mach_port_t; + in matching : io_struct_inband_t; + out existing : io_object_t + ); + +routine io_service_match_property_table_bin( + service : io_object_t; + in matching : io_struct_inband_t; + out matches : boolean_t + ); + +#if IOKIT_ALL_IPC || __ILP32__ +routine io_service_add_notification_bin( + master_port : mach_port_t; + in notification_type : io_name_t; + in matching : io_struct_inband_t; + in wake_port : mach_port_make_send_t; + in reference : io_async_ref_t; + out notification : io_object_t + ); +#else +skip; +#endif + +#if IOKIT_ALL_IPC || __LP64__ +routine FUNC_NAME(io_service_add_notification_bin)( + master_port : mach_port_t; + in notification_type : io_name_t; + in matching : io_struct_inband_t; + in wake_port : mach_port_make_send_t; + in reference : io_async_ref64_t; + out notification : io_object_t + ); +#else +skip; +#endif + +#if !IOKITSIMD + +routine io_registry_entry_get_path_ool( + registry_entry : io_object_t; + in plane : io_name_t; + out path : io_string_inband_t; + out path_ool : io_buf_ptr_t, physicalcopy + ); + +routine io_registry_entry_from_path_ool( + master_port : mach_port_t; + in path : io_string_inband_t; + in path_ool : io_buf_ptr_t, physicalcopy; + out result : kern_return_t; + out registry_entry : io_object_t + ); + +#endif + #endif /* IOKIT */ /* vim: set ft=c : */