Constantes errno
Sintaxe
#include <errno.h>
Comentários
As errno
constantes são valores atribuídos a várias condições de errno
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 leitura de um arquivo que não está aberto. Ou, em uma tentativa de abrir um arquivo somente leitura existente para gravação ou 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 fornecido para a origem ao posicionar um ponteiro de arquivo (por uma chamada para fseek ) é anterior ao 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 não há memória suficiente 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 obrigató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 |
A operação bloquearia. | 140 |