1*33b1fccfSAndroid Build Coastguard Worker /* SPDX-License-Identifier: GPL-2.0+ OR Apache-2.0 */ 2*33b1fccfSAndroid Build Coastguard Worker /* 3*33b1fccfSAndroid Build Coastguard Worker * Created by Li Guifu <[email protected]> 4*33b1fccfSAndroid Build Coastguard Worker */ 5*33b1fccfSAndroid Build Coastguard Worker #ifndef __EROFS_EXCLUDE_H 6*33b1fccfSAndroid Build Coastguard Worker #define __EROFS_EXCLUDE_H 7*33b1fccfSAndroid Build Coastguard Worker 8*33b1fccfSAndroid Build Coastguard Worker #ifdef __cplusplus 9*33b1fccfSAndroid Build Coastguard Worker extern "C" 10*33b1fccfSAndroid Build Coastguard Worker { 11*33b1fccfSAndroid Build Coastguard Worker #endif 12*33b1fccfSAndroid Build Coastguard Worker 13*33b1fccfSAndroid Build Coastguard Worker #include <sys/types.h> 14*33b1fccfSAndroid Build Coastguard Worker #include <regex.h> 15*33b1fccfSAndroid Build Coastguard Worker 16*33b1fccfSAndroid Build Coastguard Worker struct erofs_exclude_rule { 17*33b1fccfSAndroid Build Coastguard Worker struct list_head list; 18*33b1fccfSAndroid Build Coastguard Worker 19*33b1fccfSAndroid Build Coastguard Worker char *pattern; 20*33b1fccfSAndroid Build Coastguard Worker regex_t reg; 21*33b1fccfSAndroid Build Coastguard Worker }; 22*33b1fccfSAndroid Build Coastguard Worker 23*33b1fccfSAndroid Build Coastguard Worker void erofs_exclude_set_root(const char *rootdir); 24*33b1fccfSAndroid Build Coastguard Worker void erofs_cleanup_exclude_rules(void); 25*33b1fccfSAndroid Build Coastguard Worker 26*33b1fccfSAndroid Build Coastguard Worker int erofs_parse_exclude_path(const char *args, bool is_regex); 27*33b1fccfSAndroid Build Coastguard Worker struct erofs_exclude_rule *erofs_is_exclude_path(const char *dir, 28*33b1fccfSAndroid Build Coastguard Worker const char *name); 29*33b1fccfSAndroid Build Coastguard Worker 30*33b1fccfSAndroid Build Coastguard Worker #ifdef __cplusplus 31*33b1fccfSAndroid Build Coastguard Worker } 32*33b1fccfSAndroid Build Coastguard Worker #endif 33*33b1fccfSAndroid Build Coastguard Worker 34*33b1fccfSAndroid Build Coastguard Worker #endif 35