Флаг | Восьмиричное представление | RWX-представление |
S_IRWXU | 00700 | rwx --- --- |
S_IRUSR | 00400 | r-- --- --- |
S_IREAD | 00400 | r-- --- --- |
S_IWUSR | 00200 | -w- --- --- |
S_IWRITE | 00200 | -w- --- --- |
S_IXUSR | 00100 | --x --- --- |
S_IEXEC | 00100 | --x --- --- |
S_IRWXG | 00070 | --- rwx --- |
S_IRGRP | 00040 | --- r-- --- |
S_IWGRP | 00020 | --- -w- --- |
S_IXGRP | 00010 | --- --x --- |
S_IRWXO | 00007 | --- --- rwx |
S_IROTH | 00004 | --- --- r-- |
S_IWOTH | 00002 | --- --- -w- |
S_IXOTH | 00001 | --- --- --x |
Флаг | Восьмиричное представление | Описание |
S_IFMT | 0170000 | Двоичная маска определения типа файла (побитовое ИЛИ всех следующих ниже флагов) |
S_IFDIR | 0040000 | Каталог |
S_IFCHR | 0020000 | Символьное устройство |
S_IFBLK | 0060000 | Блочное устройство |
S_IFREG | 0100000 | Обычный файл |
S_IFIFO | 0010000 | Канал FIFO |
S_IFLNK | 0120000 | Символическая ссылка |
Флаг | Восьмиричное представление | Описание |
S_ISUID | 0004000 | Бит SETUID |
S_ISGID | 0002000 | Бит SETGID |
S_ISVTX | 0001000 | Липкий (sticky) бит |
Флаг | Описание |
O_RDONLY | Только чтение (0) |
O_WRONLY | Только запись (1) |
O_RDWR | Чтение и запись (2) |
O_CREAT | Создать файл, если не существует |
O_TRUNC | Стереть файл, если существует |
O_APPEND | Дописывать в конец |
O_EXCL | Выдать ошибку, если файл существует при использовании O_CREAT |
O_DSYNC | Принудительная синхронизация записи |
O_RSYNC | Принудительная синхронизация перед чтением |
O_SYNC | Принудительная полная синхронизация записи |
O_NONBLOCK | Открыть файл в неблокируемом режиме, если это возможно |
O_NDELAY | То же, что и O_NONBLOCK |
O_NOCTTY | Если открываемый файл - терминальное устройство, не делать его управляющим терминалом процесса |
O_NOFOLLOW | Выдать ошибку, если открываемый файл является символической ссылкой |
O_DIRECTORY | Выдать ошибку, если открываемый файл не является каталогом |
O_DIRECT | Попытаться минимизировать кэширование чтения/записи файла |
O_ASYNC | Генерировать сигнал, когда появляется возможность чтения или записи в файл |
O_LARGEFILE | Разрешить большие файлы (размер которых не может быть представлен в 31 бите (для систем с поддержкой LFS) |