Manpages

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

perror(3), strerror(3)

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)