Files
2025-10-25 03:02:53 +03:00

42 lines
4.5 KiB
Markdown
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

[fs.enum.perms]
# 31 Input/output library [[input.output]](./#input.output)
## 31.12 File systems [[filesystems]](filesystems#fs.enum.perms)
### 31.12.8 Enumerations [[fs.enum]](fs.enum#perms)
#### 31.12.8.4 Enum class perms [fs.enum.perms]
[1](#1)
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/iostreams.tex#L15823)
The enum class type perms is a bitmask type ([[bitmask.types]](bitmask.types "16.3.3.3.3Bitmask types")) that specifies bitmask constants used to identify file
permissions, with the meanings listed in Table [151](#tab:fs.enum.perms "Table 151: Enum class perms")[.](#1.sentence-1)
Table [151](#tab:fs.enum.perms) — Enum class perms [[tab:fs.enum.perms]](./tab:fs.enum.perms)
| [🔗](#tab:fs.enum.perms-row-1)<br>**Name** | **Value** | **POSIX** | **Definition or notes** |
| --- | --- | --- | --- |
| [🔗](#tab:fs.enum.perms-row-2) | **(octal)** | **macro** | |
| [🔗](#tab:fs.enum.perms-row-3)<br>[none](#lib:perms,none "31.12.8.4Enum class perms[fs.enum.perms]") | 0 | | There are no permissions set for the file[.](#tab:fs.enum.perms-row-3-column-4-sentence-1) |
| [🔗](#tab:fs.enum.perms-row-4)<br>[owner_read](#lib:perms,owner_read "31.12.8.4Enum class perms[fs.enum.perms]") | 0400 | S_IRUSR | Read permission, owner |
| [🔗](#tab:fs.enum.perms-row-5)<br>[owner_write](#lib:perms,owner_write "31.12.8.4Enum class perms[fs.enum.perms]") | 0200 | S_IWUSR | Write permission, owner |
| [🔗](#tab:fs.enum.perms-row-6)<br>[owner_exec](#lib:perms,owner_exec "31.12.8.4Enum class perms[fs.enum.perms]") | 0100 | S_IXUSR | Execute/search permission, owner |
| [🔗](#tab:fs.enum.perms-row-7)<br>[owner_all](#lib:perms,owner_all "31.12.8.4Enum class perms[fs.enum.perms]") | 0700 | S_IRWXU | Read, write, execute/search by owner; owner_read | owner_write | owner_exec |
| [🔗](#tab:fs.enum.perms-row-8)<br>[group_read](#lib:perms,group_read "31.12.8.4Enum class perms[fs.enum.perms]") | 040 | S_IRGRP | Read permission, group |
| [🔗](#tab:fs.enum.perms-row-9)<br>[group_write](#lib:perms,group_write "31.12.8.4Enum class perms[fs.enum.perms]") | 020 | S_IWGRP | Write permission, group |
| [🔗](#tab:fs.enum.perms-row-10)<br>[group_exec](#lib:perms,group_exec "31.12.8.4Enum class perms[fs.enum.perms]") | 010 | S_IXGRP | Execute/search permission, group |
| [🔗](#tab:fs.enum.perms-row-11)<br>[group_all](#lib:perms,group_all "31.12.8.4Enum class perms[fs.enum.perms]") | 070 | S_IRWXG | Read, write, execute/search by group; group_read | group_write | group_exec |
| [🔗](#tab:fs.enum.perms-row-12)<br>[others_read](#lib:perms,others_read "31.12.8.4Enum class perms[fs.enum.perms]") | 04 | S_IROTH | Read permission, others |
| [🔗](#tab:fs.enum.perms-row-13)<br>[others_write](#lib:perms,others_write "31.12.8.4Enum class perms[fs.enum.perms]") | 02 | S_IWOTH | Write permission, others |
| [🔗](#tab:fs.enum.perms-row-14)<br>[others_exec](#lib:perms,others_exec "31.12.8.4Enum class perms[fs.enum.perms]") | 01 | S_IXOTH | Execute/search permission, others |
| [🔗](#tab:fs.enum.perms-row-15)<br>[others_all](#lib:perms,others_all "31.12.8.4Enum class perms[fs.enum.perms]") | 07 | S_IRWXO | Read, write, execute/search by others; others_read | others_write | others_exec |
| [🔗](#tab:fs.enum.perms-row-16)<br>[all](#lib:perms,all "31.12.8.4Enum class perms[fs.enum.perms]") | 0777 | | owner_all | group_all | others_all |
| [🔗](#tab:fs.enum.perms-row-17)<br>[set_uid](#lib:perms,set_uid "31.12.8.4Enum class perms[fs.enum.perms]") | 04000 | S_ISUID | Set-user-ID on execution |
| [🔗](#tab:fs.enum.perms-row-18)<br>[set_gid](#lib:perms,set_gid "31.12.8.4Enum class perms[fs.enum.perms]") | 02000 | S_ISGID | Set-group-ID on execution |
| [🔗](#tab:fs.enum.perms-row-19)<br>[sticky_bit](#lib:perms,sticky_bit "31.12.8.4Enum class perms[fs.enum.perms]") | 01000 | S_ISVTX | Operating system dependent[.](#tab:fs.enum.perms-row-19-column-4-sentence-1) |
| [🔗](#tab:fs.enum.perms-row-20)<br>[mask](#lib:perms,mask "31.12.8.4Enum class perms[fs.enum.perms]") | 07777 | | all | set_uid | set_gid | sticky_bit |
| [🔗](#tab:fs.enum.perms-row-21)<br>[unknown](#lib:perms,unknown "31.12.8.4Enum class perms[fs.enum.perms]") | 0xFFFF | | The permissions are not known, such as when a file_status object is created without specifying the permissions |