aboutsummaryrefslogtreecommitdiff
path: root/externals/ace/Flag_Manip.cpp
diff options
context:
space:
mode:
authorXanadu <none@none>2010-07-20 02:49:28 +0200
committerXanadu <none@none>2010-07-20 02:49:28 +0200
commit79622802f397258ee0f34327ba3ae6977ca3e7ff (patch)
tree1868946c234ab9ee256a6b7766a15713eae94235 /externals/ace/Flag_Manip.cpp
parent7dd2dc91816ab8b3bc3b99a1b1c99c7ea314d5a8 (diff)
parentf906976837502fa5aa81b982b901d1509f5aa0c4 (diff)
Merge. Revision history for source files should be all back now.
--HG-- branch : trunk rename : sql/CMakeLists.txt => sql/tools/CMakeLists.txt rename : src/server/game/Pools/PoolHandler.cpp => src/server/game/Pools/PoolMgr.cpp rename : src/server/game/Pools/PoolHandler.h => src/server/game/Pools/PoolMgr.h rename : src/server/game/PrecompiledHeaders/NixCorePCH.cpp => src/server/game/PrecompiledHeaders/gamePCH.cpp rename : src/server/game/PrecompiledHeaders/NixCorePCH.h => src/server/game/PrecompiledHeaders/gamePCH.h
Diffstat (limited to 'externals/ace/Flag_Manip.cpp')
-rw-r--r--externals/ace/Flag_Manip.cpp95
1 files changed, 95 insertions, 0 deletions
diff --git a/externals/ace/Flag_Manip.cpp b/externals/ace/Flag_Manip.cpp
new file mode 100644
index 00000000000..f9ac4083fa0
--- /dev/null
+++ b/externals/ace/Flag_Manip.cpp
@@ -0,0 +1,95 @@
+// $Id: Flag_Manip.cpp 80826 2008-03-04 14:51:23Z wotte $
+
+#include "ace/Flag_Manip.h"
+
+#if defined (ACE_LACKS_FCNTL)
+# include "ace/OS_NS_stropts.h"
+# include "ace/OS_NS_errno.h"
+#endif /* ACE_LACKS_FCNTL */
+
+#if !defined (__ACE_INLINE__)
+#include "ace/Flag_Manip.inl"
+#endif /* __ACE_INLINE__ */
+
+#if defined (CYGWIN32)
+# include "ace/os_include/os_termios.h"
+#endif /* CYGWIN32 */
+
+ACE_RCSID (ace,
+ Flag_Manip,
+ "$Id: Flag_Manip.cpp 80826 2008-03-04 14:51:23Z wotte $")
+
+ACE_BEGIN_VERSIONED_NAMESPACE_DECL
+
+// Flags are file status flags to turn on.
+
+int
+ACE::set_flags (ACE_HANDLE handle, int flags)
+{
+ ACE_TRACE ("ACE::set_flags");
+#if defined (ACE_LACKS_FCNTL)
+ switch (flags)
+ {
+ case ACE_NONBLOCK:
+ // nonblocking argument (1)
+ // blocking: (0)
+ {
+ int nonblock = 1;
+ return ACE_OS::ioctl (handle, FIONBIO, &nonblock);
+ }
+ default:
+ ACE_NOTSUP_RETURN (-1);
+ }
+#else
+ int val = ACE_OS::fcntl (handle, F_GETFL, 0);
+
+ if (val == -1)
+ return -1;
+
+ // Turn on flags.
+ ACE_SET_BITS (val, flags);
+
+ if (ACE_OS::fcntl (handle, F_SETFL, val) == -1)
+ return -1;
+ else
+ return 0;
+#endif /* ACE_LACKS_FCNTL */
+}
+
+// Flags are the file status flags to turn off.
+
+int
+ACE::clr_flags (ACE_HANDLE handle, int flags)
+{
+ ACE_TRACE ("ACE::clr_flags");
+
+#if defined (ACE_LACKS_FCNTL)
+ switch (flags)
+ {
+ case ACE_NONBLOCK:
+ // nonblocking argument (1)
+ // blocking: (0)
+ {
+ int nonblock = 0;
+ return ACE_OS::ioctl (handle, FIONBIO, &nonblock);
+ }
+ default:
+ ACE_NOTSUP_RETURN (-1);
+ }
+#else
+ int val = ACE_OS::fcntl (handle, F_GETFL, 0);
+
+ if (val == -1)
+ return -1;
+
+ // Turn flags off.
+ ACE_CLR_BITS (val, flags);
+
+ if (ACE_OS::fcntl (handle, F_SETFL, val) == -1)
+ return -1;
+ else
+ return 0;
+#endif /* ACE_LACKS_FCNTL */
+}
+
+ACE_END_VERSIONED_NAMESPACE_DECL