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