diff options
author | bors <bors@rust-lang.org> | 2021-08-09 18:52:41 +0000 |
---|---|---|
committer | bors <bors@rust-lang.org> | 2021-08-09 18:52:41 +0000 |
commit | 7b96aedf4eec5ce4b5075e95b83bde126f1f2930 (patch) | |
tree | 3fdc40e31f828e19048f699a8fe254aa2c6b7ab6 | |
parent | 8aa6cea3a3a39767f441716a992112b804af2af7 (diff) | |
parent | 7e25e52447008215a89065c788905e609d6ec34b (diff) | |
download | rust-libc-7b96aedf4eec5ce4b5075e95b83bde126f1f2930.tar.gz |
Auto merge of #2321 - devnexen:haiku_find_path, r=Amanieu
haiku adding handy find_path fn.
-rwxr-xr-x | libc-test/build.rs | 1 | ||||
-rw-r--r-- | src/unix/haiku/native.rs | 37 |
2 files changed, 38 insertions, 0 deletions
diff --git a/libc-test/build.rs b/libc-test/build.rs index 825879ce30..47eeaac524 100755 --- a/libc-test/build.rs +++ b/libc-test/build.rs @@ -3286,6 +3286,7 @@ fn test_haiku(target: &str) { "kernel/fs_volume.h", "kernel/image.h", "kernel/scheduler.h", + "storage/FindDirectory.h", "storage/StorageDefs.h", "support/Errors.h", "support/SupportDefs.h", diff --git a/src/unix/haiku/native.rs b/src/unix/haiku/native.rs index 5a37c68241..f432f90fbb 100644 --- a/src/unix/haiku/native.rs +++ b/src/unix/haiku/native.rs @@ -67,6 +67,36 @@ e! { SCHEDULER_MODE_LOW_LATENCY, SCHEDULER_MODE_POWER_SAVING, } + + // FindDirectory.h + pub enum path_base_directory { + B_FIND_PATH_INSTALLATION_LOCATION_DIRECTORY, + B_FIND_PATH_ADD_ONS_DIRECTORY, + B_FIND_PATH_APPS_DIRECTORY, + B_FIND_PATH_BIN_DIRECTORY, + B_FIND_PATH_BOOT_DIRECTORY, + B_FIND_PATH_CACHE_DIRECTORY, + B_FIND_PATH_DATA_DIRECTORY, + B_FIND_PATH_DEVELOP_DIRECTORY, + B_FIND_PATH_DEVELOP_LIB_DIRECTORY, + B_FIND_PATH_DOCUMENTATION_DIRECTORY, + B_FIND_PATH_ETC_DIRECTORY, + B_FIND_PATH_FONTS_DIRECTORY, + B_FIND_PATH_HEADERS_DIRECTORY, + B_FIND_PATH_LIB_DIRECTORY, + B_FIND_PATH_LOG_DIRECTORY, + B_FIND_PATH_MEDIA_NODES_DIRECTORY, + B_FIND_PATH_PACKAGES_DIRECTORY, + B_FIND_PATH_PREFERENCES_DIRECTORY, + B_FIND_PATH_SERVERS_DIRECTORY, + B_FIND_PATH_SETTINGS_DIRECTORY, + B_FIND_PATH_SOUNDS_DIRECTORY, + B_FIND_PATH_SPOOL_DIRECTORY, + B_FIND_PATH_TRANSLATORS_DIRECTORY, + B_FIND_PATH_VAR_DIRECTORY, + B_FIND_PATH_IMAGE_PATH = 1000, + B_FIND_PATH_PACKAGE_PATH, + } } s! { @@ -934,6 +964,13 @@ extern "C" { info: *mut image_info, size: ::size_t, ) -> status_t; + pub fn find_path( + codePointer: *const ::c_void, + baseDirectory: path_base_directory, + subPath: *const ::c_char, + pathBuffer: *mut ::c_char, + bufferSize: usize, + ) -> status_t; } // The following functions are defined as macros in C/C++ |