haskus-system-0.6.0.0: Haskus system programming framework

Safe HaskellNone
LanguageHaskell2010

Haskus.Arch.Linux.ErrorCode

Description

Management of returned values from syscalls

Synopsis

Documentation

data ErrorCode Source #

Linux error codes

Constructors

EPERM

Operation not permitted

ENOENT

No such file or directory

ESRCH

No such process

EINTR

Interrupted system call

EIO

I/O error

ENXIO

No such device or address

E2BIG

Argument list too long

ENOEXEC

Exec format error

EBADF

Bad file number

ECHILD

No child processes

EAGAIN

Try again

ENOMEM

Out of memory

EACCES

Permission denied

EFAULT

Bad address

ENOTBLK

Block device required

EBUSY

Device or resource busy

EEXIST

File exists

EXDEV

Cross-device link

ENODEV

No such device

ENOTDIR

Not a directory

EISDIR

Is a directory

EINVAL

Invalid argument

ENFILE

File table overflow

EMFILE

Too many open files

ENOTTY

Not a typewriter

ETXTBSY

Text file busy

EFBIG

File too large

ENOSPC

No space left on device

ESPIPE

Illegal seek

EROFS

Read-only file system

EMLINK

Too many links

EPIPE

Broken pipe

EDOM

Math argument out of domain of func

ERANGE

Math result not representable

EDEADLK

Resource deadlock would occur

ENAMETOOLONG

File name too long

ENOLCK

No record locks available

ENOSYS

Function not implemented

ENOTEMPTY

Directory not empty

ELOOP

Too many symbolic links encountered

ENOMSG

No message of desired type

EIDRM

Identifier removed

ECHRNG

Channel number out of range

EL2NSYNC

Level 2 not synchronized

EL3HLT

Level 3 halted

EL3RST

Level 3 reset

ELNRNG

Link number out of range

EUNATCH

Protocol driver not attached

ENOCSI

No CSI structure available

EL2HLT

Level 2 halted

EBADE

Invalid exchange

EBADR

Invalid request descriptor

EXFULL

Exchange full

ENOANO

No anode

EBADRQC

Invalid request code

EBADSLT

Invalid slot

EBFONT

Bad font file format

ENOSTR

Device not a stream

ENODATA

No data available

ETIME

Timer expired

ENOSR

Out of streams resources

ENONET

Machine is not on the network

ENOPKG

Package not installed

EREMOTE

Object is remote

ENOLINK

Link has been severed

EADV

Advertise error

ESRMNT

Srmount error

ECOMM

Communication error on send

EPROTO

Protocol error

EMULTIHOP

Multihop attempted

EDOTDOT

RFS specific error

EBADMSG

Not a data message

EOVERFLOW

Value too large for defined data type

ENOTUNIQ

Name not unique on network

EBADFD

File descriptor in bad state

EREMCHG

Remote address changed

ELIBACC

Can not access a needed shared library

ELIBBAD

Accessing a corrupted shared library

ELIBSCN

.lib section in a.out corrupted

ELIBMAX

Attempting to link in too many shared libraries

ELIBEXEC

Cannot exec a shared library directly

EILSEQ

Illegal byte sequence

ERESTART

Interrupted system call should be restarted

ESTRPIPE

Streams pipe error

EUSERS

Too many users

ENOTSOCK

Socket operation on non-socket

EDESTADDRREQ

Destination address required

EMSGSIZE

Message too long

EPROTOTYPE

Protocol wrong type for socket

ENOPROTOOPT

Protocol not available

EPROTONOSUPPORT

Protocol not supported

ESOCKTNOSUPPORT

Socket type not supported

EOPNOTSUPP

Operation not supported on transport endpoint

EPFNOSUPPORT

Protocol family not supported

EAFNOSUPPORT

Address family not supported by protocol

EADDRINUSE

Address already in use

EADDRNOTAVAIL

Cannot assign requested address

ENETDOWN

Network is down

ENETUNREACH

Network is unreachable

ENETRESET

Network dropped connection because of reset

ECONNABORTED

Software caused connection abort

ECONNRESET

Connection reset by peer

ENOBUFS

No buffer space available

EISCONN

Transport endpoint is already connected

ENOTCONN

Transport endpoint is not connected

ESHUTDOWN

Cannot send after transport endpoint shutdown

ETOOMANYREFS

Too many references: cannot splice

ETIMEDOUT

Connection timed out

ECONNREFUSED

Connection refused

EHOSTDOWN

Host is down

EHOSTUNREACH

No route to host

EALREADY

Operation already in progress

EINPROGRESS

Operation now in progress

ESTALE

Stale file handle

EUCLEAN

Structure needs cleaning

ENOTNAM

Not a XENIX named type file

ENAVAIL

No XENIX semaphores available

EISNAM

Is a named type file

EREMOTEIO

Remote I/O error

EDQUOT

Quota exceeded

ENOMEDIUM

No medium found

EMEDIUMTYPE

Wrong medium type

ECANCELED

Operation Canceled

ENOKEY

Required key not available

EKEYEXPIRED

Key has expired

EKEYREVOKED

Key has been revoked

EKEYREJECTED

Key was rejected by service

EOWNERDEAD

Owner died

ENOTRECOVERABLE

State not recoverable

ERFKILL

Operation not possible due to RF-kill

EHWPOISON

Memory page has hardware error

ECustom Word64

Custom error code

Instances

Eq ErrorCode Source # 
Data ErrorCode Source # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ErrorCode -> c ErrorCode #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ErrorCode #

toConstr :: ErrorCode -> Constr #

dataTypeOf :: ErrorCode -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c ErrorCode) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ErrorCode) #

gmapT :: (forall b. Data b => b -> b) -> ErrorCode -> ErrorCode #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ErrorCode -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ErrorCode -> r #

gmapQ :: (forall d. Data d => d -> u) -> ErrorCode -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> ErrorCode -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> ErrorCode -> m ErrorCode #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ErrorCode -> m ErrorCode #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ErrorCode -> m ErrorCode #

Show ErrorCode Source # 
CEnum ErrorCode Source # 

unhdlErr :: Show err => String -> err -> a Source #

Error to call when a syscall returns an unexpected error value

toErrorCode :: Int64 -> Variant '[Int64, ErrorCode] Source #

Convert negative values into error codes

toErrorCodeVoid :: Int64 -> Variant '[(), ErrorCode] Source #

Convert negative values into error codes, return () otherwise

toErrorCodePure :: (Int64 -> a) -> Int64 -> Variant '[a, ErrorCode] Source #

Convert negative values into error codes, return `f r` otherwise