848 Глава 14

функция	синтаксис / описание	файл
sopen	int sopen(char *path, int access, int shflag [, int mode])Открывает файл path совместного доступа, определяемого параметрами access, shflag, mode; возвращает дескриптор или -1	fcntl.h, sys\stat.h, share.h, io.h, stdio.h
umask	unsigned umask(unsigned mode)Задает маску режима чтения/записи mode, принимаемую по умолчанию функциями open и creat: SIWRITE, SIREAD или SIREAD|SIWRITE; возвращает предыдущую маску	io.h.
unlock	int unlock(int handle, long offset, long length)Разблокирует в файле handle length байтов, начиная с позиции offset, для чтения или записи другими процессами	io.h

Комментарии

Функция _creat создает новый или переписывает существующий файл в ре-
жиме mode. Параметр path указывает имя файла или имя с путем к нему. Вид
файла — текстовый или двоичный, задается глобальной переменной _fmode —
0_ТЕХТ или 0_BINARY. Если файл существует и для него установлен атрибут за-
писи, то длина файла усекается до 0. Если же файл существует и имеет атрибут то-
лько для чтения, то функция _creat выдает ошибку, а файл сохраняется неизмен-
ным.

Режим, в котором создается файл, определяется параметром mode, который
может принимать значения, определенные в файле sys\stat.h и указанные в разде-
ле 14.12.1.

При успешном завершении возвращается дескриптор созданного файла. При
ошибке возвращается -1, а значение еггпо (см. раздел 14.5.1) может иметь значе-
ния EACCES, ENOENT, EMFILE.

В настоящее время функция _creat считается устаревшей и вместо нее реко-
мендуется использовать _rtl_creat. Она действует подобно функции _creat, но все-
гда создает двоичный файл и позволяет своим параметром attrib установить опера-
цией ИЛИ (|) атрибуты: FA_RDONLY — только для чтения, FA_HIDDEN — неви-
димый, FA_SYSTEM — системный (подробнее об атрибутах см. в разделе 14.12.1).

Функция creatnew аналогична функции _rtl_creat во всем, кроме того, что
возвращает -1 в случае, если файл с данным именем уже существует.

Функция _rtl_open открывает существующий файл filename для чтения или
записи с атрибутами oflags. Таблица возможных атрибутов приведена в разделе
14.12.1. При успешном завершении возвращается дескриптор открытого файла и
его указатель устанавливается на начало файла. При ошибке возвращается -1, а
значение еггпо (см. раздел 14.5.1) может иметь значения EINVACC, EACCES,
ENOENT, EMFILE.

Функция _sopen открывает файл path совместного доступа, определяемого па-
раметрами access, shflag, mode. Параметр access задает совокупность 0_... флагов
доступа, перечисленных в разделе 14.12.1. Если среди этих флагов задан 0_CREA,
то режим открытия файла определяется параметром mode (см. раздел 14.12.1).
Параметр shflag определяет флаги совместного доступа к файлу нескольких при-
ложений. Значения этих флагов приведены в разделе 14.12.1. При успешном за-
вершении функция возвращает дескриптор открытого файла и его указатель уста-