Системный вызов creat()
Описание системного вызова
Системный вызов creât эквивалентен системному вызову open( ) с параметром flags, установленным в значение o_Creat I o_wronly I ojtrunc.
Параметр path является указателем на строку, содержащую полное или относительное имя файла.
Если файла с указанным именем не существовало к моменту системного вызова, он будет создан и открыт только для выполнения операций записи. Если файл уже существовал, то он открывается также только для операции записи, при этом его длина уменьшается до 0 с одновременным сохранением всех других атрибутов файла.
Параметр mode устанавливает атрибуты прав доступа различных категорий пользователей к новому файлу при его создании. Этот параметр задается как сумма следующих восьмеричных значений:
0400 - разрешено чтение для пользователя, создавшего файл;
0200 - разрешена запись для пользователя, создавшего файл;
0100 - разрешено исполнение для пользователя, создавшего файл;
0040 - разрешено чтение для группы пользователя, создавшего файл;
0020 - разрешена запись для группы пользователя, создавшего файл;
0010 - разрешено исполнение для группы пользователя, создавшего файл;
0004 - разрешено чтение для всех остальных пользователей;
0002 - разрешена запись для всех остальных пользователей;
0001 - разрешено исполнение для всех остальных пользователей.
При создании файла реально устанавливаемые права доступа получаются из стандартной комбинации параметра mode и маски создания файлов текущего процесса umask, а именно - они равны mode & ~ umask.
Возвращаемое значение
Системный вызов возвращает значение файлового дескриптора для открытого файла при нормальном завершении и значение -1 при возникновении ошибки.