[fs.enum.perm.opts]

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

## 31.12 File systems [[filesystems]](filesystems#fs.enum.perm.opts)

### 31.12.8 Enumerations [[fs.enum]](fs.enum#perm.opts)

#### 31.12.8.5 Enum class perm_options [fs.enum.perm.opts]

[1](#1)

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

The enum class type perm_options is a bitmask type ([[bitmask.types]](bitmask.types "16.3.3.3.3 Bitmask types")) that specifies bitmask constants used to
control the semantics of permissions operations,
with the meanings listed in Table [152](#tab:fs.enum.perm.opts "Table 152: Enum class perm_­options")[.](#1.sentence-1)

The bitmask constants are bitmask elements[.](#1.sentence-2)

In Table [152](#tab:fs.enum.perm.opts "Table 152: Enum class perm_­options") perm denotes a value of type perms passed to permissions[.](#1.sentence-3)

Table [152](#tab:fs.enum.perm.opts) — Enum class perm_options [[tab:fs.enum.perm.opts]](./tab:fs.enum.perm.opts)  

| [ð](#tab:fs.enum.perm.opts-row-1)<br>**Name** | **Meaning** |
| --- | --- |
| [ð](#tab:fs.enum.perm.opts-row-2)<br>[replace](#lib:perm_options,replace "31.12.8.5 Enum class perm_­options [fs.enum.perm.opts]") | permissions shall replace the file's permission bits with perm |
| [ð](#tab:fs.enum.perm.opts-row-3)<br>[add](#lib:perm_options,add "31.12.8.5 Enum class perm_­options [fs.enum.perm.opts]") | permissions shall replace the file's permission bits with  the bitwise or of perm and the file's current permission bits[.](#tab:fs.enum.perm.opts-row-3-column-2-sentence-1) |
| [ð](#tab:fs.enum.perm.opts-row-4)<br>[remove](#lib:perm_options,remove "31.12.8.5 Enum class perm_­options [fs.enum.perm.opts]") | permissions shall replace the file's permission bits with  the bitwise and of the complement of perm and the file's current permission bits[.](#tab:fs.enum.perm.opts-row-4-column-2-sentence-1) |
| [ð](#tab:fs.enum.perm.opts-row-5)<br>[nofollow](#lib:perm_options,nofollow "31.12.8.5 Enum class perm_­options [fs.enum.perm.opts]") | permissions shall change the permissions of a symbolic link itself  rather than the permissions of the file the link resolves to[.](#tab:fs.enum.perm.opts-row-5-column-2-sentence-1) |
