Aracılığıyla paylaş


errno Sabit

Sözdizimi

#include <errno.h>

Açıklamalar

Sabitler errno , çeşitli hata koşulları için atanmış errno değerlerdir.

ERRNO.H değerlerin errno tanımlarını içerir. Ancak, içinde verilen ERRNO.H tanımların tümü 32 bit Windows işletim sistemlerinde kullanılmaz. içindeki değerlerden ERRNO.H bazıları, UNIX işletim sistemi ailesi ile uyumluluğu korumak için mevcuttur. errno 32 bit Windows işletim sistemindeki değerler, UNIX sistemlerindeki değerlerinin errno bir alt kümesidir.

Değerin errno , Windows işletim sisteminden bir sistem çağrısı tarafından döndürülen gerçek hata koduyla aynı olması şart değildir. Gerçek işletim sistemi hata koduna erişmek için bu değeri içeren değişkenini _doserrno kullanın.

Aşağıdaki errno değerler desteklenir:

Sabit Tanım Değer
E2BIG Bağımsız değişken listesi çok uzun. 7
EACCES İzin reddedildi. Dosyanın izin ayarı belirtilen erişime izin vermiyor. Dosyaya (veya bazı durumlarda dizine) dosyanın öznitelikleriyle uyumsuz bir şekilde erişme girişiminde bulunuldu.

Örneğin, açık olmayan bir dosyadan okumaya çalışıldığında hata oluşabilir. Ya da var olan bir salt okunur dosyayı yazmak için açmaya veya dosya yerine bir dizin açmaya çalıştığınızda. MS-DOS işletim sistemi sürüm 3.0 ve üzeri altında, EACCES bir kilitleme veya paylaşım ihlaline de işaret edebilir.

Hata, bir dosyayı veya dizini yeniden adlandırma veya var olan bir dizini kaldırma girişiminde de oluşabilir.
13
EAGAIN Artık işlem yok veya yeterli bellek yok ya da iç içe yerleştirme düzeyi üst sınırına ulaşılamadı. Başka işlem yuvası olmadığından veya yeterli bellek olmadığından veya iç içe yerleştirme üst sınırına ulaşıldığından yeni işlem oluşturma girişimi başarısız oldu. 11
EBADF Hatalı dosya numarası. İki olası neden vardır: 1) Belirtilen dosya tanımlayıcısı geçerli bir değer değil veya açık bir dosyaya başvurmuyor. 2) Salt okunur erişim için açılmış bir dosyaya veya cihaza yazma girişiminde bulunuldu. 9
EBUSY Cihaz veya kaynak meşgul. 16
ECHILD Oluşturulan işlem yok. 10
EDEADLK Kaynak kilitlenmesi oluşabilir. 36
EDEADLOCK EDEADLK Eski Microsoft C sürümleriyle uyumlulukla aynıdır. 36
EDOM Matematik bağımsız değişkeni. Matematik işlevinin bağımsız değişkeni işlevin etki alanında değildir. 33
EEXIST Dosyalar var. Zaten var olan bir dosya oluşturma girişiminde bulunuldu. Örneğin, _O_CREAT ve _O_EXCL bayrakları bir _open çağrıda belirtilir, ancak adlandırılmış dosya zaten vardır. 17
EFAULT Hatalı adres. 14
EFBIG Dosya çok büyük. 27
EILSEQ Geçersiz bayt dizisi (örneğin, bir MBCS dizede). 42
EINTR İşlev kesildi. 4
EINVAL Geçersiz bağımsız değişken. bir işlevin bağımsız değişkenlerinden biri için geçersiz bir değer verildi. Örneğin, bir dosya işaretçisi konumlandırılırken (çağrısıyla fseek) kaynak için verilen değer, dosyanın başlangıcından öncedir. 22
EIO G/Ç hatası. 5
EISDIR Bir dizindir. 21
EMFILE Çok fazla açık dosya var. Başka dosya tanımlayıcısı olmadığından başka dosya açılamaz. 24
EMLINK Çok fazla bağlantı var. 31
ENAMETOOLONG Dosya adı çok uzun. 38
ENFILE Sistemde çok fazla dosya açık. 23
ENODEV Böyle bir cihaz yok. 19
ENOENT Böyle bir dosya veya dizin yok. Belirtilen dosya veya dizin yok veya bulunamıyor. Bu ileti, belirtilen bir dosya mevcut olmadığında veya yolun bir bileşeni mevcut bir dizini belirtmediğinden oluşabilir. 2
ENOEXEC Exec biçimi hatası. Yürütülebilir olmayan veya geçersiz yürütülebilir dosya biçimine sahip bir dosyayı yürütme girişiminde bulunuldu. 8
ENOLCK Kullanılabilir kilit yok. 39
ENOMEM Denenen işleç için yeterli bellek yok. Örneğin, bir alt işlemi yürütmek için yeterli bellek olmadığında veya bir _getcwd çağrıdaki ayırma isteği karşılanmadığında bu ileti oluşabilir. 12
ENOSPC Cihazda yer kalmadı. Cihazda yazma için daha fazla alan yoktur (örneğin, disk dolu olduğunda). 28
ENOSYS İşlev desteklenmiyor. 40
ENOTDIR Dizin değil. 20
ENOTEMPTY Dizin boş değil. 41
ENOTTY Uygunsuz G/Ç denetimi işlemi. 25
ENXIO Böyle bir cihaz veya adres yok. 6
EPERM İşleme izin verilmiyor. Kategori 1
EPIPE Bozuk boru. 32
ERANGE Sonuç çok büyük. Matematik işlevinin bağımsız değişkeni çok büyük olduğundan sonuçta kısmi veya toplam anlam kaybı olur. Bu hata, bir bağımsız değişken beklenenden büyük olduğunda (örneğin, için bağımsız değişkeni _getcwd beklenenden uzun olduğunda) diğer işlevlerde buffer de oluşabilir. 34
EROFS Salt okunur dosya sistemi. 30
ESPIPE Geçersiz arama. 29
ESRCH Böyle bir işlem yok. 3
EXDEV Cihazlar arası bağlantı. Bir dosyayı farklı bir cihaza taşıma girişiminde bulunuldu (işlevi kullanılarak rename ). 18
STRUNCATE Dize kopyalama veya birleştirme işlemi, kesilen bir dizeyle sonuçlandı. Bkz. _TRUNCATE. 80

POSIX ile uyumluluk için aşağıdaki değerler desteklenir:

Sabit Tanım Değer
EADDRINUSE Kullanımdaki adres. 100
EADDRNOTAVAIL Adres kullanılamıyor. 101
EAFNOSUPPORT Adres ailesi desteklenmiyor. 102
EALREADY Bağlan işlemi zaten devam ediyor. 103
EBADMSG Kötü mesaj. 104
ECANCELED İşlem iptal edildi. 105
ECONNABORTED Bağlan iptal edildi. 106
ECONNREFUSED Bağlan ion reddetti. 107
ECONNRESET Bağlan sıfırlama. 108
EDESTADDRREQ Hedef adres gerekli. 109
EHOSTUNREACH Konağa ulaşılamıyor. 110
EIDRM Tanımlayıcı kaldırıldı. 111
EINPROGRESS İşlem devam ediyor. 112
EISCONN Zaten bağlandı. 113
ELOOP Çok fazla sembolik bağlantı düzeyi var. 114
EMSGSIZE İleti boyutu. 115
ENETDOWN Ağ devre dışı. 116
ENETRESET Ağ sıfırlama. 117
ENETUNREACH Ağa ulaşılamıyor. 118
ENOBUFS Arabellek alanı yok. Kategori 119
ENODATA Kullanılabilir ileti yok. 120
ENOLINK Bağlantı yok. 121
ENOMSG mesaj yok. 122
ENOPROTOOPT Protokol seçeneği yok. 123
ENOSR Akış kaynağı yok. 124
ENOSTR Akış değil. 125
ENOTCONN Bağlı değil. 126
ENOTRECOVERABLE Durum kurtarılamaz. 127
ENOTSOCK Yuva değil. 128
ENOTSUP Desteklenmiyor. Kategori 129
EOPNOTSUPP İşlem desteklenmiyor. 130
EOTHER Diğer. 131
EOVERFLOW Değer çok büyük. 132
EOWNERDEAD Sahibi öldü. 133
EPROTO Protokol hatası. 134
EPROTONOSUPPORT Protokol desteklenmiyor. 135
EPROTOTYPE Yanlış protokol türü. 136
ETIME Akış zaman aşımı. 137
ETIMEDOUT Zaman aşımına uğradı. 138
ETXTBSY Metin dosyası meşgul. 139
EWOULDBLOCK İşlem engel olur. 140

Ayrıca bkz.

Genel sabitler