| ERRNO(3) | Funções de Biblioteca | ERRNO(3) | 
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@yahoo.com> (tradução) Espaço para o Revisor <nome@dominio.com.br> (revisão)
| 30 Março 1998 |