X-Git-Url: https://pd.if.org/git/?a=blobdiff_plain;f=includes%2Ferrno.h;h=34cf843de8e54ee1947f0ec1a642a1db3d624b82;hb=e3c5fcf35a4e2c7b649a0c554d4f757561256a01;hp=5bd397d12424d23e250e4976a20bbddf06ecc8ee;hpb=c8f799d852e3698468a78954d82588e841cc0b70;p=pdclib.old diff --git a/includes/errno.h b/includes/errno.h index 5bd397d..34cf843 100644 --- a/includes/errno.h +++ b/includes/errno.h @@ -1,34 +1,99 @@ -/* ---------------------------------------------------------------------------- - * $Id$ - * ---------------------------------------------------------------------------- - * Public Domain C Library - http://pdclib.sourceforge.net - * This code is Public Domain. Use, modify, and redistribute at will. - * ---------------------------------------------------------------------------- - * Errors - * --------------------------------------------------------------------------*/ +/* $Id$ */ -#ifndef _ERRNO_H -#define _ERRNO_H _ERRNO_H +/* 7.5 Errors -#ifndef _PERSONALITY -#define _PERSONALITY _PERSONALITY -#include "__personality.h" -#endif /* _PERSONALITY */ + This file is part of the Public Domain C Library (PDCLib). + Permission is granted to use, modify, and / or redistribute at will. +*/ -/* TODO: Documentation */ +#ifndef _PDCLIB_ERRNO_H +#define _PDCLIB_ERRNO_H _PDCLIB_ERRNO_H +#include <_PDCLIB_int.h> +_PDCLIB_BEGIN_EXTERN_C -/* ---------------------------------------------------------------------------- - * DECLARATIONS - * --------------------------------------------------------------------------*/ +#define errno (*_PDCLIB_errno_func()) -extern int errno; +/* C99 */ +#define ERANGE _PDCLIB_ERANGE +#define EDOM _PDCLIB_EDOM +#define EILSEQ _PDCLIB_EILSEQ -/* ---------------------------------------------------------------------------- - * DEFINES - * --------------------------------------------------------------------------*/ +/* C++11. Yes, they did just copy the POSIX errno list into the standard + * + * ...take a DEEP breath... + */ +#define E2BIG _PDCLIB_E2BIG +#define ECONNRESET _PDCLIB_ECONNRESET +#define EISCONN _PDCLIB_EISCONN +#define ENOENT _PDCLIB_ENOENT +#define ENOTRECOVERABLE _PDCLIB_ENOTRECOVERABLE +#define EROFS _PDCLIB_EROFS +#define EACCES _PDCLIB_EACCES +#define EDEADLK _PDCLIB_EDEADLK +#define EISDIR _PDCLIB_EISDIR +#define ENOEXEC _PDCLIB_ENOEXEC +#define ENOTSOCK _PDCLIB_ENOTSOCK +#define ESPIPE _PDCLIB_ESPIPE +#define EADDRINUSE _PDCLIB_EADDRINUSE +#define EDESTADDRREQ _PDCLIB_EDESTADDRREQ +#define ELOOP _PDCLIB_ELOOP +#define ENOLCK _PDCLIB_ENOLCK +#define ENOTSUP _PDCLIB_ENOTSUPP +#define ESRCH _PDCLIB_ESRCH +#define EADDRNOTAVAIL _PDCLIB_EADDRNOTAVAIL +#define EMFILE _PDCLIB_EMFILE +#define ENOLINK _PDCLIB_ENOLINK +#define ENOTTY _PDCLIB_ENOTTY +#define ETIME _PDCLIB_ETIME +#define EAFNOSUPPORT _PDCLIB_EAFNOSUPPORT +#define EEXIST _PDCLIB_EEXIST +#define EMLINK _PDCLIB_EMLINK +#define ENOMEM _PDCLIB_ENOMEM +#define ENXIO _PDCLIB_ENXIO +#define ETIMEDOUT _PDCLIB_ETIMEDOUT +#define EAGAIN _PDCLIB_EAGAIN +#define EFAULT _PDCLIB_EFAULT +#define EMSGSIZE _PDCLIB_EMSGSIZE +#define ENOMSG _PDCLIB_ENOMSG +#define EOPNOTSUPP _PDCLIB_EOPNOTSUPP +#define ETXTBSY _PDCLIB_ETXTBSY +#define EALREADY _PDCLIB_EALREADY +#define EFBIG _PDCLIB_EFBIG +#define ENAMETOOLONG _PDCLIB_ENAMETOOLONG +#define ENOPROTOOPT _PDCLIB_ENOPROTOOPT +#define EOVERFLOW _PDCLIB_EOVERFLOW +#define EWOULDBLOCK _PDCLIB_EWOULDBLOCK +#define EBADF _PDCLIB_EBADF +#define EHOSTUNREACH _PDCLIB_EHOSTUNREACH +#define ENETDOWN _PDCLIB_ENETDOWN +#define ENOSPC _PDCLIB_ENOSPC +#define EOWNERDEAD _PDCLIB_EOWNERDEAD +#define EXDEV _PDCLIB_EXDEV +#define EBADMSG _PDCLIB_EBADMSG +#define EIDRM _PDCLIB_EIDRM +#define ENETRESET _PDCLIB_ENETRESET +#define ENOSR _PDCLIB_ENOSR +#define EPERM _PDCLIB_EPERM +#define EBUSY _PDCLIB_EBUSY +#define ENETUNREACH _PDCLIB_ENETUNREACH +#define ENOSTR _PDCLIB_ENOSTR +#define EPIPE _PDCLIB_EPIPE +#define ECANCELED _PDCLIB_ECANCELED +#define EINPROGRESS _PDCLIB_EINPROGRESS +#define ENFILE _PDCLIB_ENFILE +#define ENOSYS _PDCLIB_ENOSYS +#define EPROTO _PDCLIB_EPROTO +#define ECHILD _PDCLIB_ECHILD +#define EINTR _PDCLIB_EINTR +#define ENOBUFS _PDCLIB_ENOBUFS +#define ENOTCONN _PDCLIB_ENOTCONN +#define EPROTONOSUPPORT _PDCLIB_EPROTONOSUPPORT +#define ECONNABORTED _PDCLIB_ECONNABORTED +#define EINVAL _PDCLIB_EINVAL +#define ENODATA _PDCLIB_ENODATA +#define ENOTDIR _PDCLIB_ENOTDIR +#define EPROTOTYPE _PDCLIB_EPROTOTYPE -#define EDOM _EDOM /* domain error */ -#define EILSEQ _EILSEQ /* illegal (multibyte) sequence */ -#define ERANGE _ERANGE /* range error */ +_PDCLIB_END_EXTERN_C +#endif -#endif /* _ERRNO_H */