@@ -105,6 +105,8 @@ pub type vm_statistics_data_t = vm_statistics;
105105pub type vm_statistics64_t = * mut vm_statistics64 ;
106106pub type vm_statistics64_data_t = vm_statistics64 ;
107107
108+ pub type sysdir_search_path_enumeration_state = :: c_uint ;
109+
108110pub type CCStatus = i32 ;
109111pub type CCCryptorStatus = i32 ;
110112pub type CCRNGStatus = :: CCCryptorStatus ;
@@ -140,6 +142,57 @@ impl ::Clone for qos_class_t {
140142 }
141143}
142144
145+ #[ cfg_attr( feature = "extra_traits" , derive( Debug ) ) ]
146+ #[ repr( u32 ) ]
147+ pub enum sysdir_search_path_directory_t {
148+ SYSDIR_DIRECTORY_APPLICATION = 1 ,
149+ SYSDIR_DIRECTORY_DEMO_APPLICATION = 2 ,
150+ SYSDIR_DIRECTORY_DEVELOPER_APPLICATION = 3 ,
151+ SYSDIR_DIRECTORY_ADMIN_APPLICATION = 4 ,
152+ SYSDIR_DIRECTORY_LIBRARY = 5 ,
153+ SYSDIR_DIRECTORY_DEVELOPER = 6 ,
154+ SYSDIR_DIRECTORY_USER = 7 ,
155+ SYSDIR_DIRECTORY_DOCUMENTATION = 8 ,
156+ SYSDIR_DIRECTORY_DOCUMENT = 9 ,
157+ SYSDIR_DIRECTORY_CORESERVICE = 10 ,
158+ SYSDIR_DIRECTORY_AUTOSAVED_INFORMATION = 11 ,
159+ SYSDIR_DIRECTORY_DESKTOP = 12 ,
160+ SYSDIR_DIRECTORY_CACHES = 13 ,
161+ SYSDIR_DIRECTORY_APPLICATION_SUPPORT = 14 ,
162+ SYSDIR_DIRECTORY_DOWNLOADS = 15 ,
163+ SYSDIR_DIRECTORY_INPUT_METHODS = 16 ,
164+ SYSDIR_DIRECTORY_MOVIES = 17 ,
165+ SYSDIR_DIRECTORY_MUSIC = 18 ,
166+ SYSDIR_DIRECTORY_PICTURES = 19 ,
167+ SYSDIR_DIRECTORY_PRINTER_DESCRIPTION = 20 ,
168+ SYSDIR_DIRECTORY_SHARED_PUBLIC = 21 ,
169+ SYSDIR_DIRECTORY_PREFERENCE_PANES = 22 ,
170+ SYSDIR_DIRECTORY_ALL_APPLICATIONS = 100 ,
171+ SYSDIR_DIRECTORY_ALL_LIBRARIES = 101 ,
172+ }
173+ impl :: Copy for sysdir_search_path_directory_t { }
174+ impl :: Clone for sysdir_search_path_directory_t {
175+ fn clone ( & self ) -> sysdir_search_path_directory_t {
176+ * self
177+ }
178+ }
179+
180+ #[ cfg_attr( feature = "extra_traits" , derive( Debug ) ) ]
181+ #[ repr( u32 ) ]
182+ pub enum sysdir_search_path_domain_mask_t {
183+ SYSDIR_DOMAIN_MASK_USER = ( 1 << 0 ) ,
184+ SYSDIR_DOMAIN_MASK_LOCAL = ( 1 << 1 ) ,
185+ SYSDIR_DOMAIN_MASK_NETWORK = ( 1 << 2 ) ,
186+ SYSDIR_DOMAIN_MASK_SYSTEM = ( 1 << 3 ) ,
187+ SYSDIR_DOMAIN_MASK_ALL = 0x0ffff ,
188+ }
189+ impl :: Copy for sysdir_search_path_domain_mask_t { }
190+ impl :: Clone for sysdir_search_path_domain_mask_t {
191+ fn clone ( & self ) -> sysdir_search_path_domain_mask_t {
192+ * self
193+ }
194+ }
195+
143196s ! {
144197 pub struct ip_mreq {
145198 pub imr_multiaddr: in_addr,
@@ -4971,6 +5024,16 @@ extern "C" {
49715024 ) -> :: kern_return_t ;
49725025
49735026 pub static mut mach_task_self_: mach_port_t ;
5027+
5028+ // sysdir.h
5029+ pub fn sysdir_start_search_path_enumeration (
5030+ dir : sysdir_search_path_directory_t ,
5031+ domainMask : sysdir_search_path_domain_mask_t ,
5032+ ) -> :: sysdir_search_path_enumeration_state ;
5033+ pub fn sysdir_get_next_search_path_enumeration (
5034+ state : :: sysdir_search_path_enumeration_state ,
5035+ path : * mut :: c_char ,
5036+ ) -> :: sysdir_search_path_enumeration_state ;
49745037}
49755038
49765039pub unsafe fn mach_task_self ( ) -> mach_port_t {
0 commit comments