Архив документации OpenNet.ru / Раздел "Программирование, языки" / Индекс
Оглавление

Приложение2. Флаги режима доступа к файлу

Таблица 1. Флаги общего режима
Таблица 2. Флаги расширенного режима
Таблица 3. Дополнительные флаги
Таблица 4. Флаги режима открытия файла

Таблица 1. Флаги общего режима

Флаг Восьмиричное представление 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

Таблица 2. Флаги расширенного режима

Флаг Восьмиричное представление Описание
S_IFMT 0170000 Двоичная маска определения типа файла (побитовое ИЛИ всех следующих ниже флагов)
S_IFDIR 0040000 Каталог
S_IFCHR 0020000 Символьное устройство
S_IFBLK 0060000 Блочное устройство
S_IFREG 0100000 Обычный файл
S_IFIFO 0010000 Канал FIFO
S_IFLNK 0120000 Символическая ссылка

Таблица 3. Дополнительные флаги

Флаг Восьмиричное представление Описание
S_ISUID 0004000 Бит SETUID
S_ISGID 0002000 Бит SETGID
S_ISVTX 0001000 Липкий (sticky) бит

Таблица 4. Флаги режима открытия файла

Флаг Описание
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)


Copyright © 2003-2006, 2007 Nikolay N. Ivanov
Distributed under the GNU Free Documentaton License

Архив документации на OpenNet.ru