MKDIR(2)

NOME
mkdir - cria um diretório

SINOPSE
#include <sys/stat.h>
#include <sys/types.h>

int mkdir(const char *pathname, mode_t mode);

DESCRIÇÂO
mkdir tenta criar um diretório com o nome pathname.

mode especifica as permisssões de uso. Ela é modificada pelo processo umask na sua forma usual: a permissão de criação do arquivp é (mode & ~umask).

O novo diretório criado será propriedada da uid efetiva do processo. Se o diretório contendo o arquivo tem o bit set group id selecionado, ou se o arquivo de sistema é montado com semântica de grupo BSD, o novo diretório herdará a propriedade de grupo a partir desde paí; de outra forma ele será propriedade da gid efetiva do processo.

Se o diretório pai tem o bit set group id selecionado então determina a criação do novo diretório.

VALORES RETORNADOS
mkdir retorna zero em caso de sucesso, ou -1 se um error ocorreu (neste caso, errno é selecionado apropriadamente).

ERROS

EPERM
    O sistema de arquivos contendo pathname não suporta a criação de diretórios.

EEXIST
    pathname já existe (não necessariamente como um diretório). Isto incluí o caso aonde pathname é uma ligação simbólica, quebrada ou não.

EFAULT
    pathname aponta para fora do espaço de endereços acessível.

EACCES
    O diretório pai não permite permissões de escrita para o processo, ou um dos diretórios em pathname não permite permissão de busca (execução).

ENAMETOOLONG
    pathname é longo demais.

ENOENT
    Um conponente de diretório em pathname não existe ou é uma ligação simbólica pendurada.

ENOTDIR
    Um componente usado como um diretório em pathname não é, na realidade, um diretório.

ENOMEM
    Memória do kernel insuficiente esta disponível.

EROFS
    pathname refere-se a um arquivo em um sistema de arquivos somente de leitura.

ELOOP
    Muitas ligações simbólicas são encontradas no pathname.

ENOSPC
    O dispositivo contendo pathname não tem espaço, para novos diretórios.

ENOSPC
    O novo diretório não pode ser criado por que o espaço de disco do usuário acabou.

DE ACORDO COM
SVr4, POSIX, BSD, SYSV, X/OPEN. Na documentação adicional da SVr4 EIO, EMULTIHOP e condições de erro ENOLINK; POSIX.1 omite ELOOP.

Como existem muitas coisa obscuras no protocola NFS. Algunas delas afetam mkdir.

VEJA TAMBÉM
mkdir(1), chmod(2), mknod(2), mount(2), rmdir(2), stat(2), umask(2), unlink(2)

TRADUZIDO POR LDP-BR em 21/08/2000.
André L. Fassone Canova <lonelywolf@blv.com.br> (tradução) xxxxxxxxxxxxxxxxxxxxxxxxx <xxx@xxxxxx.xxx.xx> (revisão)