]> pd.if.org Git - pdclib/blobdiff - includes/errno.h
Corrected _PDCLIB_CHAR_SIGNED comment.
[pdclib] / includes / errno.h
index 90c61db1fbf9dfda207aabe1b2129f3d9729faf8..1e712136b7806ad8d440cafe7949a5b4a9d5199d 100644 (file)
@@ -1,6 +1,4 @@
-/* $Id$ */
-
-/* 7.5 Errors <errno.h>
+/* Errors <errno.h>
 
    This file is part of the Public Domain C Library (PDCLib).
    Permission is granted to use, modify, and / or redistribute at will.
@@ -9,15 +7,99 @@
 #ifndef _PDCLIB_ERRNO_H
 #define _PDCLIB_ERRNO_H _PDCLIB_ERRNO_H
 
-#ifndef _PDCLIB_INT_H
-#define _PDCLIB_INT_H _PDCLIB_INT_H
-#include <_PDCLIB_int.h>
+#include "_PDCLIB_int.h"
+
+#ifdef __cplusplus
+extern "C" {
 #endif
 
+extern int * _PDCLIB_errno_func( void );
 #define errno (*_PDCLIB_errno_func())
 
-#define ERANGE _PDCLIB_ERANGE
-#define EDOM _PDCLIB_EDOM
+/* C only requires the following three */
+#define ERANGE          _PDCLIB_ERANGE
+#define EDOM            _PDCLIB_EDOM
+#define EILSEQ          _PDCLIB_EILSEQ
 
+/* C++11 additionally requires the following (taken from POSIX) */
+#define E2BIG           _PDCLIB_E2BIG
+#define EACCES          _PDCLIB_EACCES
+#define EADDRINUSE      _PDCLIB_EADDRINUSE
+#define EADDRNOTAVAIL   _PDCLIB_EADDRNOTAVAIL
+#define EAFNOSUPPORT    _PDCLIB_EAFNOSUPPORT
+#define EAGAIN          _PDCLIB_EAGAIN
+#define EALREADY        _PDCLIB_EALREADY
+#define EBADF           _PDCLIB_EBADF
+#define EBADMSG         _PDCLIB_EBADMSG
+#define EBUSY           _PDCLIB_EBUSY
+#define ECANCELED       _PDCLIB_ECANCELED
+#define ECHILD          _PDCLIB_ECHILD
+#define ECONNABORTED    _PDCLIB_ECONNABORTED
+#define ECONNREFUSED    _PDCLIB_ECONNREFUSED
+#define ECONNRESET      _PDCLIB_ECONNRESET
+#define EDEADLK         _PDCLIB_EDEADLK
+#define EDESTADDRREQ    _PDCLIB_EDESTADDRREQ
+#define EEXIST          _PDCLIB_EEXIST
+#define EFAULT          _PDCLIB_EFAULT
+#define EFBIG           _PDCLIB_EFBIG
+#define EHOSTUNREACH    _PDCLIB_EHOSTUNREACH
+#define EIDRM           _PDCLIB_EIDRM
+#define EINPROGRESS     _PDCLIB_EINPROGRESS
+#define EINTR           _PDCLIB_EINTR
+#define EINVAL          _PDCLIB_EINVAL
+#define EIO             _PDCLIB_EIO
+#define EISCONN         _PDCLIB_EISCONN
+#define EISDIR          _PDCLIB_EISDIR
+#define ELOOP           _PDCLIB_ELOOP
+#define EMFILE          _PDCLIB_EMFILE
+#define EMLINK          _PDCLIB_EMLINK
+#define EMSGSIZE        _PDCLIB_EMSGSIZE
+#define ENAMETOOLONG    _PDCLIB_ENAMETOOLONG
+#define ENETDOWN        _PDCLIB_ENETDOWN
+#define ENETRESET       _PDCLIB_ENETRESET
+#define ENETUNREACH     _PDCLIB_ENETUNREACH
+#define ENFILE          _PDCLIB_ENFILE
+#define ENOBUFS         _PDCLIB_ENOBUFS
+#define ENODATA         _PDCLIB_ENODATA
+#define ENODEV          _PDCLIB_ENODEV
+#define ENOENT          _PDCLIB_ENOENT
+#define ENOEXEC         _PDCLIB_ENOEXEC
+#define ENOLCK          _PDCLIB_ENOLCK
+#define ENOLINK         _PDCLIB_ENOLINK
+#define ENOMEM          _PDCLIB_ENOMEM
+#define ENOMSG          _PDCLIB_ENOMSG
+#define ENOPROTOOPT     _PDCLIB_ENOPROTOOPT
+#define ENOSPC          _PDCLIB_ENOSPC
+#define ENOSR           _PDCLIB_ENOSR
+#define ENOSTR          _PDCLIB_ENOSTR
+#define ENOSYS          _PDCLIB_ENOSYS
+#define ENOTCONN        _PDCLIB_ENOTCONN
+#define ENOTDIR         _PDCLIB_ENOTDIR
+#define ENOTEMPTY       _PDCLIB_ENOTEMPTY
+#define ENOTRECOVERABLE _PDCLIB_ENOTRECOVERABLE
+#define ENOTSOCK        _PDCLIB_ENOTSOCK
+#define ENOTSUP         _PDCLIB_ENOTSUP
+#define ENOTTY          _PDCLIB_ENOTTY
+#define ENXIO           _PDCLIB_ENXIO
+#define EOPNOTSUPP      _PDCLIB_EOPNOTSUPP
+#define EOVERFLOW       _PDCLIB_EOVERFLOW
+#define EOWNERDEAD      _PDCLIB_EOWNERDEAD
+#define EPERM           _PDCLIB_EPERM
+#define EPIPE           _PDCLIB_EPIPE
+#define EPROTO          _PDCLIB_EPROTO
+#define EPROTONOSUPPORT _PDCLIB_EPROTONOSUPPORT
+#define EPROTOTYPE      _PDCLIB_EPROTOTYPE
+#define EROFS           _PDCLIB_EROFS
+#define ESPIPE          _PDCLIB_ESPIPE
+#define ESRCH           _PDCLIB_ESRCH
+#define ETIME           _PDCLIB_ETIME
+#define ETIMEDOUT       _PDCLIB_ETIMEDOUT
+#define ETXTBSY         _PDCLIB_ETXTBSY
+#define EWOULDBLOCK     _PDCLIB_EWOULDBLOCK
+#define EXDEV           _PDCLIB_EXDEV
+
+#ifdef __cplusplus
+}
 #endif
 
+#endif