Skip to content

Commit c8f31c9

Browse files
committed
Auto merge of #2730 - devnexen:haiku_find_dir_upd, r=Amanieu
haiku finddirectory api update
2 parents a9176ca + c9545d0 commit c8f31c9

File tree

1 file changed

+130
-0
lines changed

1 file changed

+130
-0
lines changed

src/unix/haiku/native.rs

Lines changed: 130 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,89 @@ e! {
114114
B_FIND_PATH_IMAGE_PATH = 1000,
115115
B_FIND_PATH_PACKAGE_PATH,
116116
}
117+
118+
pub enum directory_which {
119+
B_DESKTOP_DIRECTORY = 0,
120+
B_TRASH_DIRECTORY,
121+
B_SYSTEM_DIRECTORY = 1000,
122+
B_SYSTEM_ADDONS_DIRECTORY = 1002,
123+
B_SYSTEM_BOOT_DIRECTORY,
124+
B_SYSTEM_FONTS_DIRECTORY,
125+
B_SYSTEM_LIB_DIRECTORY,
126+
B_SYSTEM_SERVERS_DIRECTORY,
127+
B_SYSTEM_APPS_DIRECTORY,
128+
B_SYSTEM_BIN_DIRECTORY,
129+
B_SYSTEM_DOCUMENTATION_DIRECTORY = 1010,
130+
B_SYSTEM_PREFERENCES_DIRECTORY,
131+
B_SYSTEM_TRANSLATORS_DIRECTORY,
132+
B_SYSTEM_MEDIA_NODES_DIRECTORY,
133+
B_SYSTEM_SOUNDS_DIRECTORY,
134+
B_SYSTEM_DATA_DIRECTORY,
135+
B_SYSTEM_DEVELOP_DIRECTORY,
136+
B_SYSTEM_PACKAGES_DIRECTORY,
137+
B_SYSTEM_HEADERS_DIRECTORY,
138+
B_SYSTEM_ETC_DIRECTORY = 2008,
139+
B_SYSTEM_SETTINGS_DIRECTORY = 2010,
140+
B_SYSTEM_LOG_DIRECTORY = 2012,
141+
B_SYSTEM_SPOOL_DIRECTORY,
142+
B_SYSTEM_TEMP_DIRECTORY,
143+
B_SYSTEM_VAR_DIRECTORY,
144+
B_SYSTEM_CACHE_DIRECTORY = 2020,
145+
B_SYSTEM_NONPACKAGED_DIRECTORY = 2023,
146+
B_SYSTEM_NONPACKAGED_ADDONS_DIRECTORY,
147+
B_SYSTEM_NONPACKAGED_TRANSLATORS_DIRECTORY,
148+
B_SYSTEM_NONPACKAGED_MEDIA_NODES_DIRECTORY,
149+
B_SYSTEM_NONPACKAGED_BIN_DIRECTORY,
150+
B_SYSTEM_NONPACKAGED_DATA_DIRECTORY,
151+
B_SYSTEM_NONPACKAGED_FONTS_DIRECTORY,
152+
B_SYSTEM_NONPACKAGED_SOUNDS_DIRECTORY,
153+
B_SYSTEM_NONPACKAGED_DOCUMENTATION_DIRECTORY,
154+
B_SYSTEM_NONPACKAGED_LIB_DIRECTORY,
155+
B_SYSTEM_NONPACKAGED_HEADERS_DIRECTORY,
156+
B_SYSTEM_NONPACKAGED_DEVELOP_DIRECTORY,
157+
B_USER_DIRECTORY = 3000,
158+
B_USER_CONFIG_DIRECTORY,
159+
B_USER_ADDONS_DIRECTORY,
160+
B_USER_BOOT_DIRECTORY,
161+
B_USER_FONTS_DIRECTORY,
162+
B_USER_LIB_DIRECTORY,
163+
B_USER_SETTINGS_DIRECTORY,
164+
B_USER_DESKBAR_DIRECTORY,
165+
B_USER_PRINTERS_DIRECTORY,
166+
B_USER_TRANSLATORS_DIRECTORY,
167+
B_USER_MEDIA_NODES_DIRECTORY,
168+
B_USER_SOUNDS_DIRECTORY,
169+
B_USER_DATA_DIRECTORY,
170+
B_USER_CACHE_DIRECTORY,
171+
B_USER_PACKAGES_DIRECTORY,
172+
B_USER_HEADERS_DIRECTORY,
173+
B_USER_NONPACKAGED_DIRECTORY,
174+
B_USER_NONPACKAGED_ADDONS_DIRECTORY,
175+
B_USER_NONPACKAGED_TRANSLATORS_DIRECTORY,
176+
B_USER_NONPACKAGED_MEDIA_NODES_DIRECTORY,
177+
B_USER_NONPACKAGED_BIN_DIRECTORY,
178+
B_USER_NONPACKAGED_DATA_DIRECTORY,
179+
B_USER_NONPACKAGED_FONTS_DIRECTORY,
180+
B_USER_NONPACKAGED_SOUNDS_DIRECTORY,
181+
B_USER_NONPACKAGED_DOCUMENTATION_DIRECTORY,
182+
B_USER_NONPACKAGED_LIB_DIRECTORY,
183+
B_USER_NONPACKAGED_HEADERS_DIRECTORY,
184+
B_USER_NONPACKAGED_DEVELOP_DIRECTORY,
185+
B_USER_DEVELOP_DIRECTORY,
186+
B_USER_DOCUMENTATION_DIRECTORY,
187+
B_USER_SERVERS_DIRECTORY,
188+
B_USER_APPS_DIRECTORY,
189+
B_USER_BIN_DIRECTORY,
190+
B_USER_PREFERENCES_DIRECTORY,
191+
B_USER_ETC_DIRECTORY,
192+
B_USER_LOG_DIRECTORY,
193+
B_USER_SPOOL_DIRECTORY,
194+
B_USER_VAR_DIRECTORY,
195+
B_APPS_DIRECTORY = 4000,
196+
B_PREFERENCES_DIRECTORY,
197+
B_UTILITIES_DIRECTORY,
198+
B_PACKAGE_LINKS_DIRECTORY,
199+
}
117200
}
118201

119202
s! {
@@ -1080,6 +1163,53 @@ extern "C" {
10801163
pathBuffer: *mut ::c_char,
10811164
bufferSize: usize,
10821165
) -> status_t;
1166+
pub fn find_path_etc(
1167+
codePointer: *const ::c_void,
1168+
dependency: *const ::c_char,
1169+
architecture: *const ::c_char,
1170+
baseDirectory: path_base_directory,
1171+
subPath: *const ::c_char,
1172+
flags: u32,
1173+
pathBuffer: *mut ::c_char,
1174+
bufferSize: ::size_t,
1175+
) -> status_t;
1176+
pub fn find_path_for_path(
1177+
path: *const ::c_char,
1178+
baseDirectory: path_base_directory,
1179+
subPath: *const ::c_char,
1180+
pathBuffer: *mut ::c_char,
1181+
bufferSize: ::size_t,
1182+
) -> status_t;
1183+
pub fn find_path_for_path_etc(
1184+
path: *const ::c_char,
1185+
dependency: *const ::c_char,
1186+
architectur: *const ::c_char,
1187+
baseDirectory: path_base_directory,
1188+
subPath: *const ::c_char,
1189+
flags: u32,
1190+
pathBuffer: *mut ::c_char,
1191+
bufferSize: ::size_t,
1192+
) -> status_t;
1193+
pub fn find_paths(
1194+
baseDirectory: path_base_directory,
1195+
subPath: *const ::c_char,
1196+
_paths: *mut *mut *mut ::c_char,
1197+
pathCount: *mut ::size_t,
1198+
) -> status_t;
1199+
pub fn find_paths_etc(
1200+
architecture: *const ::c_char,
1201+
baseDirectory: path_base_directory,
1202+
subPath: *const ::c_char,
1203+
_paths: *mut *mut *mut ::c_char,
1204+
pathCount: *mut ::size_t,
1205+
) -> status_t;
1206+
pub fn find_directory(
1207+
which: directory_which,
1208+
volume: ::dev_t,
1209+
createIt: bool,
1210+
pathString: *mut ::c_char,
1211+
length: i32,
1212+
) -> status_t;
10831213
}
10841214

10851215
cfg_if! {

0 commit comments

Comments
 (0)