tmp/tmpghqygh5m/{from.md → to.md}
RENAMED
|
@@ -0,0 +1,111 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
### Enumerations <a id="fs.enum">[[fs.enum]]</a>
|
| 2 |
+
|
| 3 |
+
#### Enum `path::format` <a id="fs.enum.path.format">[[fs.enum.path.format]]</a>
|
| 4 |
+
|
| 5 |
+
This enum specifies constants used to identify the format of the
|
| 6 |
+
character sequence, with the meanings listed in Table
|
| 7 |
+
[[tab:enum.path.format]].
|
| 8 |
+
|
| 9 |
+
[*Note 1*: For POSIX-based systems, native and generic formats are
|
| 10 |
+
equivalent and the character sequence should always be interpreted in
|
| 11 |
+
the same way. — *end note*]
|
| 12 |
+
|
| 13 |
+
#### Enum class `file_type` <a id="fs.enum.file_type">[[fs.enum.file_type]]</a>
|
| 14 |
+
|
| 15 |
+
This enum class specifies constants used to identify file types, with
|
| 16 |
+
the meanings listed in Table [[tab:fs.enum.file_type]].
|
| 17 |
+
|
| 18 |
+
[*Note 1*: The file not being found is not considered an error while
|
| 19 |
+
determining the type of a file. — *end note*]
|
| 20 |
+
|
| 21 |
+
#### Enum class `copy_options` <a id="fs.enum.copy.opts">[[fs.enum.copy.opts]]</a>
|
| 22 |
+
|
| 23 |
+
The `enum class` type `copy_options` is a bitmask type (
|
| 24 |
+
[[bitmask.types]]) that specifies bitmask constants used to control the
|
| 25 |
+
semantics of copy operations. The constants are specified in option
|
| 26 |
+
groups with the meanings listed in Table [[tab:fs.enum.copy_options]].
|
| 27 |
+
Constant `none` is shown in each option group for purposes of
|
| 28 |
+
exposition; implementations shall provide only a single definition.
|
| 29 |
+
|
| 30 |
+
**Table: Enum class `copy_options`** <a id="tab:fs.enum.copy_options">[tab:fs.enum.copy_options]</a>
|
| 31 |
+
|
| 32 |
+
| Constant | Meaning |
|
| 33 |
+
| -------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- |
|
| 34 |
+
| `none` | (Default) Error; file already exists. |
|
| 35 |
+
| `skip_existing` | Do not overwrite existing file, do not report an error. |
|
| 36 |
+
| `overwrite_existing` | Overwrite the existing file. |
|
| 37 |
+
| `update_existing` | Overwrite the existing file if it is older than the replacement file. \ohdrx{2}{Option group controlling `copy` function effects for sub-directories} |
|
| 38 |
+
| `recursive` | Recursively copy sub-directories and their contents. \ohdrx{2}{Option group controlling `copy` function effects for symbolic links} |
|
| 39 |
+
| `copy_symlinks` | Copy symbolic links as symbolic links rather than copying the files that they point to. |
|
| 40 |
+
| `skip_symlinks` | Ignore symbolic links. \ohdrx{2}{Option group controlling `copy` function effects for choosing the form of copying} |
|
| 41 |
+
| `directories_only` | Copy directory structure only, do not copy non-directory files. |
|
| 42 |
+
| `create_symlinks` | Make symbolic links instead of copies of files. The source path shall be an absolute path unless the destination path is in the current directory. |
|
| 43 |
+
| `create_hard_links` | Make hard links instead of copies of files. |
|
| 44 |
+
|
| 45 |
+
|
| 46 |
+
#### Enum class `perms` <a id="fs.enum.perms">[[fs.enum.perms]]</a>
|
| 47 |
+
|
| 48 |
+
The `enum class` type `perms` is a bitmask type ([[bitmask.types]])
|
| 49 |
+
that specifies bitmask constants used to identify file permissions, with
|
| 50 |
+
the meanings listed in Table [[tab:fs.enum.perms]].
|
| 51 |
+
|
| 52 |
+
**Table: Enum class `perms`** <a id="tab:fs.enum.perms">[tab:fs.enum.perms]</a>
|
| 53 |
+
|
| 54 |
+
| Name | Value (octal) | POSIX macro | Definition or notes |
|
| 55 |
+
| -------------- | ------------- | ----------- | ---------------------------------------------------------------------------------------------------------------- |
|
| 56 |
+
| `none` | `0` | | There are no permissions set for the file. |
|
| 57 |
+
| `owner_read` | `0400` | `S_IRUSR` | Read permission, owner |
|
| 58 |
+
| `owner_write` | `0200` | `S_IWUSR` | Write permission, owner |
|
| 59 |
+
| `owner_exec` | `0100` | `S_IXUSR` | Execute/search permission, owner |
|
| 60 |
+
| `owner_all` | `0700` | `S_IRWXU` | Read, write, execute/search by owner;<br> `owner_read | owner_write | owner_exec` |
|
| 61 |
+
| `group_read` | `040` | `S_IRGRP` | Read permission, group |
|
| 62 |
+
| `group_write` | `020` | `S_IWGRP` | Write permission, group |
|
| 63 |
+
| `group_exec` | `010` | `S_IXGRP` | Execute/search permission, group |
|
| 64 |
+
| `group_all` | `070` | `S_IRWXG` | Read, write, execute/search by group;<br> `group_read | group_write | group_exec` |
|
| 65 |
+
| `others_read` | `04` | `S_IROTH` | Read permission, others |
|
| 66 |
+
| `others_write` | `02` | `S_IWOTH` | Write permission, others |
|
| 67 |
+
| `others_exec` | `01` | `S_IXOTH` | Execute/search permission, others |
|
| 68 |
+
| `others_all` | `07` | `S_IRWXO` | Read, write, execute/search by others;<br> `others_read | others_write | others_exec` |
|
| 69 |
+
| `all` | `0777` | | `owner_all | group_all | others_all` |
|
| 70 |
+
| `set_uid` | `04000` | `S_ISUID` | Set-user-ID on execution |
|
| 71 |
+
| `set_gid` | `02000` | `S_ISGID` | Set-group-ID on execution |
|
| 72 |
+
| `sticky_bit` | `01000` | `S_ISVTX` | Operating system dependent. |
|
| 73 |
+
| `mask` | `07777` | | `all | set_uid | set_gid | sticky_bit` |
|
| 74 |
+
| `unknown` | `0xFFFF` | | The permissions are not known, such as when a `file_status` object is created without specifying the permissions |
|
| 75 |
+
|
| 76 |
+
|
| 77 |
+
#### Enum class `perm_options` <a id="fs.enum.perm.opts">[[fs.enum.perm.opts]]</a>
|
| 78 |
+
|
| 79 |
+
The `enum class` type `perm_options` is a bitmask type (
|
| 80 |
+
[[bitmask.types]]) that specifies bitmask constants used to control the
|
| 81 |
+
semantics of permissions operations, with the meanings listed in Table
|
| 82 |
+
[[tab:enum.perm_options]]. The bitmask constants are bitmask elements.
|
| 83 |
+
In Table [[tab:enum.perm_options]] `perm` denotes a value of type
|
| 84 |
+
`perms` passed to `permissions`.
|
| 85 |
+
|
| 86 |
+
**Table: Enum class `perm_options`** <a id="tab:enum.perm_options">[tab:enum.perm_options]</a>
|
| 87 |
+
|
| 88 |
+
| Name | Meaning |
|
| 89 |
+
| ---------- | ----------------------------------------------------------------------------------------------------------------------------------------------- |
|
| 90 |
+
| `replace` | `permissions` shall replace the file's permission bits with `perm` |
|
| 91 |
+
| `add` | `permissions` shall replace the file's permission bits with the bitwise OR of `perm` and the file's current permission bits. |
|
| 92 |
+
| `remove` | `permissions` shall replace the file's permission bits with the bitwise AND of the complement of `perm` and the file's current permission bits. |
|
| 93 |
+
| `nofollow` | `permissions` shall change the permissions of a symbolic link itself rather than the permissions of the file the link resolves to. |
|
| 94 |
+
|
| 95 |
+
|
| 96 |
+
#### Enum class `directory_options` <a id="fs.enum.dir.opts">[[fs.enum.dir.opts]]</a>
|
| 97 |
+
|
| 98 |
+
The `enum class` type `directory_options` is a bitmask type (
|
| 99 |
+
[[bitmask.types]]) that specifies bitmask constants used to identify
|
| 100 |
+
directory traversal options, with the meanings listed in Table
|
| 101 |
+
[[tab:fs.enum.directory_options]].
|
| 102 |
+
|
| 103 |
+
**Table: Enum class `directory_options`** <a id="tab:fs.enum.directory_options">[tab:fs.enum.directory_options]</a>
|
| 104 |
+
|
| 105 |
+
| Name | Meaning |
|
| 106 |
+
| -------------------------- | ------------------------------------------------------------------ |
|
| 107 |
+
| `none` | (Default) Skip directory symlinks, permission denied is an error. |
|
| 108 |
+
| `follow_directory_symlink` | Follow rather than skip directory symlinks. |
|
| 109 |
+
| `skip_permission_denied` | Skip directories that would otherwise result in permission denied. |
|
| 110 |
+
|
| 111 |
+
|