NOME
errno − numero do último erro
SINOPSE
#include <errno.h>
extern int errno;
DESCRIÇÃO
O inteiro errno é publicado pelas chamadas ao sistema (e algumas funções de biblioteca) para indicar o que ocorreu errado. Esse valor é significativo apenas quando uma chamada retorna um erro (usualmente −1), e a função de biblioteca que sucede pode alterar errno.
Algumas vezes, quando −1 já é um dos valores de retorno válidos, deve-se zerar errno antes da chamada para que se possa detectar possíveis erros.
errno é definido pelo padrão ISO C para ser um valor modificável do tipo int, e não necessita ser declarado explicitamente; errno pode ser uma macro. errno é local a thread; alteração em uma thread não afeta seu valor em qualquer outra thread.
Números de erro validos são todos não-zero; errno nunca é zerado por qualquer função de biblioteca. Todos os nomes de erro especificados por POSIX.1 devem ter valores distintos.
POSIX.1 (edição 1996) lista os nomes de erro simbólicos a seguir. Destes, EDOM e ERANGE estão no padrão ISO C. ISO C Adendo 1 define o número de erro adicional EILSEQ para codificação de erros em multibyte ou caracteres completos.
|
E2BIG |
Lista de argumentos muito longa |
|||
|
EACCES |
Acesso negado |
|||
|
EAGAIN |
Recurso temporariamente indisponível |
|||
|
EBADF |
Descritor de arquivo ruim |
EBADMSG
Mensagem ruim
|
EBUSY |
Recurso ocupado |
ECANCELED
Operação cancelada
|
ECHILD |
Sem processo filho |
EDEADLK
Evitado congelamento de recusos
|
EDOM |
Erro de domínio |
|||
|
EEXIST |
Arquivo existente |
|||
|
EFAULT |
Endereço ruim |
|||
|
EFBIG |
Arquivo muito grande |
EINPROGRESS
Operação em progresso
|
EINTR |
Chamada de função interrompida |
|||
|
EINVAL |
Argumento inválido |
|||
|
EIO |
Erro de entrada/saída |
|||
|
EISDIR |
É um diretório |
|||
|
EMFILE |
Muitos arquivos abertos |
|||
|
EMLINK |
Muitas ligações |
EMSGSIZE
Tamanho inapropriado do buffer de mensagens
ENAMETOOLONG
Nome de arquivo muito longo
|
ENFILE |
Muitos arquivos abertos no sistema |
|||
|
ENODEV |
Dispositivo não encontrado |
|||
|
ENOENT |
Arquivo ou diretório não encontrado |
ENOEXEC
Erro no formato de exec
|
ENOLCK |
Sem travas disponíveis |
|||
|
ENOMEM |
Sem espaço suficiente |
|||
|
ENOSPC |
Sem espaço no dispositivo |
|||
|
ENOSYS |
Função não implementada |
ENOTDIR
Não é um diretório
ENOTEMPTY
Diretório não está vazio
ENOTSUP
Não suportado
|
ENOTTY |
Operação de controle de E/S inapropriada |
|||
|
ENXIO |
Dispositivo ou endereço não encontrado |
|||
|
EPERM |
Operação não permitida |
|||
|
EPIPE |
Pipe quebrado |
|||
|
ERANGE |
Resultado muito grande |
|||
|
EROFS |
Sistema de arquivo somente leitura |
|||
|
ESPIPE |
Procura inválida |
|||
|
ESRCH |
Processo não encontrado |
ETIMEDOUT
Time out na operação
|
EXDEV |
Ligação inválida |
Muitos outros números de erro são retornados por diversas implementações Unix. System V retorna ETXTBSY (Arquivo texto ocupado) se for feita uma tentativa de exec() em um arquivo que está aberto para escrita. Linux retorna esse erro se a tentativa tiver um arquivo ao mesmo tempo mapeado em memória com VM_DENYWRITE e aberto para escrita.
VEJA TAMBÉM
TRADUZIDO POR LDP-BR em 21/08/2000.
Marcelo D. Beckmann <marcelobeckmann [AT] yahoo.com> (tradução) Espaço para o Revisor <nome [AT] dominio.br> (revisão)