errno
konstanty
Syntaxe
#include <errno.h>
Poznámky
Konstanty errno
jsou hodnoty přiřazené errno
pro různé chybové stavy.
ERRNO.H
obsahuje definice errno
hodnot. Ne všechny definice uvedené v ERRNO.H
32bitových operačních systémech Windows se však používají. Některé hodnoty ERRNO.H
jsou k dispozici pro zachování kompatibility s řadu operačních systémů UNIX. Hodnoty errno
v 32bitovém operačním systému Windows jsou podmnožinou hodnot pro errno
systémy UNIX.
Hodnota errno
nemusí být nutně stejná jako skutečný kód chyby vrácený systémovým voláním z operačního systému Windows. Pokud chcete získat přístup k kódu chyby skutečného operačního systému, použijte _doserrno
proměnnou, která obsahuje tuto hodnotu.
Podporují se následující errno
hodnoty:
Konstanta | Popis | Hodnota |
---|---|---|
E2BIG |
Seznam argumentů je příliš dlouhý. | 7 |
EACCES |
Oprávnění byla odepřena. Nastavení oprávnění souboru neumožňuje zadaný přístup. Došlo k pokusu o přístup k souboru (nebo v některých případech adresáři) způsobem, který není kompatibilní s atributy souboru. K chybě může dojít například při pokusu o čtení ze souboru, který není otevřený. Nebo při pokusu o otevření existujícího souboru jen pro čtení pro zápis nebo otevření adresáře místo souboru. V rámci operačního systému MS-DOS verze 3.0 a novější EACCES může také znamenat narušení uzamčení nebo sdílení.K chybě může dojít také při pokusu o přejmenování souboru nebo adresáře nebo odebrání existujícího adresáře. |
13 |
EAGAIN |
Nebyly dosaženy žádné další procesy nebo dostatek paměti nebo maximální úrovně vnoření. Pokus o vytvoření nového procesu se nezdařil, protože neexistují žádné další sloty procesů nebo není dostatek paměti nebo bylo dosaženo maximální úrovně vnoření. | 11 |
EBADF |
Chybné číslo souboru. Existují dvě možné příčiny: 1) Zadaný popisovač souboru není platná hodnota nebo neodkazuje na otevřený soubor. 2) Došlo k pokusu o zápis do souboru nebo zařízení otevřeného pro přístup jen pro čtení. | 9 |
EBUSY |
Zařízení nebo prostředek je zaneprázdněn. | 16 |
ECHILD |
Žádné vytvářené procesy. | 10 |
EDEADLK |
Dojde k vzájemnému zablokování prostředku. | 36 |
EDEADLOCK |
Stejné jako EDEADLK kvůli kompatibilitě se staršími verzemi Microsoft C. |
36 |
EDOM |
Matematický argument. Argument matematické funkce není v doméně funkce. | 33 |
EEXIST |
Soubory existují. Došlo k pokusu o vytvoření souboru, který již existuje. Například a _O_CREAT _O_EXCL příznaky jsou zadány ve _open volání, ale pojmenovaný soubor již existuje. |
17 |
EFAULT |
Špatná adresa. | 14 |
EFBIG |
Soubor je příliš velký. | 27 |
EILSEQ |
Neplatná posloupnost bajtů (například v řetězci MBCS ). |
42 |
EINTR |
Přerušená funkce. | 4 |
EINVAL |
Neplatný argument. Pro jeden z argumentů funkce byla udělena neplatná hodnota. Například hodnota zadaná pro původ při umístění ukazatele souboru (voláním fseek ) je před začátkem souboru. |
22 |
EIO |
V/V chyba. | 5 |
EISDIR |
Je adresář. | 21 |
EMFILE |
Příliš mnoho otevřených souborů. Nejsou k dispozici žádné další popisovače souborů, takže nelze otevřít žádné další soubory. | 24 |
EMLINK |
Příliš mnoho odkazů. | 31 |
ENAMETOOLONG |
Název souboru je příliš dlouhý. | 38 |
ENFILE |
V systému je otevřeno příliš mnoho souborů. | 23 |
ENODEV |
Žádné takové zařízení. | 19 |
ENOENT |
Žádný takový soubor nebo adresář. Zadaný soubor nebo adresář neexistuje nebo ho nelze najít. Tato zpráva může nastat vždy, když zadaný soubor neexistuje nebo komponenta cesty neurčí existující adresář. | 2 |
ENOEXEC |
Chyba formátu Exec Došlo k pokusu o spuštění souboru, který není spustitelný nebo který má neplatný formát spustitelného souboru. | 8 |
ENOLCK |
Nejsou k dispozici žádné zámky. | 39 |
ENOMEM |
Pro pokusný operátor není k dispozici dostatek paměti. Tato zpráva může nastat například v případě, že není k dispozici dostatek paměti pro spuštění podřízeného procesu nebo když žádost o přidělení ve _getcwd volání nemůže být splněna. |
12 |
ENOSPC |
Na zařízení nezůstalo žádné místo. Na zařízení není k dispozici žádné místo pro zápis (například když je disk plný). | 28 |
ENOSYS |
Funkce není podporována. | 40 |
ENOTDIR |
Nejedná se o adresář. | 20 |
ENOTEMPTY |
Adresář není prázdný. | 41 |
ENOTTY |
Nevhodná operace řízení vstupně-výstupních operací | 25 |
ENXIO |
Žádné takové zařízení nebo adresa. | 6 |
EPERM |
Operace není povolena. | 0 |
EPIPE |
Rozbitá trubka. | 32 |
ERANGE |
Výsledek je příliš velký. Argument matematické funkce je příliš velký, což vede k částečné nebo celkové ztrátě významnosti ve výsledku. K této chybě může dojít také v jiných funkcích, pokud je argument větší než očekávaný (například pokud buffer je argument _getcwd delší, než se čekalo). |
34 |
EROFS |
Systém souborů jen pro čtení. | 30 |
ESPIPE |
Hledání je neplatné. | 29 |
ESRCH |
Žádný takový proces. | 3 |
EXDEV |
Propojení mezi zařízeními Došlo k pokusu o přesunutí souboru do jiného zařízení (pomocí rename funkce). |
18 |
STRUNCATE |
Výsledkem kopírování řetězce nebo zřetězení byl zkrácený řetězec. Viz třída _TRUNCATE . |
80 |
Pro kompatibilitu s POSIX jsou podporovány následující hodnoty:
Konstanta | Popis | Hodnota |
---|---|---|
EADDRINUSE |
Adresa, která se používá. | 100 |
EADDRNOTAVAIL |
Adresa není k dispozici. | 101 |
EAFNOSUPPORT |
Řada adres není podporovaná. | 102 |
EALREADY |
Připojení již probíhá. | 103 |
EBADMSG |
Špatná zpráva. | 104 |
ECANCELED |
Operace byla zrušena. | 105 |
ECONNABORTED |
Připojení bylo přerušeno. | 106 |
ECONNREFUSED |
Připojení odmítlo. | 107 |
ECONNRESET |
Resetování připojení | 108 |
EDESTADDRREQ |
Je vyžadována cílová adresa. | 109 |
EHOSTUNREACH |
Nedostupný hostitel. | 110 |
EIDRM |
Identifikátor byl odebrán. | 111 |
EINPROGRESS |
Probíhá operace. | 112 |
EISCONN |
Již připojeno. | 113 |
ELOOP |
Příliš mnoho symbolických úrovní propojení. | 114 |
EMSGSIZE |
Velikost zprávy | 115 |
ENETDOWN |
Síť nefunguje. | 116 |
ENETRESET |
Resetování sítě | 117 |
ENETUNREACH |
Síť je nedostupná. | 118 |
ENOBUFS |
Žádný prostor vyrovnávací paměti. | 119 |
ENODATA |
Žádná zpráva není k dispozici. | 120 |
ENOLINK |
Žádný odkaz. | 121 |
ENOMSG |
Žádná zpráva. | 122 |
ENOPROTOOPT |
Žádná možnost protokolu. | 123 |
ENOSR |
Žádné streamové prostředky. | 124 |
ENOSTR |
Ne stream. | 125 |
ENOTCONN |
Nepřipojené. | 126 |
ENOTRECOVERABLE |
Stav nelze obnovit. | 127 |
ENOTSOCK |
Ne soket. | 128 |
ENOTSUP |
Nepodporováno | 129 |
EOPNOTSUPP |
Tato operace není podporována. | 130 |
EOTHER |
Ostatní. | 131 |
EOVERFLOW |
Hodnota je příliš velká. | 132 |
EOWNERDEAD |
Vlastník mrtvý. | 133 |
EPROTO |
Chyba protokolu. | 134 |
EPROTONOSUPPORT |
Protokol není podporován. | 135 |
EPROTOTYPE |
Nesprávný typ protokolu. | 136 |
ETIME |
Vypršení časového limitu streamu | 137 |
ETIMEDOUT |
Vypršel. | 138 |
ETXTBSY |
Textový soubor je zaneprázdněn. | 139 |
EWOULDBLOCK |
Operace by blokovala. | 140 |