Voltar à lista
Linux x86_64Sistema de arquivos#133

mknod

Cria um arquivo especial (dispositivo de bloco/caractere), FIFO, ou arquivo comum, com um inode 'em branco'.

Descrição

Criar dispositivos de bloco/caractere exige CAP_MKNOD; criar FIFOs (S_IFIFO) não exige privilégio especial e é a base da função `mkfifo(3)`.

Header: sys/stat.hman 2

Assinatura

int mknod(const char * pathname, mode_t mode, dev_t dev);

Parâmetros

ParâmetroTipoDescrição
pathnameconst char *Caminho do novo arquivo especial.
modemode_tTipo de arquivo (S_IFCHR, S_IFBLK, S_IFIFO, S_IFSOCK) combinado com permissões.
devdev_tNúmero de dispositivo (major/minor), relevante apenas para S_IFCHR/S_IFBLK.

Registradores (x86_64)

RegistradorPapelArgumento
raxnúmero da syscall (chamada) / valor de retorno (após SYSCALL)
rdiargumento 1pathnameconst char *
rsiargumento 2modemode_t
rdxargumento 3devdev_t

Valor de retorno

0 em sucesso; -1 em erro, com errno definido.

Códigos de erro (errno)

EACCES(13)
Permissão negada.
EEXIST(17)
Arquivo já existe.
ENOENT(2)
Arquivo ou diretório inexistente.
ENOTDIR(20)
Não é um diretório.
EPERM(1)
Operação não permitida (falta de privilégio).
EROFS(30)
Sistema de arquivos somente leitura.

Relacionadas