1pub const PATH_MAX: u32 = 1024;
16#[repr(u32)]
17#[non_exhaustive]
18#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
19pub enum sysdir_search_path_directory_t {
20 SYSDIR_DIRECTORY_APPLICATION = 1,
21 SYSDIR_DIRECTORY_DEMO_APPLICATION = 2,
22 SYSDIR_DIRECTORY_DEVELOPER_APPLICATION = 3,
23 SYSDIR_DIRECTORY_ADMIN_APPLICATION = 4,
24 SYSDIR_DIRECTORY_LIBRARY = 5,
25 SYSDIR_DIRECTORY_DEVELOPER = 6,
26 SYSDIR_DIRECTORY_USER = 7,
27 SYSDIR_DIRECTORY_DOCUMENTATION = 8,
28 SYSDIR_DIRECTORY_DOCUMENT = 9,
29 SYSDIR_DIRECTORY_CORESERVICE = 10,
30 SYSDIR_DIRECTORY_AUTOSAVED_INFORMATION = 11,
31 SYSDIR_DIRECTORY_DESKTOP = 12,
32 SYSDIR_DIRECTORY_CACHES = 13,
33 SYSDIR_DIRECTORY_APPLICATION_SUPPORT = 14,
34 SYSDIR_DIRECTORY_DOWNLOADS = 15,
35 SYSDIR_DIRECTORY_INPUT_METHODS = 16,
36 SYSDIR_DIRECTORY_MOVIES = 17,
37 SYSDIR_DIRECTORY_MUSIC = 18,
38 SYSDIR_DIRECTORY_PICTURES = 19,
39 SYSDIR_DIRECTORY_PRINTER_DESCRIPTION = 20,
40 SYSDIR_DIRECTORY_SHARED_PUBLIC = 21,
41 SYSDIR_DIRECTORY_PREFERENCE_PANES = 22,
42 SYSDIR_DIRECTORY_ALL_APPLICATIONS = 100,
43 SYSDIR_DIRECTORY_ALL_LIBRARIES = 101,
44}
45pub const SYSDIR_DOMAIN_MASK_USER: sysdir_search_path_domain_mask_t = 1;
46pub const SYSDIR_DOMAIN_MASK_LOCAL: sysdir_search_path_domain_mask_t = 2;
47pub const SYSDIR_DOMAIN_MASK_NETWORK: sysdir_search_path_domain_mask_t = 4;
48pub const SYSDIR_DOMAIN_MASK_SYSTEM: sysdir_search_path_domain_mask_t = 8;
49pub const SYSDIR_DOMAIN_MASK_ALL: sysdir_search_path_domain_mask_t = 65535;
50pub type sysdir_search_path_domain_mask_t = ::core::ffi::c_uint;
51extern "C" {
52 pub fn sysdir_start_search_path_enumeration(
53 dir: sysdir_search_path_directory_t,
54 domainMask: sysdir_search_path_domain_mask_t,
55 ) -> sysdir_search_path_enumeration_state;
56}
57extern "C" {
58 pub fn sysdir_get_next_search_path_enumeration(
59 state: sysdir_search_path_enumeration_state,
60 path: *mut ::core::ffi::c_char,
61 ) -> sysdir_search_path_enumeration_state;
62}
63
64#[repr(transparent)]
66#[derive(Debug)]
67#[allow(missing_copy_implementations)]
68pub struct sysdir_search_path_enumeration_state(::core::ffi::c_uint);
69
70impl PartialEq<::core::ffi::c_uint> for sysdir_search_path_enumeration_state {
71 fn eq(&self, other: &::core::ffi::c_uint) -> bool {
72 self.0 == *other
73 }
74}
75
76impl sysdir_search_path_enumeration_state {
77 #[must_use]
79 pub fn is_finished(&self) -> bool {
80 self.0 == 0
81 }
82}