1#ifndef ANDROID_PERMS_H 2# define ANDROID_PERMS_H 3 4# include "config.h" 5# include <ext2fs/ext2fs.h> 6 7typedef void (*fs_config_f)(const char *path, int dir, 8 const char *target_out_path, 9 unsigned *uid, unsigned *gid, 10 unsigned *mode, uint64_t *capabilities); 11 12# ifdef _WIN32 13struct selabel_handle; 14static inline errcode_t android_configure_fs(ext2_filsys fs, 15 char *src_dir, 16 char *target_out, 17 char *mountpoint, 18 void *seopts, 19 unsigned int nopt, 20 char *fs_config_file, 21 time_t fixed_time) 22{ 23 return 0; 24} 25# else 26# include <selinux/selinux.h> 27# include <selinux/label.h> 28# if defined(__ANDROID__) 29# include <selinux/android.h> 30# endif 31# include <private/android_filesystem_config.h> 32# include <private/canned_fs_config.h> 33 34errcode_t android_configure_fs(ext2_filsys fs, char *src_dir, 35 char *target_out, 36 char *mountpoint, 37 struct selinux_opt *seopts, 38 unsigned int nopt, 39 char *fs_config_file, time_t fixed_time); 40 41# endif 42#endif /* !ANDROID_PERMS_H */ 43