summaryrefslogtreecommitdiff
path: root/ACE/ace/os_include/os_errno.h
diff options
context:
space:
mode:
Diffstat (limited to 'ACE/ace/os_include/os_errno.h')
-rw-r--r--ACE/ace/os_include/os_errno.h149
1 files changed, 149 insertions, 0 deletions
diff --git a/ACE/ace/os_include/os_errno.h b/ACE/ace/os_include/os_errno.h
new file mode 100644
index 00000000000..9c9be161384
--- /dev/null
+++ b/ACE/ace/os_include/os_errno.h
@@ -0,0 +1,149 @@
+// -*- C++ -*-
+
+//=============================================================================
+/**
+ * @file os_errno.h
+ *
+ * system error numbers
+ *
+ * $Id$
+ *
+ * @author Don Hinton <dhinton@dresystems.com>
+ * @author This code was originally in various places including ace/OS.h.
+ */
+//=============================================================================
+
+#ifndef ACE_OS_INCLUDE_OS_ERRNO_H
+#define ACE_OS_INCLUDE_OS_ERRNO_H
+
+#include /**/ "ace/pre.h"
+
+#include "ace/config-lite.h"
+
+#if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+#endif /* ACE_LACKS_PRAGMA_ONCE */
+
+#if !defined (ACE_LACKS_ERRNO_H)
+# include /**/ <errno.h>
+#endif /* !ACE_LACKS_ERRNO_H */
+
+#if defined (ACE_VXWORKS)
+// Needed for VxWorks to pickup errnoSet()
+#include /**/ <errnoLib.h>
+#endif /* ACE_VXWORKS */
+
+// Place all additions (especially function declarations) within extern "C" {}
+#ifdef __cplusplus
+extern "C"
+{
+#endif /* __cplusplus */
+
+#if defined (ACE_WIN32)
+ // error code mapping for windows
+# define ETIME ERROR_SEM_TIMEOUT
+# define EWOULDBLOCK WSAEWOULDBLOCK
+# define EINPROGRESS WSAEINPROGRESS
+# define EALREADY WSAEALREADY
+# define ENOTSOCK WSAENOTSOCK
+# define EDESTADDRREQ WSAEDESTADDRREQ
+# define EMSGSIZE WSAEMSGSIZE
+# define EPROTOTYPE WSAEPROTOTYPE
+# define ENOPROTOOPT WSAENOPROTOOPT
+# define EPROTONOSUPPORT WSAEPROTONOSUPPORT
+# define ESOCKTNOSUPPORT WSAESOCKTNOSUPPORT
+# define EOPNOTSUPP WSAEOPNOTSUPP
+# define EPFNOSUPPORT WSAEPFNOSUPPORT
+# define EAFNOSUPPORT WSAEAFNOSUPPORT
+# define EADDRINUSE WSAEADDRINUSE
+# define EADDRNOTAVAIL WSAEADDRNOTAVAIL
+# define ENETDOWN WSAENETDOWN
+# define ENETUNREACH WSAENETUNREACH
+# define ENETRESET WSAENETRESET
+# define ECONNABORTED WSAECONNABORTED
+# define ECONNRESET WSAECONNRESET
+# define ENOBUFS WSAENOBUFS
+# define EISCONN WSAEISCONN
+# define ENOTCONN WSAENOTCONN
+# define ESHUTDOWN WSAESHUTDOWN
+# define ETOOMANYREFS WSAETOOMANYREFS
+# define ETIMEDOUT WSAETIMEDOUT
+# define ECONNREFUSED WSAECONNREFUSED
+# define ELOOP WSAELOOP
+# define EHOSTDOWN WSAEHOSTDOWN
+# define EHOSTUNREACH WSAEHOSTUNREACH
+# define EPROCLIM WSAEPROCLIM
+# define EUSERS WSAEUSERS
+# define EDQUOT WSAEDQUOT
+# define ESTALE WSAESTALE
+# define EREMOTE WSAEREMOTE
+ // Grrr! ENAMETOOLONG and ENOTEMPTY are already defined by the horrible
+ // 'standard' library.
+ // #define ENAMETOOLONG WSAENAMETOOLONG
+# define EADDRINUSE WSAEADDRINUSE
+
+ // CE needs this...
+# if !defined (EPERM)
+# define EPERM ERROR_ACCESS_DENIED
+# endif
+#endif /* ACE_WIN32 */
+
+#if defined (ACE_HAS_H_ERRNO)
+void herror (const char *str);
+#endif /* ACE_HAS_H_ERRNO */
+
+#if !defined (ACE_WIN32) && defined (ACE_LACKS_T_ERRNO)
+extern int t_errno;
+#endif /* ACE_WIN32 && ACE_LACKS_T_ERRNO */
+
+#if !defined (ENOSYS)
+# define ENOSYS EFAULT /* Operation not supported or unknown error. */
+#endif /* !ENOSYS */
+
+#if !defined (ENOTSUP)
+# define ENOTSUP ENOSYS /* Operation not supported. */
+#endif /* !ENOTSUP */
+
+#if !defined (ESUCCESS)
+# define ESUCCESS 0
+#endif /* !ESUCCESS */
+
+#if !defined (EIDRM)
+# define EIDRM 0
+#endif /* !EIDRM */
+
+#if !defined (ENFILE)
+# define ENFILE EMFILE /* No more socket descriptors are available. */
+#endif /* !ENFILE */
+
+#if !defined (ECOMM)
+ // Not the same, but ECONNABORTED is provided on NT.
+# define ECOMM ECONNABORTED
+#endif /* ECOMM */
+
+#if !defined (EDEADLK)
+# define EDEADLK 1000 /* Some large number.... */
+#endif /* !EDEADLK */
+
+#if !defined (ENXIO) /* Needed in SOCK_Dgram_Mcast */
+# define ENXIO 6
+#endif /* ENXIO */
+
+#if !defined (ETIMEDOUT) && defined (ETIME)
+# define ETIMEDOUT ETIME
+#endif /* ETIMEDOUT */
+
+#if !defined (ETIME) && defined (ETIMEDOUT)
+# define ETIME ETIMEDOUT
+#endif /* ETIMED */
+
+#if !defined (EBUSY)
+# define EBUSY ETIME
+#endif /* EBUSY */
+
+#ifdef __cplusplus
+}
+#endif /* __cplusplus */
+
+#include /**/ "ace/post.h"
+#endif /* ACE_OS_INCLUDE_OS_ERRNO_H */