Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros
msdos_fs.h File Reference
#include <linux/types.h>
#include <linux/magic.h>
#include <asm/byteorder.h>

Go to the source code of this file.

Data Structures

struct  __fat_dirent
 
struct  fat_boot_sector
 
struct  fat_boot_fsinfo
 
struct  msdos_dir_entry
 
struct  msdos_dir_slot
 

Macros

#define SECTOR_SIZE   512 /* sector size (bytes) */
 
#define SECTOR_BITS   9 /* log2(SECTOR_SIZE) */
 
#define MSDOS_DPB   (MSDOS_DPS) /* dir entries per block */
 
#define MSDOS_DPB_BITS   4 /* log2(MSDOS_DPB) */
 
#define MSDOS_DPS   (SECTOR_SIZE / sizeof(struct msdos_dir_entry))
 
#define MSDOS_DPS_BITS   4 /* log2(MSDOS_DPS) */
 
#define MSDOS_LONGNAME   256 /* maximum name length */
 
#define CF_LE_W(v)   le16_to_cpu(v)
 
#define CF_LE_L(v)   le32_to_cpu(v)
 
#define CT_LE_W(v)   cpu_to_le16(v)
 
#define CT_LE_L(v)   cpu_to_le32(v)
 
#define MSDOS_ROOT_INO   1 /* The root inode number */
 
#define MSDOS_FSINFO_INO   2 /* Used for managing the FSINFO block */
 
#define MSDOS_DIR_BITS   5 /* log2(sizeof(struct msdos_dir_entry)) */
 
#define FAT_MAX_DIR_ENTRIES   (65536)
 
#define FAT_MAX_DIR_SIZE   (FAT_MAX_DIR_ENTRIES << MSDOS_DIR_BITS)
 
#define ATTR_NONE   0 /* no attribute bits */
 
#define ATTR_RO   1 /* read-only */
 
#define ATTR_HIDDEN   2 /* hidden */
 
#define ATTR_SYS   4 /* system */
 
#define ATTR_VOLUME   8 /* volume label */
 
#define ATTR_DIR   16 /* directory */
 
#define ATTR_ARCH   32 /* archived */
 
#define ATTR_UNUSED   (ATTR_VOLUME | ATTR_ARCH | ATTR_SYS | ATTR_HIDDEN)
 
#define ATTR_EXT   (ATTR_RO | ATTR_HIDDEN | ATTR_SYS | ATTR_VOLUME)
 
#define CASE_LOWER_BASE   8 /* base is lower case */
 
#define CASE_LOWER_EXT   16 /* extension is lower case */
 
#define DELETED_FLAG   0xe5 /* marks file as deleted when in name[0] */
 
#define IS_FREE(n)   (!*(n) || *(n) == DELETED_FLAG)
 
#define FAT_LFN_LEN   255 /* maximum long name length */
 
#define MSDOS_NAME   11 /* maximum name length */
 
#define MSDOS_SLOTS   21 /* max # of slots for short and long names */
 
#define MSDOS_DOT   ". " /* ".", padded to MSDOS_NAME chars */
 
#define MSDOS_DOTDOT   ".. " /* "..", padded to MSDOS_NAME chars */
 
#define FAT_FIRST_ENT(s, x)
 
#define FAT_START_ENT   2
 
#define MAX_FAT12   0xFF4
 
#define MAX_FAT16   0xFFF4
 
#define MAX_FAT32   0x0FFFFFF6
 
#define MAX_FAT(s)
 
#define BAD_FAT12   0xFF7
 
#define BAD_FAT16   0xFFF7
 
#define BAD_FAT32   0x0FFFFFF7
 
#define EOF_FAT12   0xFFF
 
#define EOF_FAT16   0xFFFF
 
#define EOF_FAT32   0x0FFFFFFF
 
#define FAT_ENT_FREE   (0)
 
#define FAT_ENT_BAD   (BAD_FAT32)
 
#define FAT_ENT_EOF   (EOF_FAT32)
 
#define FAT_FSINFO_SIG1   0x41615252
 
#define FAT_FSINFO_SIG2   0x61417272
 
#define IS_FSINFO(x)
 
#define VFAT_IOCTL_READDIR_BOTH   _IOR('r', 1, struct __fat_dirent[2])
 
#define VFAT_IOCTL_READDIR_SHORT   _IOR('r', 2, struct __fat_dirent[2])
 
#define FAT_IOCTL_GET_ATTRIBUTES   _IOR('r', 0x10, __u32)
 
#define FAT_IOCTL_SET_ATTRIBUTES   _IOW('r', 0x11, __u32)
 

Macro Definition Documentation

#define ATTR_ARCH   32 /* archived */

Definition at line 39 of file msdos_fs.h.

#define ATTR_DIR   16 /* directory */

Definition at line 38 of file msdos_fs.h.

#define ATTR_EXT   (ATTR_RO | ATTR_HIDDEN | ATTR_SYS | ATTR_VOLUME)

Definition at line 44 of file msdos_fs.h.

#define ATTR_HIDDEN   2 /* hidden */

Definition at line 35 of file msdos_fs.h.

#define ATTR_NONE   0 /* no attribute bits */

Definition at line 33 of file msdos_fs.h.

#define ATTR_RO   1 /* read-only */

Definition at line 34 of file msdos_fs.h.

#define ATTR_SYS   4 /* system */

Definition at line 36 of file msdos_fs.h.

#define ATTR_UNUSED   (ATTR_VOLUME | ATTR_ARCH | ATTR_SYS | ATTR_HIDDEN)

Definition at line 42 of file msdos_fs.h.

#define ATTR_VOLUME   8 /* volume label */

Definition at line 37 of file msdos_fs.h.

#define BAD_FAT12   0xFF7

Definition at line 72 of file msdos_fs.h.

#define BAD_FAT16   0xFFF7

Definition at line 73 of file msdos_fs.h.

#define BAD_FAT32   0x0FFFFFF7

Definition at line 74 of file msdos_fs.h.

#define CASE_LOWER_BASE   8 /* base is lower case */

Definition at line 46 of file msdos_fs.h.

#define CASE_LOWER_EXT   16 /* extension is lower case */

Definition at line 47 of file msdos_fs.h.

#define CF_LE_L (   v)    le32_to_cpu(v)

Definition at line 20 of file msdos_fs.h.

#define CF_LE_W (   v)    le16_to_cpu(v)

Definition at line 19 of file msdos_fs.h.

#define CT_LE_L (   v)    cpu_to_le32(v)

Definition at line 22 of file msdos_fs.h.

#define CT_LE_W (   v)    cpu_to_le16(v)

Definition at line 21 of file msdos_fs.h.

#define DELETED_FLAG   0xe5 /* marks file as deleted when in name[0] */

Definition at line 49 of file msdos_fs.h.

#define EOF_FAT12   0xFFF

Definition at line 77 of file msdos_fs.h.

#define EOF_FAT16   0xFFFF

Definition at line 78 of file msdos_fs.h.

#define EOF_FAT32   0x0FFFFFFF

Definition at line 79 of file msdos_fs.h.

#define FAT_ENT_BAD   (BAD_FAT32)

Definition at line 82 of file msdos_fs.h.

#define FAT_ENT_EOF   (EOF_FAT32)

Definition at line 83 of file msdos_fs.h.

#define FAT_ENT_FREE   (0)

Definition at line 81 of file msdos_fs.h.

#define FAT_FIRST_ENT (   s,
  x 
)
Value:
((MSDOS_SB(s)->fat_bits == 32 ? 0x0FFFFF00 : \
MSDOS_SB(s)->fat_bits == 16 ? 0xFF00 : 0xF00) | (x))

Definition at line 58 of file msdos_fs.h.

#define FAT_FSINFO_SIG1   0x41615252

Definition at line 85 of file msdos_fs.h.

#define FAT_FSINFO_SIG2   0x61417272

Definition at line 86 of file msdos_fs.h.

#define FAT_IOCTL_GET_ATTRIBUTES   _IOR('r', 0x10, __u32)

Definition at line 103 of file msdos_fs.h.

#define FAT_IOCTL_SET_ATTRIBUTES   _IOW('r', 0x11, __u32)

Definition at line 104 of file msdos_fs.h.

#define FAT_LFN_LEN   255 /* maximum long name length */

Definition at line 52 of file msdos_fs.h.

#define FAT_MAX_DIR_ENTRIES   (65536)

Definition at line 30 of file msdos_fs.h.

#define FAT_MAX_DIR_SIZE   (FAT_MAX_DIR_ENTRIES << MSDOS_DIR_BITS)

Definition at line 31 of file msdos_fs.h.

#define FAT_START_ENT   2

Definition at line 62 of file msdos_fs.h.

#define IS_FREE (   n)    (!*(n) || *(n) == DELETED_FLAG)

Definition at line 50 of file msdos_fs.h.

#define IS_FSINFO (   x)
Value:
(le32_to_cpu((x)->signature1) == FAT_FSINFO_SIG1 \
&& le32_to_cpu((x)->signature2) == FAT_FSINFO_SIG2)

Definition at line 87 of file msdos_fs.h.

#define MAX_FAT (   s)
Value:
(MSDOS_SB(s)->fat_bits == 32 ? MAX_FAT32 : \
MSDOS_SB(s)->fat_bits == 16 ? MAX_FAT16 : MAX_FAT12)

Definition at line 68 of file msdos_fs.h.

#define MAX_FAT12   0xFF4

Definition at line 65 of file msdos_fs.h.

#define MAX_FAT16   0xFFF4

Definition at line 66 of file msdos_fs.h.

#define MAX_FAT32   0x0FFFFFF6

Definition at line 67 of file msdos_fs.h.

#define MSDOS_DIR_BITS   5 /* log2(sizeof(struct msdos_dir_entry)) */

Definition at line 27 of file msdos_fs.h.

#define MSDOS_DOT   ". " /* ".", padded to MSDOS_NAME chars */

Definition at line 55 of file msdos_fs.h.

#define MSDOS_DOTDOT   ".. " /* "..", padded to MSDOS_NAME chars */

Definition at line 56 of file msdos_fs.h.

#define MSDOS_DPB   (MSDOS_DPS) /* dir entries per block */

Definition at line 14 of file msdos_fs.h.

#define MSDOS_DPB_BITS   4 /* log2(MSDOS_DPB) */

Definition at line 15 of file msdos_fs.h.

#define MSDOS_DPS   (SECTOR_SIZE / sizeof(struct msdos_dir_entry))

Definition at line 16 of file msdos_fs.h.

#define MSDOS_DPS_BITS   4 /* log2(MSDOS_DPS) */

Definition at line 17 of file msdos_fs.h.

#define MSDOS_FSINFO_INO   2 /* Used for managing the FSINFO block */

Definition at line 25 of file msdos_fs.h.

#define MSDOS_LONGNAME   256 /* maximum name length */

Definition at line 18 of file msdos_fs.h.

#define MSDOS_NAME   11 /* maximum name length */

Definition at line 53 of file msdos_fs.h.

#define MSDOS_ROOT_INO   1 /* The root inode number */

Definition at line 24 of file msdos_fs.h.

#define MSDOS_SLOTS   21 /* max # of slots for short and long names */

Definition at line 54 of file msdos_fs.h.

#define SECTOR_BITS   9 /* log2(SECTOR_SIZE) */

Definition at line 13 of file msdos_fs.h.

#define SECTOR_SIZE   512 /* sector size (bytes) */

Definition at line 12 of file msdos_fs.h.

#define VFAT_IOCTL_READDIR_BOTH   _IOR('r', 1, struct __fat_dirent[2])

Definition at line 100 of file msdos_fs.h.

#define VFAT_IOCTL_READDIR_SHORT   _IOR('r', 2, struct __fat_dirent[2])

Definition at line 101 of file msdos_fs.h.