blob: 8242eec5f3229175a6a12dc9512a898a1e2c81e9 [file] [log] [blame]
Andreas Gampe02d0de52015-11-11 20:43:16 -08001/*
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
Jeff Sharkeyf3e30b92016-12-09 17:06:57 -070023#include "InstalldNativeService.h"
24
Andreas Gampe02d0de52015-11-11 20:43:16 -080025namespace android {
26namespace installd {
27
Andreas Gamped089ca12016-06-27 14:25:30 -070028/* constants */
29
30// Name of the environment variable that contains the asec mountpoint.
31static constexpr const char* ASEC_MOUNTPOINT_ENV_NAME = "ASEC_MOUNTPOINT";
32
Andreas Gampe02d0de52015-11-11 20:43:16 -080033/* data structures */
34
35struct dir_rec_t {
36 char* path;
37 size_t len;
38};
39
40struct dir_rec_array_t {
41 size_t count;
42 dir_rec_t* dirs;
43};
44
45extern dir_rec_t android_app_dir;
46extern dir_rec_t android_app_ephemeral_dir;
47extern dir_rec_t android_app_lib_dir;
48extern dir_rec_t android_app_private_dir;
49extern dir_rec_t android_asec_dir;
50extern dir_rec_t android_data_dir;
51extern dir_rec_t android_media_dir;
52extern dir_rec_t android_mnt_expand_dir;
Calin Juravle6a1648e2016-02-01 12:12:16 +000053extern dir_rec_t android_profiles_dir;
Andreas Gampe02d0de52015-11-11 20:43:16 -080054
55extern dir_rec_array_t android_system_dirs;
56
57void free_globals();
58bool init_globals_from_data_and_root(const char* data, const char* root);
59
60} // namespace installd
61} // namespace android
62
63#endif // GLOBALS_H_