--- linux-4.9.37/include/uapi/linux/msdos_fs.h 2017-07-12 16:42:41.000000000 +0300 +++ linux-4.9.y/include/uapi/linux/msdos_fs.h 2021-06-07 13:01:34.000000000 +0300 @@ -95,7 +95,23 @@ unsigned short d_reclen; char d_name[256]; /* We must not include limits.h! */ }; +#ifdef CONFIG_GOKE_MC +struct fat_direntall { + unsigned long d_ino; + unsigned long d_off; + unsigned char d_type; + u64 d_size; + char d_createtime[8]; + unsigned short d_reclen; + char d_name[1]; +}; +struct fat_direntall_buf { + int d_count; + int d_usecount; + struct fat_direntall direntall; +}; +#endif /* * ioctl commands */ @@ -106,7 +122,9 @@ #define FAT_IOCTL_SET_ATTRIBUTES _IOW('r', 0x11, __u32) /*Android kernel has used 0x12, so we use 0x13*/ #define FAT_IOCTL_GET_VOLUME_ID _IOR('r', 0x13, __u32) - +#ifdef CONFIG_GOKE_MC +#define VFAT_IOCTL_READDIR_ALL _IOR('r', 0x14, struct fat_direntall_buf) +#endif struct fat_boot_sector { __u8 ignored[3]; /* Boot strap short or near jump */ __u8 system_id[8]; /* Name - can be used to special case