diff --git a/include/private/fs_config.h b/include/private/fs_config.h new file mode 100644 index 000000000..e9868a41f --- /dev/null +++ b/include/private/fs_config.h @@ -0,0 +1,4 @@ +// TODO(b/63135587) remove this file after the transitive dependency +// from private/android_filesystem_config.h is resolved. All files that use +// libcutils/include/private/fs_config.h should include the file directly, not +// indirectly via private/android_filesystem_config.h. diff --git a/libcutils/canned_fs_config.c b/libcutils/canned_fs_config.c index 96ca566cd..819a846a6 100644 --- a/libcutils/canned_fs_config.c +++ b/libcutils/canned_fs_config.c @@ -23,6 +23,7 @@ #include #include +#include #include typedef struct { diff --git a/libcutils/include/cutils/android_filesystem_config.h b/libcutils/include/cutils/android_filesystem_config.h new file mode 120000 index 000000000..d2a92fefa --- /dev/null +++ b/libcutils/include/cutils/android_filesystem_config.h @@ -0,0 +1 @@ +../private/android_filesystem_config.h \ No newline at end of file diff --git a/libcutils/include/private/android_filesystem_config.h b/libcutils/include/private/android_filesystem_config.h index 02141d687..d4ba01963 100644 --- a/libcutils/include/private/android_filesystem_config.h +++ b/libcutils/include/private/android_filesystem_config.h @@ -14,11 +14,6 @@ * limitations under the License. */ -/* This file is used to define the properties of the filesystem -** images generated by build tools (mkbootfs and mkyaffs2image) and -** by the device side of adb. -*/ - /* * This file is consumed by build/tools/fs_config and is used * for generating various files. Anything #define AID_ @@ -49,18 +44,12 @@ #ifndef _ANDROID_FILESYSTEM_CONFIG_H_ #define _ANDROID_FILESYSTEM_CONFIG_H_ -#include -#include #include -#if defined(__BIONIC__) -#include -#else -#include "android_filesystem_capability.h" +#if !defined(__ANDROID_VNDK__) && !defined(EXCLUDE_FS_CONFIG_STRUCTURES) +#include #endif -#define CAP_MASK_LONG(cap_name) (1ULL << (cap_name)) - /* This is the master Users and Groups config for the platform. * DO NOT EVER RENUMBER */ @@ -193,36 +182,4 @@ * Also see build/tools/fs_config for more details. */ -#if !defined(EXCLUDE_FS_CONFIG_STRUCTURES) - -struct fs_path_config { - unsigned mode; - unsigned uid; - unsigned gid; - uint64_t capabilities; - const char* prefix; -}; - -/* Rules for directories and files has moved to system/code/libcutils/fs_config.c */ - -__BEGIN_DECLS - -/* - * Used in: - * build/tools/fs_config/fs_config.c - * build/tools/fs_get_stats/fs_get_stats.c - * system/extras/ext4_utils/make_ext4fs_main.c - * external/squashfs-tools/squashfs-tools/android.c - * system/core/cpio/mkbootfs.c - * system/core/adb/file_sync_service.cpp - * system/extras/ext4_utils/canned_fs_config.c - */ -void fs_config(const char* path, int dir, const char* target_out_path, unsigned* uid, unsigned* gid, - unsigned* mode, uint64_t* capabilities); - -ssize_t fs_config_generate(char* buffer, size_t length, const struct fs_path_config* pc); - -__END_DECLS - -#endif #endif diff --git a/libcutils/include/private/fs_config.h b/libcutils/include/private/fs_config.h index 7dad668aa..aab504281 100644 --- a/libcutils/include/private/fs_config.h +++ b/libcutils/include/private/fs_config.h @@ -14,10 +14,24 @@ * limitations under the License. */ +/* This file is used to define the properties of the filesystem +** images generated by build tools (mkbootfs and mkyaffs2image) and +** by the device side of adb. +*/ + #ifndef _LIBS_CUTILS_PRIVATE_FS_CONFIG_H #define _LIBS_CUTILS_PRIVATE_FS_CONFIG_H #include +#include + +#if defined(__BIONIC__) +#include +#else // defined(__BIONIC__) +#include "android_filesystem_capability.h" +#endif // defined(__BIONIC__) + +#define CAP_MASK_LONG(cap_name) (1ULL << (cap_name)) /* * binary format for the runtime /etc/fs_config_(dirs|files) @@ -34,4 +48,33 @@ struct fs_path_config_from_file { char prefix[]; } __attribute__((__aligned__(sizeof(uint64_t)))); +struct fs_path_config { + unsigned mode; + unsigned uid; + unsigned gid; + uint64_t capabilities; + const char* prefix; +}; + +/* Rules for directories and files has moved to system/code/libcutils/fs_config.c */ + +__BEGIN_DECLS + +/* + * Used in: + * build/tools/fs_config/fs_config.c + * build/tools/fs_get_stats/fs_get_stats.c + * system/extras/ext4_utils/make_ext4fs_main.c + * external/squashfs-tools/squashfs-tools/android.c + * system/core/cpio/mkbootfs.c + * system/core/adb/file_sync_service.cpp + * system/extras/ext4_utils/canned_fs_config.c + */ +void fs_config(const char* path, int dir, const char* target_out_path, unsigned* uid, unsigned* gid, + unsigned* mode, uint64_t* capabilities); + +ssize_t fs_config_generate(char* buffer, size_t length, const struct fs_path_config* pc); + +__END_DECLS + #endif /* _LIBS_CUTILS_PRIVATE_FS_CONFIG_H */ diff --git a/libcutils/include_vndk/cutils/android_filesystem_config.h b/libcutils/include_vndk/cutils/android_filesystem_config.h new file mode 120000 index 000000000..13a5a08ef --- /dev/null +++ b/libcutils/include_vndk/cutils/android_filesystem_config.h @@ -0,0 +1 @@ +../../include/private/android_filesystem_config.h \ No newline at end of file