Constantes errno

Sintaxe

#include <errno.h>

Comentários

As errno constantes são valores atribuídos a errno várias condições de erro.

ERRNO.H contém as definições dos valores de errno. No entanto, nem todas as definições fornecidas em ERRNO.H são usadas em sistemas operacionais Windows de 32 bits. Alguns dos valores em ERRNO.H estão presentes para manter a compatibilidade com a família de sistemas operacionais UNIX. Os valores de errno em um sistema operacional Windows de 32 bits são um subconjunto dos valores de errno em sistemas UNIX.

O valor de errno não é necessariamente o mesmo que o código de erro real retornado por uma chamada de sistema do sistema operacional Windows. Para acessar o código de erro real do sistema operacional, use a variável _doserrno, que contém esse valor.

Há suporte para os seguintes valores de errno:

Constante Descrição Valor
E2BIG A lista de argumentos é muito longa. 7
EACCES Permissão negada. A configuração de permissão do arquivo não permite o acesso especificado. Foi feita uma tentativa de acessar um arquivo (ou, em alguns casos, um diretório) de uma forma incompatível com os atributos do arquivo.

Por exemplo, o erro pode ocorrer quando é feita uma tentativa de ler de um arquivo que não está aberto. Ou, em uma tentativa de abrir um arquivo somente leitura existente para gravação ou para abrir um diretório em vez de um arquivo. Em versões do sistema operacional MS-DOS 3.0 e posterior, EACCES também poderá indicar uma violação de compartilhamento ou de bloqueio.

O erro também pode ocorrer em uma tentativa de renomear um arquivo ou diretório ou remover um diretório existente.
13
EAGAIN Não há mais processos, ou não há memória suficiente, ou o nível máximo de aninhamento foi atingido. Uma tentativa de criar um novo processo falhou porque não há mais slots de processo, ou não há memória suficiente, ou o nível máximo de aninhamento foi atingido. 11
EBADF Número de arquivo incorreto. Há duas causas possíveis: 1) O descritor de arquivo especificado não é um valor válido ou não se refere a um arquivo aberto. 2) uma tentativa foi feita para gravar em um arquivo ou dispositivo aberto para acesso somente leitura. 9
EBUSY Dispositivo ou recurso ocupado. 16
ECHILD Nenhum processo gerado. 10
EDEADLK Ocorreria um deadlock de recursos. 36
EDEADLOCK O mesmo que EDEADLK para compatibilidade com versões anteriores do Microsoft C. 36
EDOM Argumento matemático. O argumento para uma função matemática não está no domínio da função. 33
EEXIST Os arquivos existem. Foi feita uma tentativa de criar um arquivo que já existe. Por exemplo, os sinalizadores _O_CREAT e _O_EXCL são especificados em uma chamada _open, mas o arquivo nomeado já existe. 17
EFAULT Endereço incorreto. 14
EFBIG Arquivo muito grande. 27
EILSEQ Sequência ilegal de bytes (por exemplo, em uma cadeia de caracteres MBCS). 42
EINTR Função interrompida. 4
EINVAL Argumento inválido. Um valor inválido foi fornecido para um dos argumentos de uma função. Por exemplo, o valor dado para a origem ao posicionar um ponteiro de arquivo (por uma chamada para fseek) é antes do início do arquivo. 22
EIO Erro de E/S. 5
EISDIR É um diretório. 21
EMFILE Muitos arquivos abertos. Não há outros descritores de arquivos disponíveis, portanto, não é possível abrir outros arquivos. 24
EMLINK Muitos links. 31
ENAMETOOLONG Nome de arquivo muito longo. 38
ENFILE Muitos arquivos abertos no sistema. 23
ENODEV Dispositivo inexistente. 19
ENOENT Arquivo ou diretório inexistente. O arquivo ou diretório especificado não existe ou não pode ser encontrado. Essa mensagem pode ocorrer sempre que um arquivo especificado não existir ou um componente de um caminho não especificar um diretório existente. 2
ENOEXEC Erro de formato exec. Foi feita uma tentativa de executar um arquivo que não é executável ou que tem um formato de arquivo executável inválido. 8
ENOLCK Não há bloqueios disponíveis. 39
ENOMEM Não há memória suficiente disponível para o operador tentado. Por exemplo, essa mensagem pode ocorrer quando memória insuficiente está disponível para executar um processo filho ou quando a solicitação de alocação em uma _getcwd chamada não pode ser atendida. 12
ENOSPC Nenhum espaço remanescente no dispositivo. Não há mais espaço para gravação disponível no dispositivo (por exemplo, quando o disco está cheio). 28
ENOSYS Função não suportada. 40
ENOTDIR Não é um diretório. 20
ENOTEMPTY O diretório não está vazio. 41
ENOTTY Operação de controle de E/S inadequada. 25
ENXIO Dispositivo ou endereço inexistente. 6
EPERM Operação não permitida. 1
EPIPE Pipe interrompido. 32
ERANGE Resultado muito grande. Um argumento para uma função matemática é muito grande, resultando na perda parcial ou total de significado no resultado. Esse erro também poderá ocorrer em outras funções quando um argumento for maior do que o esperado (por exemplo, quando o argumento buffer para _getcwd for maior do que o esperado). 34
EROFS Sistema de arquivos somente leitura. 30
ESPIPE Busca inválida. 29
ESRCH Processo inexistente. 3
EXDEV Link de dispositivo cruzado. Tentativa de mover um arquivo para um dispositivo diferente (usando a função rename). 18
STRUNCATE Uma cópia ou concatenação da cadeia de caracteres resultou em uma cadeia de caracteres truncada. Consulte _TRUNCATE. 80

Há suporte aos seguintes valores para compatibilidade com POSIX:

Constante Descrição Valor
EADDRINUSE Endereço está sendo usado. 100
EADDRNOTAVAIL Endereço não disponível. 101
EAFNOSUPPORT Família de endereços sem suporte. 102
EALREADY Conexão já em andamento. 103
EBADMSG Mensagem incorreta. 104
ECANCELED Operação cancelada. 105
ECONNABORTED Conexão anulada. 106
ECONNREFUSED Conexão recusada. 107
ECONNRESET Conexão restabelecida. 108
EDESTADDRREQ Endereço de destino necessário. 109
EHOSTUNREACH Host inacessível. 110
EIDRM Identificador removido. 111
EINPROGRESS Operação em andamento. 112
EISCONN Já conectado. 113
ELOOP Muitos níveis de links simbólicos. 114
EMSGSIZE Tamanho da mensagem. 115
ENETDOWN Rede inoperante. 116
ENETRESET Redefinição da rede. 117
ENETUNREACH Rede inacessível. 118
ENOBUFS Não há espaço do buffer. 119
ENODATA Nenhuma mensagem disponível. 120
ENOLINK Nenhum link. 121
ENOMSG Nenhuma mensagem. 122
ENOPROTOOPT Nenhuma opção de protocolo. 123
ENOSR Nenhum recurso de fluxo. 124
ENOSTR Não é um fluxo. 125
ENOTCONN Não conectado. 126
ENOTRECOVERABLE Estado não recuperável. 127
ENOTSOCK Não é um soquete. 128
ENOTSUP Não há suporte. 129
EOPNOTSUPP Operação sem suporte. 130
EOTHER Outros. 131
EOVERFLOW Valor muito grande. 132
EOWNERDEAD Proprietário inativo. 133
EPROTO Erro de protocolo. 134
EPROTONOSUPPORT Protocolo não suportado. 135
EPROTOTYPE Tipo de protocolo incorreto. 136
ETIME Tempo limite de fluxo. 137
ETIMEDOUT Tempo limite atingido. 138
ETXTBSY Arquivo de texto ocupado. 139
EWOULDBLOCK Operação bloquearia. 140

Confira também

Constantes globais