Scroll to navigation

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.

Lista de argumentos muito longa
Acesso negado
Recurso temporariamente indisponível
Descritor de arquivo ruim
Mensagem ruim
Recurso ocupado
Operação cancelada
Sem processo filho
Evitado congelamento de recusos
Erro de domínio
Arquivo existente
Endereço ruim
Arquivo muito grande
Operação em progresso
Chamada de função interrompida
Argumento inválido
Erro de entrada/saída
É um diretório
Muitos arquivos abertos
Muitas ligações
Tamanho inapropriado do buffer de mensagens
Nome de arquivo muito longo
Muitos arquivos abertos no sistema
Dispositivo não encontrado
Arquivo ou diretório não encontrado
Erro no formato de exec
Sem travas disponíveis
Sem espaço suficiente
Sem espaço no dispositivo
Função não implementada
Não é um diretório
Diretório não está vazio
Não suportado
Operação de controle de E/S inapropriada
Dispositivo ou endereço não encontrado
Operação não permitida
Pipe quebrado
Resultado muito grande
Sistema de arquivo somente leitura
Procura inválida
Processo não encontrado
Time out na operação
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

perror(3), strerror(3)

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