-
int EPERM
İşleme izin verilmedi; sadece dosyanın (ya da diğer özkaynağın) ya da süreçlerin sahibinin yapabileceği işlemler.
-
int ENOENT
Böyle bir dosya ya da dizin yok. Sistemde bulunacağı varsayılmış bir dosya ya da dizinin bulunamadığı durum.
-
int ESRCH
Belirtilen süreç kimliği ile eşleşen bir süreç yok.
-
int EINTR
İşlev çağrısı engellendi; herhangi bir anda çağrının tamamlanmasını engelleyen bir sinyalin oluştuğu durum. Bu durum oluştuğunda çağrıyı tekrarlamalısınız.
EINTR ile başarısızlık dışında yakalanan tüm sinyaller için işlevlerin tekrar devreye girmesini sağlayabilirsiniz. Bkz.
Sinyallerle Kesilen İlkeller.
-
int EIO
Giriş/Çıkış hatası; genellikle fiziksel okuma ve yazma hataları için kullanılır.
-
int ENXIO
Böyle bir adres ya da aygıt yok. Sistem bir dosya olarak belirttiğiniz bir aygıtı kullanmaya çalışır ve aygıtı bulamazsa bu hata oluşur. Bu hatayı alıyorsanız ya aygıt dosyası doğru olarak oluşturulmamış veya fiziksel aygıt bulunamamış ya da makineye doğru bağlanmamıştır.
-
int E2BIG
Argüman listesi çok uzun;
exec işlevlerinden biri ile çalıştırılan yeni bir uygulama argümanlarla çağrıldığında çok fazla bellek alanı ayrılmaya çalışılırsa oluşur. GNU sistemlerinde bu durum asla oluşmaz.
-
int ENOEXEC
Çalıştırılabilir dosya biçimi geçersiz. Bu durum
exec işlevleriyle saptanır.
-
int EBADF
Dosya tanımlayıcı hatalı; örneğin dosya tanımlayıcının açılmamış olduğu ya da sadece yazmak için açılmış bir tanımlayıcıdan okuma yapıldığı gibi durumlarda oluşur.
-
int ECHILD
Hiç alt süreç yok. Alt süreçlerle çalışılması durumunda, üzerinde çalışılacak bir alt süreç yoksa oluşur.
-
int EDEADLK
Kısırdöngü önlendi. Bir sistem özkaynağının ayrılması sırasında bu özkaynağın başka bir özkaynağın varlığına bağlı olması ve o özkaynağında ayrılacak özkaynağa bağlı olması gibi bir durumda her iki özkaynağın bir diğerini beklemesi gibi bir durumdur. Sistem bu gibi durumlarda durumu bildirmeyi garanti etmez. Eğer bu hatayı almışsanız, sistem tam çökeceği sırada sizi uyarabilmiş ve size bir şans verebilmiş demektir... Örnekler için
Dosya Kilitleri kısmına bakınız.
-
int ENOMEM
Yeterli bellek yok. Sistem kapasitesini doldurduğu için sanal bellek ayıramıyordur.
-
int EACCES
İzinler yetersiz; dosya izinlerinin yapılmaya çalışılan işlem için yetersiz olduğu durum.
-
int EFAULT
Hatalı adres; geçersiz bir göstericinin saptandığı durum. GNU sistemlerinde bu hatayı asla almazsınız, onun yerine bir sinyal alırsınız.
-
int ENOTBLK
Bir blok özellikli dosya gereken yerde verilen dosya uygun değilse oluşur. Örneğin, Unix sistemlerinde normal bir dosyayı bir dosya sistemi olarak sisteme bağlamaya çalışırsanız bu hatayı alırsınız.
-
int EBUSY
Aygıt ya da özkaynak meşgul; bir sistem kaynağının kullanımda olduğu için paylaşılamadığında oluşur. Örneğin, bir bağlı dosya sisteminin kökünü bir dosya olarak silmeye çalışırsanız bu hatayı alırsınız.
-
int EEXIST
Dosya var. Mevcut bir dosyanın yeni bir dosya olarak belirtildiği durum.
-
int EXDEV
Dosya sistemlerine uygunsuz bir bağ oluşturulmaya çalışıldığı saptandı. Bu durum sadece
link kullanıldığında bir yandan da
rename ile dosyanın ismi değiştirilmeye çalışıldığında oluşur.
-
int ENODEV
Belli bir sıraya uygun bir aygıtın verilmesi umulan bir işleve yanlış aygıt türü verildi.
-
int ENOTDIR
Bir dizin gerekliyken belirtilen dosya bir dizin değil.
-
int EISDIR
Dosya bir dizin; bir dizini yazmak için açamaz veya bir dizin belirten bir sabit bağı silemezsiniz.
-
int EINVAL
Geçersiz argüman. Bir kütüphane işlevi yanlış argümanla çağrıldığında oluşan çeşitli sorunlara dikkat çekmek için kullanılır.
-
int EMFILE
Mevcut süreç çok fazla dosya açmış ve daha fazlasını açamaz. Tanımlayıcıların tekrarlanması bu sınıra yaklaşılmasına sebep olur.
BSD ve GNU sistemlerinde açık dosyaların sayısı gerektiğinde arttırılabilmesini sağlayan bir özkaynak sınırıyla denetlenir. Bu hatayı alırsanız ya
RLIMIT_NOFILE sınırını arttırın ya da sınırsız yapın. Bkz.
Özkaynak Kullanımın Sınırlanması.
-
int ENFILE
Sistemin bütününde çok fazla farklı dosya açılışı var. Bilgi: Birbirlerine bağlı kanallar tek bir dosya açılışı sayılır; bkz.
İlintili Kanallar. Bu hata GNU sistemlerinde hiçbir zaman oluşmaz.
-
int ENOTTY
İlgisiz G/Ç denetimi işlemi. Örneğin, uçbirim kiplerinin normal bir dosya için kullanılmaya çalışılması.
-
int ETXTBSY
Çalışmakta olan bir dosyaya yazma denemesi ya da yazmak için açılmış bir dosyanın çalıştırılmasının denenmesi. Çoğunlukla bir hata ayıklama uygulaması ile çalışmakta olan bir yazılımın dosyasının yazmak için açılmaya çalışılması bu hatanın ortaya çıkmasına sebep olur. Sembolik sabitin ismi "text file busy" (metin dosyası meşgul) tümcesinden kısaltılmıştır. Bu hata GNU sistemlerinde oluşmaz çünkü gerekirse metin kopyalanır.
-
int EFBIG
Dosya çok büyük; dosyanın uzunluğunun sistemde mümkün olan dosya uzunluğundan büyük olduğu durum.
-
int ENOSPC
Aygıt üzerinde yer yok; disk doluyken üzerine bir dosyanın yazılmaya çalışılması durumu.
-
int ESPIPE
Konumlama işlemi geçersiz (örneğin bir boruhattında).
-
int EROFS
Salt okunur dosya sisteminde birşeyler değiştirilmeye çalışıldı.
-
int EMLINK
Çok fazla bağ var; tek bir dosyaya çok sayıda bağ varsa, dosyanın ismi bağlarla zaten değiştirilmişse ve
rename ile dosyanın ismi değiştirilmeye çalışılırsa bu durum ortaya çıkabilir. Bkz.
Dosya İsimlerinin Değiştirilmesi.
-
int EPIPE
Kırık boruhattı; bir boruhattının diğer ucunda okuyacak bir sürecin olmaması durumu. Her kütüphane işlevi bu hatayla dönebilir ve ayrıca bir SIGPIPE sinyali üretir. Bu sinyal yazılım tarafından yakalanmıyor ya da engellenmiyorsa yazılımı sonlandıracaktır. Bu yüzden eğer yazılımınız SIGPIPE sinyalini yakalamıyor ya da engellemiyorsa yazılımınız bu hatayı asla almayacak ama sonlanacaktır.
-
int EDOM
Sayısal argüman alan dışı; matematik işlevlerinde bir argüman işlev tarafından tanımlanmış alandan taşarsa bu hata oluşur.
-
int ERANGE
Kapsama hatası; matematik işlevleri tarafından kullanılır. Sonuç, olması gereken değer aralığının altında ya da üstünde ise bu hata oluşur.
-
int EAGAIN
Özkaynak geçici olarak kullanımdışı; daha sonra tekrar denerseniz çağrı çalışacaktır. EWOULDBLOCK makrosu ile aynıdır ve GNU C kütüphanesinde bu ikisi aynıdır.
Bu hata bir kaç farklı durumda ortaya çıkabilir:
-
int EWOULDBLOCK
GNU C kütüphanesinde bu hata EAGAIN (yukarıda) ile aynıdır. Değerler bütün işletim sistemlerinde daima aynıdır.
Eski Unix sistemlerinin çoğunda, C kütüphanelerinde EWOULDBLOCK, EAGAIN hata kodundan farklıdır.
-
int EINPROGRESS
Engellenmemesi öngörülmüş bir nesne üzerinde başlatılmış bir işlem tamamlanmadı. Daima bloklanması gereken bazı işlevler (örn,
connect) hiçbir zaman
EAGAIN hatası vermez. Onun yerine, bir işlemin başlamış olduğunu ve tamamlanmasının biraz vakit alacağını belirten
EINPROGRESS hatası döner. Çağrı tamamlanmadan önce nesneyi değiştirmeye çalışmak ise
EALREADY hatasına yolaçar. Kuyruktaki işlemin ne zaman tamamlanacağını bulmak için
select işlevini kullanabilirsiniz.
-
int EALREADY
Engellenmemesi öngörülmüş bir nesne üzerindeki işlem hala sürüyor.
-
int ENOTSOCK
Bir soket gerektiği halde belirtilen dosya bir soket değil.
-
int EMSGSIZE
Bir sokete gönderilen iletinin uzunluğu desteklenenden fazla.
-
int EPROTOTYPE
İstenen protokol bu soket türünü desteklemiyor.
-
int ENOPROTOOPT
Belirttiğiniz
soket seçeneği soket tarafından kullanılmakta olan protokol için uygun değil.
-
int EPROTONOSUPPORT
Soket istenen iletişim protokolünü desteklemiyor (istenen protokolün tamamiyle geçersiz olduğu durumda). Bkz.
Bir Soketin Oluşturulması.
-
int ESOCKTNOSUPPORT
Soket türü desteklenmiyor.
-
int EOPNOTSUPP
İstediğiniz işlem desteklenmiyor. Bazı soket işlevleri tüm soket türleri için uygun değildir ve bunlar tüm iletişim protokolleri için gerçekleştirilmemiş olabilirler. GNU sisteminde bir nesne istenen işlemi desteklemiyorsa birçok çağrı bu hatayı verebilir. Sunucunun bu çağrı için hiçbir şey yapamayacağı genel bir durumu belirtir.
-
int EPFNOSUPPORT
İstediğiniz soket iletişim protokolü ailesi desteklenmiyor.
-
int EAFNOSUPPORT
Bir soket için belirtilmiş adres ailesi desteklenmiyor; adres ailesinin soket üzerinde kullanılan protokolle bağdaşmadığını belirtir. Bkz.
Soketler.
-
int EADDRINUSE
-
int EADDRNOTAVAIL
İstenen soket adresi kullanıma uygun değil; örneğin, yerel konak ismi ile eşleşmeyen bir soket ismi verilmeye çalışılması. Bkz.
Soket Adresleri.
-
int ENETDOWN
Ağ çökük olduğundan soket işlemi başarısız oldu.
-
int ENETUNREACH
Uzak konağı içeren alt ağ erişilemez olduğundan soket işlemi başarısız oldu.
-
int ENETRESET
Uzak konak çöktüğünden ağ bağlantısı sıfırlandı.
-
int ECONNABORTED
Ağ bağlantısı yerel olarak sonlandırıldı.
-
int ECONNRESET
Ağ bağlantısı yerel konağın denetimi dışında kapandı. Örneğin, uzak makinenin yeniden başlatılıyor olması veya önlenemeyen bir protokol saldırısı bu hataya sebep olabilir.
-
int ENOBUFS
Çekirdeğin G/Ç tamponlarının hepsi kullanımda. GNU'da bu hata daima ENOMEM ile eşanlamlıdır. Ağ işlemlerinin birinden ya da diğerinden alabilirsiniz.
-
int EISCONN
-
int ENOTCONN
Soket hiçbir şeye bağlı değil. Veriyi hedefini belirtmeksizin bir soket üzerinden aktarmaya çalışırsanız bu hatayı alırsınız. Bağlantısız soketlerde (örneğin UDP) bu hata yerine EDESTADDRREQ hatası alınır.
-
int EDESTADDRREQ
Sokete öntanımlı hedef adresi belirtilmemiş. Veriyi hedefini belirtmeksizin connect ile bir bağlantısız soket üzerinden aktarmaya çalışırsanız bu hatayı alırsınız.
-
int ESHUTDOWN
Soket zaten kapatılmış.
-
int ETOOMANYREFS
Çok fazla başvuru: uçlar birbirine bağlanamıyor
-
int ETIMEDOUT
Bir zamanaşımı belirtilmiş bir soket işlemine zamanaşımı süresinde bir yanıt gelmedi.
-
int ECONNREFUSED
Bir uzak konak ağ bağlantısına izin vermedi (genelde uzak konağın istenen hizmeti sunmadığı durumlarda oluşur).
-
int ELOOP
Bir dosya ismine bakılırken çok seviyeli sembolik bağlar saptandı. Bu durum çoğunlukla kapalı bir çevrim oluşturan sembolik bağları belirtir.
-
int ENAMETOOLONG
-
int EHOSTDOWN
İstenen ağ bağlantısındaki uzak konak çökük.
-
int EHOSTUNREACH
İstenen ağ bağlantısındaki uzak konak erişilebilir değil.
-
int ENOTEMPTY
Dizin boş değil, işlem için dizin boş olmalı. Bu hata genelde boş olmayan bir dizini silmeye kalkınca oluşur.
-
int EPROCLIM
Bu hata, yeni bir süreç üzerinde kullanıcı başına sınır
fork ile aşıldığında oluşur.
RLIMIT_NPROC sınırı hakkında daha ayrıntılı bilgiyi
Özkaynak Kullanımın Sınırlanması bölümünde bulabilirsiniz.
-
int EUSERS
Çok fazla kullanıcı olduğundan dosya kotası sistemi bozuldu.
-
int EDQUOT
Kullanıcının disk kotası aşıldı.
-
int ESTALE
Eskimiş NFS dosya kaydı. Sunucu konak üzerindeki dosya sisteminin yeniden düzenlenmesi nedeniyle NFS sisteminin iç bozulmasını belirtir. Bu bozulmanın giderilmesi için yerel konak üzerinde NFS dosya sisteminin önce ayrılıp sonra tekrar bağlanması gerekir.
-
int EREMOTE
Bir uzak dosya sistemi zaten kullanımda olan NFS bağlama dosyası ismi ile sisteme bağlanmaya çalışıldı. (Bu bazı işletim sistemlerinde bir hatadır, ancak GNU sistemlerinde bu hata kodunu imkansız yaparak onun çalışacağını umuyoruz.)
-
int EBADRPC
RPC yapısı hatalı
-
int ERPCMISMATCH
RPC sürümü yanlış
-
int EPROGUNAVAIL
RPC uygulaması kullanılabilir değil
-
int EPROGMISMATCH
RPC uygulaması sürümü yanlış
-
int EPROCUNAVAIL
RPC, uygulama için hatalı yordam yürüttü
-
int ENOLCK
Kullanılabilir bir kilit yok. Bu hata dosya kilitleme oluşumları tarafından kullanılır. Bilgi için
Dosya Kilitleri bölümüne bakınız. Bu hata GNU sistemlerinde hiçbir zaman üretilmez, ancak NFS sunucusunun çalıştığı başka bir işletim işletim sistemindeki bir işlemden kaynaklanabilir.
-
int EFTYPE
İlgisiz dosya türü ya da biçimi. Dosya işlem için yanlış türdendir ya da bir veri dosyası yanlış biçimlidir.
Bazı sistemlerde,
chmod ile bir dizin olmayan dosyaya yapışkan bit belirtilmeye çalışılırsa bu hata oluşur. Bkz.
Dosya İzinlerinin Atanması.
-
int EAUTH
Kimlik kanıtlama hatası.
-
int ENEEDAUTH
Kimlik kanıtlayıcı gerekli
-
int ENOSYS
İşlev henüz gerçeklenmedi. Bu hata çağrılan işlevin C kütüphanesinde ya da işletim sisteminde henüz mevcut olmadığını belirtir. Bu hatayı alıyorsanız, C kütüphanesinin ya da işletim sisteminin yeni bir sürümünü sisteminize kurmadığınız sürece aynı işlev için bu hatayı almaya devam edeceksiniz demektir.
-
int ENOTSUP
Desteklenmiyor. Bir işlev bu hatayı döndürüyorsa, ona verilen bir parametrenin geçerli olduğunu ancak istenen işlevselliğin bulunmadığı anlaşılır. İşlevin henüz bir komutu, bir seçeneği ya da bir bayrak bitini gerçekleştirmediği anlamına gelebilir. Bir işleve bir parametre içinde verilen bazı nesneler, örneğin bir dosya tanıtıcısı ya da port, verilen diğer parametrelerle desteği sağlayamadığı anlamına da gelebilir. Farklı bir dosya tanıtıcısı ya da farklı bir parametre değerleri aralığı ile destek sağlanmış olabilir.
İşlevin tamamı gerçeklenmemişse bu hata değil ENOSYS döner.
-
int EILSEQ
Bir çokbaytlı karakter çözümlemesinde, işlev bir geçersizlik saptadı ya da bayt sırası tamamlanmamış veya verilen geniş karakter geçersiz.
-
int EBACKGROUND
GNU sisteminde,
term protokolünü destekleyen sunucular, çağrıcı uçbrimin önalan işlem grubunda değilse bazı işlemler için bu hatayı döndürebilir. Aslında kullanıcılar bu hatayı görmezler. Çünkü örneğin
read ve
write gibi işlevler hatayı
SIGTTIN eya
SIGTTOU sinyaline dönüştürürler. İşlem grupları ve bu sinyaller hakkında daha fazla bilgi edinmek için
İş Denetimi bölümüne bakınız.
-
int EDIED
GNU sisteminde, açılan bir dosya bir uygulama tarafından dönüştürüldüğünde veya çevirici uygulama dosyaya bağlanmadan önce başlatılırken ölürse bu hata oluşur.
-
int ED
Deneyimli kullanıcı neyi yanlış yaptığını bilir.
-
int EGREGIOUS
Ne yaptınız?
-
int EIEIO
Evine dön ve sütünü iç.
-
int EGRATUITOUS
Bu hata kodunun bir kullanım amacı yok.
-
int EBADMSG
Hatalı ileti
-
int EIDRM
Belirteç kaldırıldı
-
int EMULTIHOP
Çoklu sıçrama denendi
-
int ENODATA
Kullanılabilir veri yok
-
int ENOLINK
Bağ kopmuştu
-
int ENOMSG
İstenen türde ileti yok
-
int ENOSR
Akımdışı özkaynaklar
-
int ENOSTR
Aygıt bir akım değil
-
int EOVERFLOW
Tanımlı veri türü için değer çok büyük
-
int EPROTO
Protokol hatası
-
int ETIME
Zamanlayıcı zamanaşımına uğradı
-
int ECANCELED