vfs: check userland buffers before reading them.
[haiku.git] / headers / private / system / find_directory_private.h
blob5db48f33caf4571abe5b6ff0232888063b82f1e4
1 /*
2 * Copyright 2013, Ingo Weinhold, ingo_weinhold@gmx.de.
3 * Distributed under the terms of the MIT License.
4 */
5 #ifndef _SYSTEM_FIND_DIRECTORY_PRIVATE_H
6 #define _SYSTEM_FIND_DIRECTORY_PRIVATE_H
9 #include <sys/cdefs.h>
11 #include <FindDirectory.h>
14 __BEGIN_DECLS
17 status_t __find_directory(directory_which which, dev_t device, bool createIt,
18 char *returnedPath, int32 pathLength);
20 status_t __find_path(const void* codePointer, path_base_directory baseDirectory,
21 const char* subPath, char* pathBuffer, size_t bufferSize);
23 status_t __find_path_etc(const void* codePointer, const char* dependency,
24 const char* architecture, path_base_directory baseDirectory,
25 const char* subPath, uint32 flags, char* pathBuffer, size_t bufferSize);
27 status_t __find_path_for_path(const char* path,
28 path_base_directory baseDirectory, const char* subPath, char* pathBuffer,
29 size_t bufferSize);
31 status_t __find_path_for_path_etc(const char* path, const char* dependency,
32 const char* architecture, path_base_directory baseDirectory,
33 const char* subPath, uint32 flags, char* pathBuffer, size_t bufferSize);
35 status_t __find_paths(path_base_directory baseDirectory, const char* subPath,
36 char*** _paths, size_t* _pathCount);
38 status_t __find_paths_etc(const char* architecture,
39 path_base_directory baseDirectory, const char* subPath, uint32 flags,
40 char*** _paths, size_t* _pathCount);
42 const char* __guess_secondary_architecture_from_path(const char* path,
43 const char* const* secondaryArchitectures,
44 size_t secondaryArchitectureCount);
47 __END_DECLS
50 #endif /* _SYSTEM_FIND_DIRECTORY_PRIVATE_H */