plibsys
Typedefs | Enumerations
perrortypes.h File Reference

Error data types. More...

#include <pmacros.h>
Include dependency graph for perrortypes.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Typedefs

typedef P_BEGIN_DECLS enum PErrorDomain_ PErrorDomain
 Enum with error domains. More...
 
typedef enum PErrorIO_ PErrorIO
 Enum with IO errors. More...
 
typedef enum PErrorIPC_ PErrorIPC
 Enum with IPC errors.
 

Enumerations

enum  PErrorDomain_ { P_ERROR_DOMAIN_NONE = 0, P_ERROR_DOMAIN_IO = 500, P_ERROR_DOMAIN_IPC = 600 }
 Enum with error domains. More...
 
enum  PErrorIO_ {
  P_ERROR_IO_NONE = 500, P_ERROR_IO_NO_RESOURCES = 501, P_ERROR_IO_NOT_AVAILABLE = 502, P_ERROR_IO_ACCESS_DENIED = 503,
  P_ERROR_IO_CONNECTED = 504, P_ERROR_IO_IN_PROGRESS = 505, P_ERROR_IO_ABORTED = 506, P_ERROR_IO_INVALID_ARGUMENT = 507,
  P_ERROR_IO_NOT_SUPPORTED = 508, P_ERROR_IO_TIMED_OUT = 509, P_ERROR_IO_WOULD_BLOCK = 510, P_ERROR_IO_ADDRESS_IN_USE = 511,
  P_ERROR_IO_CONNECTION_REFUSED = 512, P_ERROR_IO_NOT_CONNECTED = 513, P_ERROR_IO_QUOTA = 514, P_ERROR_IO_IS_DIRECTORY = 515,
  P_ERROR_IO_NOT_DIRECTORY = 516, P_ERROR_IO_NAMETOOLONG = 517, P_ERROR_IO_EXISTS = 518, P_ERROR_IO_NOT_EXISTS = 519,
  P_ERROR_IO_NO_MORE = 520, P_ERROR_IO_NOT_IMPLEMENTED = 521, P_ERROR_IO_FAILED = 522
}
 Enum with IO errors. More...
 
enum  PErrorIPC_ {
  P_ERROR_IPC_NONE = 600, P_ERROR_IPC_ACCESS = 601, P_ERROR_IPC_EXISTS = 602, P_ERROR_IPC_NOT_EXISTS = 603,
  P_ERROR_IPC_NO_RESOURCES = 604, P_ERROR_IPC_OVERFLOW = 605, P_ERROR_IPC_NAMETOOLONG = 606, P_ERROR_IPC_INVALID_ARGUMENT = 607,
  P_ERROR_IPC_NOT_IMPLEMENTED = 608, P_ERROR_IPC_DEADLOCK = 609, P_ERROR_IPC_FAILED = 610
}
 Enum with IPC errors. More...
 

Detailed Description

Error data types.

Author
Alexander Saprykin

All error codes are splitted into the several domains. Every error should belong to one of the domains described in PErrorDomain. Think of an error domain as a logical subsystem.

Every error domain has its own enumeration with the list of possible error codes. System error codes are converted to specified domains using internal routines.

Typedef Documentation

◆ PErrorDomain

Enum with error domains.

◆ PErrorIO

typedef enum PErrorIO_ PErrorIO

Enum with IO errors.

Enumeration Type Documentation

◆ PErrorDomain_

Enum with error domains.

Enumerator
P_ERROR_DOMAIN_NONE 

No domain was specified.

P_ERROR_DOMAIN_IO 

Input/output domain.

P_ERROR_DOMAIN_IPC 

Interprocess communication domain.

◆ PErrorIO_

enum PErrorIO_

Enum with IO errors.

Enumerator
P_ERROR_IO_NONE 

No error.

P_ERROR_IO_NO_RESOURCES 

Operating system hasn't enough resources.

P_ERROR_IO_NOT_AVAILABLE 

Resource isn't available.

P_ERROR_IO_ACCESS_DENIED 

Access denied.

P_ERROR_IO_CONNECTED 

Already connected.

P_ERROR_IO_IN_PROGRESS 

Operation in progress.

P_ERROR_IO_ABORTED 

Operation aborted.

P_ERROR_IO_INVALID_ARGUMENT 

Invalid argument specified.

P_ERROR_IO_NOT_SUPPORTED 

Operation not supported.

P_ERROR_IO_TIMED_OUT 

Operation timed out.

P_ERROR_IO_WOULD_BLOCK 

Operation cannot be completed immediatly.

P_ERROR_IO_ADDRESS_IN_USE 

Address is already under usage.

P_ERROR_IO_CONNECTION_REFUSED 

Connection refused.

P_ERROR_IO_NOT_CONNECTED 

Connection required first.

P_ERROR_IO_QUOTA 

User quota exceeded.

P_ERROR_IO_IS_DIRECTORY 

Trying to open directory for writing.

P_ERROR_IO_NOT_DIRECTORY 

Component of the path prefix is not a directory.

P_ERROR_IO_NAMETOOLONG 

Specified name is too long.

P_ERROR_IO_EXISTS 

Specified entry already exists.

P_ERROR_IO_NOT_EXISTS 

Specified entry doesn't exist.

P_ERROR_IO_NO_MORE 

No more data left.

P_ERROR_IO_NOT_IMPLEMENTED 

Operation is not implemented.

P_ERROR_IO_FAILED 

General error.

◆ PErrorIPC_

enum PErrorIPC_

Enum with IPC errors.

Enumerator
P_ERROR_IPC_NONE 

No error.

P_ERROR_IPC_ACCESS 

Not enough rights to access object or its key.

P_ERROR_IPC_EXISTS 

Object already exists and no proper open flags were specified.

P_ERROR_IPC_NOT_EXISTS 

Object doesn't exist or was removed before, and no proper create flags were specified.

P_ERROR_IPC_NO_RESOURCES 

Not enough system resources or memory to perform operation.

P_ERROR_IPC_OVERFLOW 

Semaphore value overflow.

P_ERROR_IPC_NAMETOOLONG 

Object name is too long.

P_ERROR_IPC_INVALID_ARGUMENT 

Invalid argument (parameter) specified.

P_ERROR_IPC_NOT_IMPLEMENTED 

Operation is not implemented (for example when using some filesystems).

P_ERROR_IPC_DEADLOCK 

Deadlock detected.

P_ERROR_IPC_FAILED 

General error.