Path Names on the Petit FatFs

Format of the path names

The path name format on the Petit FatFs module is similer to MS-DOS as follows.

"[/]DIRECTORY/FILE"

The Petit FatFs module supports only 8.3 format file name. The sub-directories are separated with a '/'. The path name is terminated with a '\0', control character or white space. Heading spaces are ignored and skipped. When PF_USE_LCC == 1, lower case ASCII characters (a-z) and extended characters (\x80-\xFF) are allowed for the path name.

The Petit FatFs module does not have a concept of current directory like OS oriented file system. Every object on the volume is always specified in full path name follows from the root directory. Heading separator is ignored and it can be exist or omitted.

Legal Characters and Case Sensitivity

On the FAT filesystem, legal characters for object name (file/directory name) are, 0-9 A-Z ! # $ % & ' ( ) - @ ^ _ ` { } ~ and any extended character. The valid character codes of extended characters are depends on the configured code page.

FAT filesystem is case-insensitive to the object names on the volume. Object name on the FAT volume is compared in case-insensitive. For instance, these three names, file.txt, File.Txt and FILE.TXT, are identical. This is applied to extended charactres as well. When an object is created on the FAT volume, up-converted name is recorded to the directory entry.