1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
|
/* SPDX-License-Identifier: GPL-2.0+ */
/*
* Copyright (C) 2018-2019 HUAWEI, Inc.
* http://www.huawei.com/
* Created by Li Guifu <bluce.liguifu@huawei.com>
*/
#ifndef __EROFS_CONFIG_H
#define __EROFS_CONFIG_H
#ifdef __cplusplus
extern "C"
{
#endif
#include "defs.h"
#include "err.h"
enum {
FORCE_INODE_COMPACT = 1,
FORCE_INODE_EXTENDED,
};
enum {
FORCE_INODE_BLOCK_MAP = 1,
FORCE_INODE_CHUNK_INDEXES,
};
enum {
TIMESTAMP_NONE,
TIMESTAMP_FIXED,
TIMESTAMP_CLAMPING,
};
struct erofs_configure {
const char *c_version;
int c_dbg_lvl;
bool c_dry_run;
bool c_legacy_compress;
#ifndef NDEBUG
bool c_random_pclusterblks;
#endif
char c_timeinherit;
char c_chunkbits;
bool c_noinline_data;
bool c_ignore_mtime;
#ifdef HAVE_LIBSELINUX
struct selabel_handle *sehnd;
#endif
/* related arguments for mkfs.erofs */
char *c_img_path;
char *c_src_path;
char *c_blobdev_path;
char *c_compress_hints_file;
char *c_compr_alg_master;
int c_compr_level_master;
char c_force_inodeversion;
char c_force_chunkformat;
/* < 0, xattr disabled and INT_MAX, always use inline xattrs */
int c_inline_xattr_tolerance;
u32 c_pclusterblks_max, c_pclusterblks_def;
u32 c_max_decompressed_extent_bytes;
u32 c_dict_size;
u64 c_unix_timestamp;
u32 c_uid, c_gid;
#ifdef WITH_ANDROID
char *mount_point;
char *target_out_path;
char *fs_config_file;
char *block_list_file;
#endif
};
extern struct erofs_configure cfg;
void erofs_init_configure(void);
void erofs_show_config(void);
void erofs_exit_configure(void);
void erofs_set_fs_root(const char *rootdir);
const char *erofs_fspath(const char *fullpath);
#ifdef HAVE_LIBSELINUX
int erofs_selabel_open(const char *file_contexts);
#else
static inline int erofs_selabel_open(const char *file_contexts)
{
return -EINVAL;
}
#endif
#ifdef __cplusplus
}
#endif
#endif
|