summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohnny Willemsen <jwillemsen@remedy.nl>2007-08-13 10:55:57 +0000
committerJohnny Willemsen <jwillemsen@remedy.nl>2007-08-13 10:55:57 +0000
commitf36a63ffc450fa1c5b84f2edd17eb286e8f833c0 (patch)
tree91ae737188b2cd6b5a57be89653a40c5f0a68b41
parented8abbb04d8dd33c9a55a903e8ceed319b3c03a5 (diff)
downloadATCD-f36a63ffc450fa1c5b84f2edd17eb286e8f833c0.tar.gz
Mon Aug 12 10:55;12 UTC 2007 Johnny Willemsen <jwillemsen@remedy.nl>
-rw-r--r--ACE/ChangeLog11
-rw-r--r--ACE/ace/CDR_Stream.cpp2
-rw-r--r--ACE/ace/OS_QoS.h149
3 files changed, 115 insertions, 47 deletions
diff --git a/ACE/ChangeLog b/ACE/ChangeLog
index 413e2bc22ce..10c54869d2d 100644
--- a/ACE/ChangeLog
+++ b/ACE/ChangeLog
@@ -1,3 +1,14 @@
+Mon Aug 12 10:55;12 UTC 2007 Johnny Willemsen <jwillemsen@remedy.nl>
+
+ * ace/CDR_Stream.cpp:
+ Const change
+
+ * ace/OS_QoS.h:
+ Instead of making all ACE_ defines dependent on winsock2, just for each
+ one check if the non ACE define exists or not. If it exists, use it, if
+ not, use a special ACE value. This makes it easier to support QoS with
+ MinGW.
+
Mon Aug 12 07:03:12 UTC 2007 Johnny Willemsen <jwillemsen@remedy.nl>
* ace/Log_Msg_IPC.cpp:
diff --git a/ACE/ace/CDR_Stream.cpp b/ACE/ace/CDR_Stream.cpp
index 515a9a222fa..07d4b68ce67 100644
--- a/ACE/ace/CDR_Stream.cpp
+++ b/ACE/ace/CDR_Stream.cpp
@@ -175,7 +175,7 @@ ACE_OutputCDR::grow_and_adjust (size_t size,
if (minsize < cursize)
minsize = cursize;
- const size_t newsize = ACE_CDR::next_size (minsize);
+ size_t const newsize = ACE_CDR::next_size (minsize);
this->good_bit_ = false;
ACE_Message_Block* tmp = 0;
diff --git a/ACE/ace/OS_QoS.h b/ACE/ace/OS_QoS.h
index f8f13a6bf6d..a0b4fbe2d1e 100644
--- a/ACE/ace/OS_QoS.h
+++ b/ACE/ace/OS_QoS.h
@@ -27,75 +27,132 @@
ACE_BEGIN_VERSIONED_NAMESPACE_DECL
-#if defined (ACE_HAS_WINSOCK2) && (ACE_HAS_WINSOCK2 != 0)
-#if defined (ACE_HAS_WINSOCK2_GQOS)
+#if defined (ACE_HAS_WINSOCK2) && (ACE_HAS_WINSOCK2 != 0) && defined (ACE_HAS_WINSOCK2_GQOS)
typedef SERVICETYPE ACE_SERVICE_TYPE;
#else
typedef unsigned long ACE_SERVICE_TYPE;
-#endif /* ACE_HAS_WINSOCK2_GQOS */
+#endif /* ACE_HAS_WINSOCK2 && ACE_HAS_WINSOCK2 != 0 */
+#if defined (WSA_FLAG_OVERLAPPED)
+# define ACE_OVERLAPPED_SOCKET_FLAG WSA_FLAG_OVERLAPPED
+#else
+# define ACE_OVERLAPPED_SOCKET_FLAG 0
+#endif
-#define ACE_OVERLAPPED_SOCKET_FLAG WSA_FLAG_OVERLAPPED
+#if defined (XP1_QOS_SUPPORTED)
+# define ACE_XP1_QOS_SUPPORTED XP1_QOS_SUPPORTED
+#else
+# define ACE_XP1_QOS_SUPPORTED 0x00002000
+#endif
-#define ACE_XP1_QOS_SUPPORTED XP1_QOS_SUPPORTED
-#define ACE_XP1_SUPPORT_MULTIPOINT XP1_SUPPORT_MULTIPOINT
+#if defined (XP1_SUPPORT_MULTIPOINT)
+# define ACE_XP1_SUPPORT_MULTIPOINT XP1_SUPPORT_MULTIPOINT
+#else
+# define ACE_XP1_SUPPORT_MULTIPOINT 0x00000400
+#endif
+
+#if defined (WSABASEERR)
+# define ACE_BASEERR WSABASEERR
+#else
+# define ACE_BASEERR 10000
+#endif
-#define ACE_BASEERR WSABASEERR
-#define ACE_ENOBUFS WSAENOBUFS
-#define ACE_FROM_PROTOCOL_INFO FROM_PROTOCOL_INFO
-#define ACE_FLAG_MULTIPOINT_C_ROOT WSA_FLAG_MULTIPOINT_C_ROOT
-#define ACE_FLAG_MULTIPOINT_C_LEAF WSA_FLAG_MULTIPOINT_C_LEAF
-#define ACE_FLAG_MULTIPOINT_D_ROOT WSA_FLAG_MULTIPOINT_D_ROOT
-#define ACE_FLAG_MULTIPOINT_D_LEAF WSA_FLAG_MULTIPOINT_D_LEAF
+#if defined (WSAENOBUFS)
+# define ACE_ENOBUFS WSAENOBUFS
+#else
+# define ACE_ENOBUFS (ACE_BASEERR+55)
+#endif
-#define ACE_QOS_NOT_SPECIFIED QOS_NOT_SPECIFIED
-#define ACE_SERVICETYPE_NOTRAFFIC SERVICETYPE_NOTRAFFIC
-#define ACE_SERVICETYPE_CONTROLLEDLOAD SERVICETYPE_CONTROLLEDLOAD
-#define ACE_SERVICETYPE_GUARANTEED SERVICETYPE_GUARANTEED
+#if defined (FROM_PROTOCOL_INFO)
+# define ACE_FROM_PROTOCOL_INFO FROM_PROTOCOL_INFO
+#else
+# define ACE_FROM_PROTOCOL_INFO (-1)
+#endif
-#define ACE_JL_SENDER_ONLY JL_SENDER_ONLY
-#define ACE_JL_BOTH JL_BOTH
+#if defined (WSA_FLAG_MULTIPOINT_C_ROOT)
+# define ACE_FLAG_MULTIPOINT_C_ROOT WSA_FLAG_MULTIPOINT_C_ROOT
+#else
+# define ACE_FLAG_MULTIPOINT_C_ROOT 0x02
+#endif
-#define ACE_SIO_GET_QOS SIO_GET_QOS
-#define ACE_SIO_MULTIPOINT_LOOPBACK SIO_MULTIPOINT_LOOPBACK
-#define ACE_SIO_MULTICAST_SCOPE SIO_MULTICAST_SCOPE
-#define ACE_SIO_SET_QOS SIO_SET_QOS
+#if defined (WSA_FLAG_MULTIPOINT_C_LEAF)
+# define ACE_FLAG_MULTIPOINT_C_LEAF WSA_FLAG_MULTIPOINT_C_LEAF
+#else
+# define ACE_FLAG_MULTIPOINT_C_LEAF 0x04
+#endif
+#if defined (WSA_FLAG_MULTIPOINT_D_ROOT)
+# define ACE_FLAG_MULTIPOINT_D_ROOT WSA_FLAG_MULTIPOINT_D_ROOT
#else
-typedef unsigned long ACE_SERVICE_TYPE;
+# define ACE_FLAG_MULTIPOINT_D_ROOT 0x08
+#endif
-#define ACE_OVERLAPPED_SOCKET_FLAG 0
-#define ACE_XP1_QOS_SUPPORTED 0x00002000
-#define ACE_XP1_SUPPORT_MULTIPOINT 0x00000400
+#if defined (WSA_FLAG_MULTIPOINT_D_LEAF)
+# define ACE_FLAG_MULTIPOINT_D_LEAF WSA_FLAG_MULTIPOINT_D_LEAF
+#else
+# define ACE_FLAG_MULTIPOINT_D_LEAF 0x10
+#endif
-#define ACE_BASEERR 10000
-#define ACE_ENOBUFS (ACE_BASEERR+55)
+#if defined (QOS_NOT_SPECIFIED)
+# define ACE_QOS_NOT_SPECIFIED QOS_NOT_SPECIFIED
+#else
+# define ACE_QOS_NOT_SPECIFIED 0xFFFFFFFF
+#endif
-#define ACE_FROM_PROTOCOL_INFO (-1)
+#if defined (SERVICETYPE_NOTRAFFIC)
+# define ACE_SERVICETYPE_NOTRAFFIC SERVICETYPE_NOTRAFFIC
+#else
+# define ACE_SERVICETYPE_NOTRAFFIC 0x00000000 /* No data in this */
+ /* direction. */
+#endif
-#define ACE_FLAG_MULTIPOINT_C_ROOT 0x02
-#define ACE_FLAG_MULTIPOINT_C_LEAF 0x04
-#define ACE_FLAG_MULTIPOINT_D_ROOT 0x08
-#define ACE_FLAG_MULTIPOINT_D_LEAF 0x10
+#if defined (SERVICETYPE_CONTROLLEDLOAD)
+# define ACE_SERVICETYPE_CONTROLLEDLOAD SERVICETYPE_CONTROLLEDLOAD
+#else
+# define ACE_SERVICETYPE_CONTROLLEDLOAD 0x00000001 /* Controlled Load. */
+#endif
-#define ACE_QOS_NOT_SPECIFIED 0xFFFFFFFF
-#define ACE_SERVICETYPE_NOTRAFFIC 0x00000000 /* No data in this */
- /* direction. */
-#define ACE_SERVICETYPE_CONTROLLEDLOAD 0x00000001 /* Controlled Load. */
-#define ACE_SERVICETYPE_GUARANTEED 0x00000003 /* Guaranteed. */
+#if defined (SERVICETYPE_GUARANTEED)
+# define ACE_SERVICETYPE_GUARANTEED SERVICETYPE_GUARANTEED
+#else
+# define ACE_SERVICETYPE_GUARANTEED 0x00000003 /* Guaranteed. */
+#endif
-#define ACE_JL_SENDER_ONLY 0x01
-#define ACE_JL_BOTH 0x04
+#if defined (JL_SENDER_ONLY)
+# define ACE_JL_SENDER_ONLY JL_SENDER_ONLY
+#else
+# define ACE_JL_SENDER_ONLY 0x01
+#endif
-#define ACE_SIO_GET_QOS (0x40000000 | 0x08000000 | 7)
-#define ACE_SIO_MULTIPOINT_LOOPBACK (0x08000000 | 9)
-#define ACE_SIO_MULTICAST_SCOPE (0x08000000 | 10)
-#define ACE_SIO_SET_QOS (0x08000000 | 11)
+#if defined (JL_BOTH)
+# define ACE_JL_BOTH JL_BOTH
+#else
+# define ACE_JL_BOTH 0x04
+#endif
-#endif /* ACE_HAS_WINSOCK2 && ACE_HAS_WINSOCK2 != 0 */
+#if defined (SIO_GET_QOS)
+# define ACE_SIO_GET_QOS SIO_GET_QOS
+#else
+# define ACE_SIO_GET_QOS (0x40000000 | 0x08000000 | 7)
+#endif
+#if defined (SIO_MULTIPOINT_LOOPBACK)
+# define ACE_SIO_MULTIPOINT_LOOPBACK SIO_MULTIPOINT_LOOPBACK
+#else
+# define ACE_SIO_MULTIPOINT_LOOPBACK (0x08000000 | 9)
+#endif
+#if defined (SIO_MULTICAST_SCOPE)
+# define ACE_SIO_MULTICAST_SCOPE SIO_MULTICAST_SCOPE
+#else
+# define ACE_SIO_MULTICAST_SCOPE (0x08000000 | 10)
+#endif
+#if defined (SIO_SET_QOS)
+# define ACE_SIO_SET_QOS SIO_SET_QOS
+#else
+# define ACE_SIO_SET_QOS (0x08000000 | 11)
+#endif
/**
* @class ACE_Flow_Spec