From a9403f0db88d9cdc7ec8627210ae66d3ec250d06 Mon Sep 17 00:00:00 2001 From: Mark Salyzyn Date: Mon, 3 Apr 2017 07:30:06 -0700 Subject: [PATCH] libcutils: create private/fs_config.h private/fs_config.h is required in order to build an independent test that requires internal binary knowledge of the etc/fs_config_(files|dirs) files. Test: compile Bug: 36071012 Change-Id: I268bcfdbb6d45b7bf6040cbf307a4e34812f5fef --- libcutils/fs_config.c | 11 +------- libcutils/include/private/fs_config.h | 37 +++++++++++++++++++++++++++ 2 files changed, 38 insertions(+), 10 deletions(-) create mode 100644 libcutils/include/private/fs_config.h diff --git a/libcutils/fs_config.c b/libcutils/fs_config.c index 6a57a41f8..daa9ff545 100644 --- a/libcutils/fs_config.c +++ b/libcutils/fs_config.c @@ -35,22 +35,13 @@ #include #include +#include #include #ifndef O_BINARY #define O_BINARY 0 #endif -/* 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)))); - /* My kingdom for */ static inline uint16_t get2LE(const uint8_t* src) { return src[0] | (src[1] << 8); } diff --git a/libcutils/include/private/fs_config.h b/libcutils/include/private/fs_config.h new file mode 100644 index 000000000..7dad668aa --- /dev/null +++ b/libcutils/include/private/fs_config.h @@ -0,0 +1,37 @@ +/* + * Copyright (C) 2007 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. + */ + +#ifndef _LIBS_CUTILS_PRIVATE_FS_CONFIG_H +#define _LIBS_CUTILS_PRIVATE_FS_CONFIG_H + +#include + +/* + * binary format for the runtime /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)))); + +#endif /* _LIBS_CUTILS_PRIVATE_FS_CONFIG_H */