Go to the documentation of this file.00001
00002
00003
00004
00005 #include "ace/config-all.h"
00006
00007 ACE_BEGIN_VERSIONED_NAMESPACE_DECL
00008
00009 ACE_INLINE int
00010 ACE_OS::last_error (void)
00011 {
00012
00013
00014 #if defined (ACE_WIN32)
00015
00016
00017
00018
00019
00020 int lerror = ::GetLastError ();
00021 int lerrno = errno;
00022 return lerrno == 0 ? lerror : lerrno;
00023 #else
00024 return errno;
00025 #endif
00026 }
00027
00028 ACE_INLINE void
00029 ACE_OS::last_error (int error)
00030 {
00031 ACE_OS_TRACE ("ACE_OS::last_error");
00032 #if defined (ACE_WIN32)
00033 ::SetLastError (error);
00034 #endif
00035 errno = error;
00036 }
00037
00038 ACE_INLINE int
00039 ACE_OS::set_errno_to_last_error (void)
00040 {
00041 # if defined (ACE_WIN32)
00042 return errno = ::GetLastError ();
00043 #else
00044 return errno;
00045 # endif
00046 }
00047
00048 ACE_INLINE int
00049 ACE_OS::set_errno_to_wsa_last_error (void)
00050 {
00051 # if defined (ACE_WIN32)
00052 return errno = ::WSAGetLastError ();
00053 #else
00054 return errno;
00055 # endif
00056 }
00057
00058 #if defined (ACE_HAS_WINCE_BROKEN_ERRNO)
00059
00060 ACE_INLINE ACE_CE_Errno *
00061 ACE_CE_Errno::instance ()
00062 {
00063
00064 return ACE_CE_Errno::instance_;
00065 }
00066
00067 ACE_INLINE
00068 ACE_CE_Errno::operator int (void) const
00069 {
00070 return (int) TlsGetValue (ACE_CE_Errno::errno_key_);
00071 }
00072
00073 ACE_INLINE int
00074 ACE_CE_Errno::operator= (int x)
00075 {
00076
00077 TlsSetValue (ACE_CE_Errno::errno_key_, (void *) x);
00078 return x;
00079 }
00080
00081 #endif
00082
00083 ACE_END_VERSIONED_NAMESPACE_DECL