Actually make fs_path_config / fs_path_config_from_file private
No one outside of libcutils is using these structs and we don't want to leak them as they are private. Test: build Change-Id: I1c95564a9843c9155a333334008cbff7c7ff1f51
This commit is contained in:
parent
8c63ef828a
commit
68debff5ec
4 changed files with 44 additions and 32 deletions
|
|
@ -39,6 +39,8 @@
|
||||||
#include <private/android_filesystem_config.h>
|
#include <private/android_filesystem_config.h>
|
||||||
#include <utils/Compat.h>
|
#include <utils/Compat.h>
|
||||||
|
|
||||||
|
#include "fs_config.h"
|
||||||
|
|
||||||
#ifndef O_BINARY
|
#ifndef O_BINARY
|
||||||
#define O_BINARY 0
|
#define O_BINARY 0
|
||||||
#endif
|
#endif
|
||||||
|
|
@ -47,6 +49,7 @@ using android::base::EndsWith;
|
||||||
using android::base::StartsWith;
|
using android::base::StartsWith;
|
||||||
|
|
||||||
#define ALIGN(x, alignment) (((x) + ((alignment)-1)) & ~((alignment)-1))
|
#define ALIGN(x, alignment) (((x) + ((alignment)-1)) & ~((alignment)-1))
|
||||||
|
#define CAP_MASK_LONG(cap_name) (1ULL << (cap_name))
|
||||||
|
|
||||||
// Rules for directories.
|
// Rules for directories.
|
||||||
// These rules are applied based on "first match", so they
|
// These rules are applied based on "first match", so they
|
||||||
|
|
|
||||||
37
libcutils/fs_config.h
Normal file
37
libcutils/fs_config.h
Normal file
|
|
@ -0,0 +1,37 @@
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2019 The Android Open Source Project
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include <stdint.h>
|
||||||
|
|
||||||
|
// Binary format for the runtime <partition>/etc/fs_config_(dirs|files) filesystem override files.
|
||||||
|
struct fs_path_config_from_file {
|
||||||
|
uint16_t len;
|
||||||
|
uint16_t mode;
|
||||||
|
uint16_t uid;
|
||||||
|
uint16_t gid;
|
||||||
|
uint64_t capabilities;
|
||||||
|
char prefix[];
|
||||||
|
} __attribute__((__aligned__(sizeof(uint64_t))));
|
||||||
|
|
||||||
|
struct fs_path_config {
|
||||||
|
unsigned mode;
|
||||||
|
unsigned uid;
|
||||||
|
unsigned gid;
|
||||||
|
uint64_t capabilities;
|
||||||
|
const char* prefix;
|
||||||
|
};
|
||||||
|
|
@ -25,7 +25,8 @@
|
||||||
#include <android-base/strings.h>
|
#include <android-base/strings.h>
|
||||||
|
|
||||||
#include <private/android_filesystem_config.h>
|
#include <private/android_filesystem_config.h>
|
||||||
#include <private/fs_config.h>
|
|
||||||
|
#include "fs_config.h"
|
||||||
|
|
||||||
extern const fs_path_config* __for_testing_only__android_dirs;
|
extern const fs_path_config* __for_testing_only__android_dirs;
|
||||||
extern const fs_path_config* __for_testing_only__android_files;
|
extern const fs_path_config* __for_testing_only__android_files;
|
||||||
|
|
|
||||||
|
|
@ -19,44 +19,17 @@
|
||||||
** by the device side of adb.
|
** by the device side of adb.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef _LIBS_CUTILS_PRIVATE_FS_CONFIG_H
|
#pragma once
|
||||||
#define _LIBS_CUTILS_PRIVATE_FS_CONFIG_H
|
|
||||||
|
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
#include <sys/cdefs.h>
|
#include <sys/cdefs.h>
|
||||||
#include <sys/types.h>
|
|
||||||
|
|
||||||
#if defined(__BIONIC__)
|
#if defined(__BIONIC__)
|
||||||
#include <linux/capability.h>
|
#include <linux/capability.h>
|
||||||
#else // defined(__BIONIC__)
|
#else // defined(__BIONIC__)
|
||||||
#include "android_filesystem_capability.h"
|
#include <private/android_filesystem_capability.h>
|
||||||
#endif // defined(__BIONIC__)
|
#endif // defined(__BIONIC__)
|
||||||
|
|
||||||
#define CAP_MASK_LONG(cap_name) (1ULL << (cap_name))
|
|
||||||
|
|
||||||
/*
|
|
||||||
* binary format for the runtime <partition>/etc/fs_config_(dirs|files)
|
|
||||||
* filesystem override files.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/* The following structure is stored little endian */
|
|
||||||
struct fs_path_config_from_file {
|
|
||||||
uint16_t len;
|
|
||||||
uint16_t mode;
|
|
||||||
uint16_t uid;
|
|
||||||
uint16_t gid;
|
|
||||||
uint64_t capabilities;
|
|
||||||
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 */
|
/* Rules for directories and files has moved to system/code/libcutils/fs_config.c */
|
||||||
|
|
||||||
__BEGIN_DECLS
|
__BEGIN_DECLS
|
||||||
|
|
@ -75,5 +48,3 @@ void fs_config(const char* path, int dir, const char* target_out_path, unsigned*
|
||||||
unsigned* mode, uint64_t* capabilities);
|
unsigned* mode, uint64_t* capabilities);
|
||||||
|
|
||||||
__END_DECLS
|
__END_DECLS
|
||||||
|
|
||||||
#endif /* _LIBS_CUTILS_PRIVATE_FS_CONFIG_H */
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue