CodeNet / Языки программирования / C / C++ / Linux/Unix / Справочник С/C++ для UNIX - Список функций
CodeNet / Языки программирования / C / C++ / Руководства и справочные материалы по C/C++ / Справочники по функциям / Справочник С/C++ для UNIX - Список функций
CodeNet / Языки программирования / C / C++ / Руководства и справочные материалы по C/C++ / Справочники по функциям / Справочник С/C++ для UNIX - Список функций
umask
UMASK
#include <sys\types.h>
#include <sys\stat.h>
#include <io.h> требуется только для объявления
функции
int umask(pmode);
int pmode; доступ, разрешенный по умолчанию
Описание.
Функция umask устанавливает для текущего процесса маску
разрешенного доступа для файла в режим, который определяется по
pmode. Маска разрешенного доступа используется для модификации
установленного доступа для новых файлов, созданных посредством
функций create, open или sopen. Если бит в маске равен 1, то со-
ответствующий ему бит в значении режима доступа к файлу устанав-
ливается в 0 (запрещение). Если бит в маске равен 0, соответству-
ющий ему бит остается неизмененным. Маска доступа для нового фай-
ла не установится, пока файл не закроется хотя бы один раз. Аргу-
мент pmode является константным выражением, содержащим одну или
обе манифестные константы S_IWRITE и S_IREAD, определенные в
<sys\stat.h>.Когда заданы обе константы, они объединяются логичес-
ким опратором ИЛИ(:).
Значение аргумента pmode приводится ниже.
Значение Его смысл
S_IWRITE Запись не допускается (файл только для
чтения)
S_IREAD Чтение не допускается (файл только для
записи)
Например, если в маске установлен бит записи, любые новые
файлы будут доступны для чтения.
Замечание. В MS DOS все файлы доступны для чтения, поэтому
доступ только по записи задать невозможно. Это обозначает, что
установка бита чтения в umask не имеет смысла.
Возвращаемое значение.
Функция umask возвращает предыдущее значение pmode. Возвра-
щаемого значения в случае ошибки нет.
См.также chmod, creat, mkdir, open.
Пример:
#include <sys\types.h>
#include <sys\stat.h>
#include <io.h>
int oldmask;
oldmask=umask(S_IWRITE);
/* создать файлы только для чтения */
