1/*
2**
3** Copyright 2008, The Android Open Source Project
4**
5** Licensed under the Apache License, Version 2.0 (the "License");
6** you may not use this file except in compliance with the License.
7** You may obtain a copy of the License at
8**
9**     http://www.apache.org/licenses/LICENSE-2.0
10**
11** Unless required by applicable law or agreed to in writing, software
12** distributed under the License is distributed on an "AS IS" BASIS,
13** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14** See the License for the specific language governing permissions and
15** limitations under the License.
16*/
17
18#ifndef GLOBALS_H_
19#define GLOBALS_H_
20
21#include <inttypes.h>
22
23namespace android {
24namespace installd {
25
26/* constants */
27
28// Name of the environment variable that contains the asec mountpoint.
29static constexpr const char* ASEC_MOUNTPOINT_ENV_NAME = "ASEC_MOUNTPOINT";
30
31/* data structures */
32
33struct dir_rec_t {
34    char* path;
35    size_t len;
36};
37
38struct dir_rec_array_t {
39    size_t count;
40    dir_rec_t* dirs;
41};
42
43extern dir_rec_t android_app_dir;
44extern dir_rec_t android_app_ephemeral_dir;
45extern dir_rec_t android_app_lib_dir;
46extern dir_rec_t android_app_private_dir;
47extern dir_rec_t android_asec_dir;
48extern dir_rec_t android_data_dir;
49extern dir_rec_t android_media_dir;
50extern dir_rec_t android_mnt_expand_dir;
51extern dir_rec_t android_profiles_dir;
52
53extern dir_rec_array_t android_system_dirs;
54
55void free_globals();
56bool init_globals_from_data_and_root(const char* data, const char* root);
57
58}  // namespace installd
59}  // namespace android
60
61#endif  // GLOBALS_H_
62