Skip to content

Commit

Permalink
Move android_filesystem_config.h => fs_config.h
Browse files Browse the repository at this point in the history
The non AID_ things in android_filesystem_config.h are moved
to fs_config.h. For libcutils.vendor and libcutils_headers.vendor,
fs_config.h is not exported.

An empty system/core/include/private/fs_config.h is placed to
appease the dependency from certain modules (logd, etc.)
that includes system/core/include/private/android_filesystem_config.h
directly.

Test: m -j
Test: BOARD_VNDK_VERSION=current m -j
Bug: 63135587
Change-Id: I95dfb874a426941022b100c0ca26a0576b0f4aa3
Merged-In: I95dfb874a426941022b100c0ca26a0576b0f4aa3
  • Loading branch information
Yifan Hong committed Aug 2, 2017
1 parent b5c90e9 commit 09c8967
Show file tree
Hide file tree
Showing 6 changed files with 52 additions and 45 deletions.
4 changes: 4 additions & 0 deletions include/private/fs_config.h
Original file line number Diff line number Diff line change
@@ -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.
1 change: 1 addition & 0 deletions libcutils/canned_fs_config.c
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
#include <string.h>

#include <private/android_filesystem_config.h>
#include <private/fs_config.h>
#include <private/canned_fs_config.h>

typedef struct {
Expand Down
1 change: 1 addition & 0 deletions libcutils/include/cutils/android_filesystem_config.h
47 changes: 2 additions & 45 deletions libcutils/include/private/android_filesystem_config.h
Original file line number Diff line number Diff line change
Expand Up @@ -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_<name>
Expand Down Expand Up @@ -49,18 +44,12 @@
#ifndef _ANDROID_FILESYSTEM_CONFIG_H_
#define _ANDROID_FILESYSTEM_CONFIG_H_

#include <stdint.h>
#include <sys/cdefs.h>
#include <sys/types.h>

#if defined(__BIONIC__)
#include <linux/capability.h>
#else
#include "android_filesystem_capability.h"
#if !defined(__ANDROID_VNDK__) && !defined(EXCLUDE_FS_CONFIG_STRUCTURES)
#include <private/fs_config.h>
#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
*/
Expand Down Expand Up @@ -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
43 changes: 43 additions & 0 deletions libcutils/include/private/fs_config.h
Original file line number Diff line number Diff line change
Expand Up @@ -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 <stdint.h>
#include <sys/cdefs.h>

#if defined(__BIONIC__)
#include <linux/capability.h>
#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 <partition>/etc/fs_config_(dirs|files)
Expand All @@ -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 */
1 change: 1 addition & 0 deletions libcutils/include_vndk/cutils/android_filesystem_config.h

0 comments on commit 09c8967

Please sign in to comment.