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 |