MKNOD(2) MKNOD(2) НАЗВАНИЕ mknod - создание каталога, специального или обычного файла СИНТАКСИС |int mknod (path, mode, dev) |char *path; |int mode, dev; ОПИСАНИЕ Системный вызов mknod создает новый файл с маршрутным именем, на которое указывает аргумент path. Режим ново- го файла определяется аргументом mode. Биты в значении mode интерпретируется следующим образом: 0010000 Специальный именованный канал. 0020000 Специальный символьный файл. 0040000 Каталог. 0060000 Специальный блочный файл. 0100000 или 0000000 Обычный файл. Остальные биты в значении mode трактуются как в систем- ном вызове chmod(2). Идентификаторы владельца и группы файла устанавливаются равными действующим идентификаторам, соответственно, пользователя и группы процесса. Значения аргумента mode, построенные не по правилам, описанным выше, считаются неопределенными и не должны использоваться. Младшие 9 бит значения mode модифициру ются маской режима создания файлов: обнуляются те биты, которые соответствуют единичным битам маски [см. umask(2)]. Если mode определяет специальный блочный или символьный файл, то аргумент dev задает зависимую от конфигурации системы спецификацию блочного или символь- ного устройства ввода/вывода; в противном случае аргу- мент dev игнорируется. Системный вызов mknod может исполняться только супер- пользователем для типов файлов, отличных от специально- го именованного канала. Системный вызов mknod завершается неудачей и новый файл не создается, если выполнено хотя бы одно из следующих условий: [EPERM] Действующий идентификатор пользователя про- цесса не равен идентификатору суперпользо- вателя. [ENOTDIR] Компонент маршрута не является каталогом. [ENOENT] Компонент маршрута не существует. [EROFS] Каталог, в котором файл должен быть создан расположен в файловой системе, доступной только на чтение. [EEXIST] Указанный файл уже существует. [EFAULT] Аргумент path указывает за пределы отведен- ного процессу адресного пространства. [EINTR] Во время выполнения системного вызова пе рехвачен сигнал. [ENOLINK] Маршрутное имя path указывает на удаленный компьютер, связи с которым в данный момент нет. [EMULTIHOP] Компоненты path требуют многократного обра щения к удаленным компьютерам. СМ. ТАКЖЕ chmod(2), exec(2), umask(2), fs(4). mkdir(1) в Справочнике пользователя. ДИАГНОСТИКА При успешном завершении результат равен 0; в случае ошибки возвращается -1, а переменной errno присваивает- ся код ошибки. ПРЕДОСТЕРЕЖЕНИЯ Если системный вызов mknod используется для создания устройства в каталоге на удаленном компьютере (система РУФ), то старший и младший номера устройства интерпре- тируются обслуживающим процессом.@