Merge "Actually make fs_path_config / fs_path_config_from_file private" am: 20670249d0
am: a4754b12c4
Change-Id: Iedd8078ee67055f4b88393de4c9b8f42f8c39fef
This commit is contained in:
commit
073c1d442c
4 changed files with 44 additions and 32 deletions
|
@ -39,6 +39,8 @@
|
|||
#include <private/android_filesystem_config.h>
|
||||
#include <utils/Compat.h>
|
||||
|
||||
#include "fs_config.h"
|
||||
|
||||
#ifndef O_BINARY
|
||||
#define O_BINARY 0
|
||||
#endif
|
||||
|
@ -47,6 +49,7 @@ using android::base::EndsWith;
|
|||
using android::base::StartsWith;
|
||||
|
||||
#define ALIGN(x, alignment) (((x) + ((alignment)-1)) & ~((alignment)-1))
|
||||
#define CAP_MASK_LONG(cap_name) (1ULL << (cap_name))
|
||||
|
||||
// Rules for directories.
|
||||
// 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 <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_files;
|
||||
|
|
|
@ -19,44 +19,17 @@
|
|||
** by the device side of adb.
|
||||
*/
|
||||
|
||||
#ifndef _LIBS_CUTILS_PRIVATE_FS_CONFIG_H
|
||||
#define _LIBS_CUTILS_PRIVATE_FS_CONFIG_H
|
||||
#pragma once
|
||||
|
||||
#include <stdint.h>
|
||||
#include <sys/cdefs.h>
|
||||
#include <sys/types.h>
|
||||
|
||||
#if defined(__BIONIC__)
|
||||
#include <linux/capability.h>
|
||||
#else // defined(__BIONIC__)
|
||||
#include "android_filesystem_capability.h"
|
||||
#include <private/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)
|
||||
* 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 */
|
||||
|
||||
__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);
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif /* _LIBS_CUTILS_PRIVATE_FS_CONFIG_H */
|
||||
|
|
Loading…
Reference in a new issue