linux/include/uapi/linux/msdos_fs.h

/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
#ifndef _UAPI_LINUX_MSDOS_FS_H
#define _UAPI_LINUX_MSDOS_FS_H

#include <linux/types.h>
#include <linux/magic.h>
#include <asm/byteorder.h>

/*
 * The MS-DOS filesystem constants/structures
 */

#ifndef SECTOR_SIZE
#define SECTOR_SIZE
#endif
#define SECTOR_BITS
#define MSDOS_DPB
#define MSDOS_DPB_BITS
#define MSDOS_DPS
#define MSDOS_DPS_BITS
#define MSDOS_LONGNAME
#define CF_LE_W(v)
#define CF_LE_L(v)
#define CT_LE_W(v)
#define CT_LE_L(v)

#define MSDOS_ROOT_INO
#define MSDOS_FSINFO_INO

#define MSDOS_DIR_BITS

/* directory limit */
#define FAT_MAX_DIR_ENTRIES
#define FAT_MAX_DIR_SIZE

#define ATTR_NONE
#define ATTR_RO
#define ATTR_HIDDEN
#define ATTR_SYS
#define ATTR_VOLUME
#define ATTR_DIR
#define ATTR_ARCH

/* attribute bits that are copied "as is" */
#define ATTR_UNUSED
/* bits that are used by the Windows 95/Windows NT extended FAT */
#define ATTR_EXT

#define CASE_LOWER_BASE
#define CASE_LOWER_EXT

#define DELETED_FLAG
#define IS_FREE(n)

#define FAT_LFN_LEN
#define MSDOS_NAME
#define MSDOS_SLOTS
#define MSDOS_DOT
#define MSDOS_DOTDOT

/* start of data cluster's entry (number of reserved clusters) */
#define FAT_START_ENT

/* maximum number of clusters */
#define MAX_FAT12
#define MAX_FAT16
#define MAX_FAT32

/* bad cluster mark */
#define BAD_FAT12
#define BAD_FAT16
#define BAD_FAT32

/* standard EOF */
#define EOF_FAT12
#define EOF_FAT16
#define EOF_FAT32

#define FAT_ENT_FREE
#define FAT_ENT_BAD
#define FAT_ENT_EOF

#define FAT_FSINFO_SIG1
#define FAT_FSINFO_SIG2
#define IS_FSINFO(x)

#define FAT_STATE_DIRTY

struct __fat_dirent {};

/*
 * ioctl commands
 */
#define VFAT_IOCTL_READDIR_BOTH
#define VFAT_IOCTL_READDIR_SHORT
/* <linux/videotext.h> has used 0x72 ('r') in collision, so skip a few */
#define FAT_IOCTL_GET_ATTRIBUTES
#define FAT_IOCTL_SET_ATTRIBUTES
/*Android kernel has used 0x12, so we use 0x13*/
#define FAT_IOCTL_GET_VOLUME_ID

struct fat_boot_sector {};

struct fat_boot_fsinfo {};

struct msdos_dir_entry {};

/* Up to 13 characters of the name */
struct msdos_dir_slot {};

#endif /* _UAPI_LINUX_MSDOS_FS_H */