[fs.enum.file.type]

# 31 Input/output library [[input.output]](./#input.output)

## 31.12 File systems [[filesystems]](filesystems#fs.enum.file.type)

### 31.12.8 Enumerations [[fs.enum]](fs.enum#file.type)

#### 31.12.8.2 Enum class file_type [fs.enum.file.type]

[1](#1)

[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/iostreams.tex#L15720)

This enum class specifies constants used to identify file types,
with the meanings listed in Table [149](#tab:fs.enum.file.type "Table 149: Enum class file_­type")[.](#1.sentence-1)

The values of the constants are distinct[.](#1.sentence-2)

Table [149](#tab:fs.enum.file.type) — Enum class file_type [[tab:fs.enum.file.type]](./tab:fs.enum.file.type)  

| [ð](#tab:fs.enum.file.type-row-1)<br>**Constant** | **Meaning** |
| --- | --- |
| [ð](#tab:fs.enum.file.type-row-2)<br>[none](#lib:file_type,none "31.12.8.2 Enum class file_­type [fs.enum.file.type]") | The type of the file has not been determined or an error occurred while  trying to determine the type[.](#tab:fs.enum.file.type-row-2-column-2-sentence-1) |
| [ð](#tab:fs.enum.file.type-row-3)<br>[not_found](#lib:file_type,not_found "31.12.8.2 Enum class file_­type [fs.enum.file.type]") | Pseudo-type indicating the file was not found[.](#tab:fs.enum.file.type-row-3-column-2-sentence-1)<br>[*Note [1](#tab:fs.enum.file.type-row-3-column-2-note-1)*:<br>The file not being found is not considered an error while determining the type of a file[.](#tab:fs.enum.file.type-row-3-column-2-sentence-2) â *end note*] |
| [ð](#tab:fs.enum.file.type-row-4)<br>[regular](#lib:file_type,regular "31.12.8.2 Enum class file_­type [fs.enum.file.type]") | Regular file |
| [ð](#tab:fs.enum.file.type-row-5)<br>[directory](#lib:file_type,directory "31.12.8.2 Enum class file_­type [fs.enum.file.type]") | Directory file |
| [ð](#tab:fs.enum.file.type-row-6)<br>[symlink](#lib:file_type,symlink "31.12.8.2 Enum class file_­type [fs.enum.file.type]") | Symbolic link file |
| [ð](#tab:fs.enum.file.type-row-7)<br>[block](#lib:file_type,block "31.12.8.2 Enum class file_­type [fs.enum.file.type]") | Block special file |
| [ð](#tab:fs.enum.file.type-row-8)<br>[character](#lib:file_type,character "31.12.8.2 Enum class file_­type [fs.enum.file.type]") | Character special file |
| [ð](#tab:fs.enum.file.type-row-9)<br>[fifo](#lib:file_type,fifo "31.12.8.2 Enum class file_­type [fs.enum.file.type]") | FIFO or pipe file |
| [ð](#tab:fs.enum.file.type-row-10)<br>[socket](#lib:file_type,socket "31.12.8.2 Enum class file_­type [fs.enum.file.type]") | Socket file |
| [ð](#tab:fs.enum.file.type-row-11)<br>*implementation-defined* | Implementations that support file systems having file types in addition to the above file_type types shall supply implementation-defined file_type constants to separately identify each of those additional file types |
| [ð](#tab:fs.enum.file.type-row-12)<br>[unknown](#lib:file_type,unknown "31.12.8.2 Enum class file_­type [fs.enum.file.type]") | The file exists but the type cannot be determined |
