summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorirfan <irfan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1998-09-17 20:22:38 +0000
committerirfan <irfan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1998-09-17 20:22:38 +0000
commit864bdc2174ef996fa55ed5466ee6d7862873feda (patch)
tree874e6c77f07c532cbd4ba6da53db76fc9438ba8a
parentae77e4c4d6c693f9c4fce9811a2b9a241477ea63 (diff)
downloadATCD-864bdc2174ef996fa55ed5466ee6d7862873feda.tar.gz
ChangeLog
-rw-r--r--ace/ACE.cpp82
-rw-r--r--ace/ACE.h12
-rw-r--r--ace/Containers.cpp3
-rw-r--r--ace/Containers.h39
-rw-r--r--ace/Containers_T.h27
-rw-r--r--ace/Containers_T.i23
-rw-r--r--ace/DEV_IO.cpp12
-rw-r--r--ace/DEV_IO.h4
-rw-r--r--ace/DEV_IO.i4
-rw-r--r--ace/FIFO_Send_Msg.cpp2
-rw-r--r--ace/FILE_IO.cpp12
-rw-r--r--ace/FILE_IO.h4
-rw-r--r--ace/FILE_IO.i4
-rw-r--r--ace/LSOCK.cpp4
-rw-r--r--ace/LSOCK_Stream.cpp8
-rw-r--r--ace/LSOCK_Stream.h4
-rw-r--r--ace/OS.h55
-rw-r--r--ace/OS.i145
-rw-r--r--ace/SOCK_Dgram.cpp22
-rw-r--r--ace/SOCK_Dgram.h6
-rw-r--r--ace/SOCK_Dgram_Bcast.cpp8
-rw-r--r--ace/SOCK_Dgram_Bcast.h4
-rw-r--r--ace/SOCK_Dgram_Mcast.h8
-rw-r--r--ace/SOCK_Dgram_Mcast.i46
-rw-r--r--ace/SOCK_IO.cpp53
-rw-r--r--ace/SOCK_IO.h21
-rw-r--r--ace/SOCK_IO.i22
-rw-r--r--ace/SPIPE_Stream.cpp14
-rw-r--r--ace/SPIPE_Stream.h4
-rw-r--r--ace/SPIPE_Stream.i4
-rw-r--r--ace/ace_dll.dsp146
-rw-r--r--ace/config-win32-common.h5
32 files changed, 382 insertions, 425 deletions
diff --git a/ace/ACE.cpp b/ace/ACE.cpp
index 735b00c0b0e..9b7c1426588 100644
--- a/ace/ACE.cpp
+++ b/ace/ACE.cpp
@@ -889,19 +889,19 @@ ACE::send (ACE_HANDLE handle, size_t n, ...)
va_list argp;
size_t total_tuples = n / 2;
- ACE_IO_Vector *iovp;
+ iovec *iovp;
#if defined (ACE_HAS_ALLOCA)
- iovp = (ACE_IO_Vector *) alloca (total_tuples * sizeof (ACE_IO_Vector));
+ iovp = (iovec *) alloca (total_tuples * sizeof (iovec));
#else
- ACE_NEW_RETURN (iovp, ACE_IO_Vector[total_tuples], -1);
+ ACE_NEW_RETURN (iovp, iovec[total_tuples], -1);
#endif /* !defined (ACE_HAS_ALLOCA) */
va_start (argp, n);
for (size_t i = 0; i < total_tuples; i++)
{
- iovp[i].buffer (va_arg (argp, void *));
- iovp[i].length (va_arg (argp, ssize_t));
+ iovp[i].iov_base = va_arg (argp, char *);
+ iovp[i].iov_len = va_arg (argp, ssize_t);
}
ssize_t result = ACE_OS::writev (handle, iovp, total_tuples);
@@ -925,19 +925,19 @@ ACE::recv (ACE_HANDLE handle, size_t n, ...)
va_list argp;
size_t total_tuples = n / 2;
- ACE_IO_Vector *iovp;
+ iovec *iovp;
#if defined (ACE_HAS_ALLOCA)
- iovp = (ACE_IO_Vector *) alloca (total_tuples * sizeof (ACE_IO_Vector));
+ iovp = (iovec *) alloca (total_tuples * sizeof (iovec));
#else
- ACE_NEW_RETURN (iovp, ACE_IO_Vector[total_tuples], -1);
+ ACE_NEW_RETURN (iovp, iovec[total_tuples], -1);
#endif /* !defined (ACE_HAS_ALLOCA) */
va_start (argp, n);
for (size_t i = 0; i < total_tuples; i++)
{
- iovp[i].buffer (va_arg (argp, void *));
- iovp[i].length (va_arg (argp, ssize_t));
+ iovp[i].iov_base = va_arg (argp, char *);
+ iovp[i].iov_len = va_arg (argp, ssize_t);
}
ssize_t result = ACE_OS::readv (handle, iovp, total_tuples);
@@ -1325,7 +1325,7 @@ ACE::sendmsg (ACE_HANDLE handle,
ssize_t
ACE::readv (ACE_HANDLE handle,
- ACE_IO_Vector_Base *iov,
+ iovec *iov,
int iovcnt,
const ACE_Time_Value *timeout)
{
@@ -1354,65 +1354,7 @@ ACE::readv (ACE_HANDLE handle,
ssize_t
ACE::writev (ACE_HANDLE handle,
- const ACE_IO_Vector_Base *iov,
- int iovcnt,
- const ACE_Time_Value *timeout)
-{
- // ACE_TRACE ("ACE::writev");
-#if defined (ACE_HAS_WRITEV_TIMEDWAIT)
- if (timeout == 0)
- return ACE_OS::writev (handle, iov, iovcnt);
- else {
- ACE_Time_Value copy = *timeout;
- copy += ACE_OS::gettimeofday ();
- timespec_t ts = copy;
- return ::writev_timedwait (handle, iov, iovcnt, &ts);
- }
-#else
- int val;
- if (ACE::enter_send_timedwait (handle, timeout, val) == -1)
- return -1;
- else
- {
- ssize_t bytes_written = ACE_OS::writev (handle, iov, iovcnt);
- ACE::leave_send_timedwait (handle, timeout, val);
- return bytes_written;
- }
-#endif /* ACE_HAS_WRITEV_TIMEDWAIT */
-}
-
-ssize_t
-ACE::readv (ACE_HANDLE handle,
- ACE_IO_Vector *iov,
- int iovcnt,
- const ACE_Time_Value *timeout)
-{
- // ACE_TRACE ("ACE::readv");
-#if defined (ACE_HAS_READV_TIMEDWAIT)
- if (timeout == 0)
- return ACE_OS::readv (handle, iov, iovcnt);
- else {
- ACE_Time_Value copy = *timeout;
- copy += ACE_OS::gettimeofday ();
- timespec_t ts = copy;
- return ::readv_timedwait (handle, iov, iovcnt, &ts);
- }
-#else
- int val;
- if (ACE::enter_recv_timedwait (handle, timeout, val) == -1)
- return -1;
- else
- {
- ssize_t bytes_read = ACE_OS::readv (handle, iov, iovcnt);
- ACE::leave_recv_timedwait (handle, timeout, val);
- return bytes_read;
- }
-#endif /* ACE_HAS_READV_TIMEDWAIT */
-}
-
-ssize_t
-ACE::writev (ACE_HANDLE handle,
- const ACE_IO_Vector *iov,
+ const iovec *iov,
int iovcnt,
const ACE_Time_Value *timeout)
{
diff --git a/ace/ACE.h b/ace/ACE.h
index 827cd0684a0..50407c6f89d 100644
--- a/ace/ACE.h
+++ b/ace/ACE.h
@@ -298,11 +298,7 @@ public:
// = Timed Scatter-read and gather-write functions.
static ssize_t writev (ACE_HANDLE handle,
- const ACE_IO_Vector_Base *iov,
- int iovcnt,
- const ACE_Time_Value *timeout);
- static ssize_t writev (ACE_HANDLE handle,
- const ACE_IO_Vector *iov,
+ const iovec *iov,
int iovcnt,
const ACE_Time_Value *timeout);
// Send <iovcnt> <iovec> structs to <handle> (uses the
@@ -313,11 +309,7 @@ public:
// bytes written is returned.
static ssize_t readv (ACE_HANDLE handle,
- ACE_IO_Vector_Base *iov,
- int iovcnt,
- const ACE_Time_Value *timeout);
- static ssize_t readv (ACE_HANDLE handle,
- ACE_IO_Vector *iov,
+ iovec *iov,
int iovcnt,
const ACE_Time_Value *timeout);
// Read <iovcnt> <iovec> structs from <handle> (uses the
diff --git a/ace/Containers.cpp b/ace/Containers.cpp
index 7bbd83dd750..f49ac05627a 100644
--- a/ace/Containers.cpp
+++ b/ace/Containers.cpp
@@ -5,6 +5,9 @@
ACE_RCSID(ace, Containers, "$Id$")
+#if !defined (__ACE_INLINE__)
+#include "ace/Containers.i"
+#endif /* __ACE_INLINE__ */
#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
template class ACE_Double_Linked_List<ACE_DLList_Node>;
diff --git a/ace/Containers.h b/ace/Containers.h
index ebcd904bb43..b42f820a524 100644
--- a/ace/Containers.h
+++ b/ace/Containers.h
@@ -17,6 +17,45 @@
#if !defined (ACE_CONTAINERS_H)
#define ACE_CONTAINERS_H
+#include "ace/OS.h"
+
+template <class T>
+class ACE_Double_Linked_List;
+
+template <class T>
+class ACE_Double_Linked_List_Iterator;
+
+class ACE_Export ACE_DLList_Node
+{
+ // = TITLE
+ // Base implementation of element in a DL list. Needed for
+ // ACE_Double_Linked_List.
+
+ friend class ACE_Double_Linked_List<ACE_DLList_Node>;
+ friend class ACE_Double_Linked_List_Iterator<ACE_DLList_Node>;
+
+public:
+ ACE_DLList_Node (void *&i,
+ ACE_DLList_Node *n = 0,
+ ACE_DLList_Node *p = 0);
+ ~ACE_DLList_Node (void);
+
+ ACE_ALLOC_HOOK_DECLARE;
+ // Declare the dynamic allocation hooks.
+
+ void *item_;
+
+ ACE_DLList_Node *next_;
+ ACE_DLList_Node *prev_;
+
+protected:
+ ACE_DLList_Node (void);
+};
+
+#if defined (__ACE_INLINE__)
+#include "ace/Containers.i"
+#endif /* __ACE_INLINE__ */
+
#include "ace/Containers_T.h"
#endif /* ACE_CONTAINERS_H */
diff --git a/ace/Containers_T.h b/ace/Containers_T.h
index a7ef1a07099..99c9d7035e6 100644
--- a/ace/Containers_T.h
+++ b/ace/Containers_T.h
@@ -681,33 +681,6 @@ protected:
template <class T> class ACE_DLList;
template <class T> class ACE_DLList_Iterator;
-class ACE_DLList_Node
-{
- // = TITLE
- // Base implementation of element in a DL list. Needed for
- // ACE_Double_Linked_List.
-
- friend class ACE_Double_Linked_List<ACE_DLList_Node>;
- friend class ACE_Double_Linked_List_Iterator<ACE_DLList_Node>;
-
-public:
- ACE_DLList_Node (void *&i,
- ACE_DLList_Node *n = 0,
- ACE_DLList_Node *p = 0);
- ~ACE_DLList_Node (void);
-
- ACE_ALLOC_HOOK_DECLARE;
- // Declare the dynamic allocation hooks.
-
- void *item_;
-
- ACE_DLList_Node *next_;
- ACE_DLList_Node *prev_;
-
-protected:
- ACE_DLList_Node (void);
-};
-
typedef ACE_Double_Linked_List<ACE_DLList_Node>
ACE_DLList_Base;
typedef ACE_Double_Linked_List_Iterator<ACE_DLList_Node>
diff --git a/ace/Containers_T.i b/ace/Containers_T.i
index f2ad82e9e3a..2af74d222c8 100644
--- a/ace/Containers_T.i
+++ b/ace/Containers_T.i
@@ -377,29 +377,6 @@ ACE_Array_Iterator<T>::done (void) const
return this->current_ >= array_.size ();
}
-ACE_INLINE
-ACE_DLList_Node::ACE_DLList_Node (void)
- : item_ (0),
- next_ (0),
- prev_ (0)
-{
-}
-
-ACE_INLINE
-ACE_DLList_Node::ACE_DLList_Node (void *&i,
- ACE_DLList_Node *n,
- ACE_DLList_Node *p)
- : item_ (i),
- next_ (n),
- prev_ (p)
-{
-}
-
-ACE_INLINE
-ACE_DLList_Node::~ACE_DLList_Node (void)
-{
-};
-
template <class T> ACE_INLINE void
ACE_DLList<T>::operator= (ACE_DLList<T> &l)
{
diff --git a/ace/DEV_IO.cpp b/ace/DEV_IO.cpp
index 88ca1cd4ba9..de00433333d 100644
--- a/ace/DEV_IO.cpp
+++ b/ace/DEV_IO.cpp
@@ -62,11 +62,11 @@ ACE_DEV_IO::send (size_t n, ...) const
ACE_TRACE ("ACE_DEV_IO::send");
va_list argp;
size_t total_tuples = n / 2;
- ACE_IO_Vector_Base *iovp;
+ iovec *iovp;
#if defined (ACE_HAS_ALLOCA)
- iovp = (ACE_IO_Vector_Base *) alloca (total_tuples * sizeof (ACE_IO_Vector_Base));
+ iovp = (iovec *) alloca (total_tuples * sizeof (iovec));
#else
- ACE_NEW_RETURN (iovp, ACE_IO_Vector[total_tuples], -1);
+ ACE_NEW_RETURN (iovp, iovec[total_tuples], -1);
#endif /* !defined (ACE_HAS_ALLOCA) */
va_start (argp, n);
@@ -97,11 +97,11 @@ ACE_DEV_IO::recv (size_t n, ...) const
ACE_TRACE ("ACE_DEV_IO::recv");
va_list argp;
size_t total_tuples = n / 2;
- ACE_IO_Vector_Base *iovp;
+ iovec *iovp;
#if defined (ACE_HAS_ALLOCA)
- iovp = (ACE_IO_Vector_Base *) alloca (total_tuples * sizeof (iovec));
+ iovp = (iovec *) alloca (total_tuples * sizeof (iovec));
#else
- ACE_NEW_RETURN (iovp, ACE_IO_Vector_Base[total_tuples], -1);
+ ACE_NEW_RETURN (iovp, iovec[total_tuples], -1);
#endif /* !defined (ACE_HAS_ALLOCA) */
va_start (argp, n);
diff --git a/ace/DEV_IO.h b/ace/DEV_IO.h
index 615ec99a27d..f5362f6989e 100644
--- a/ace/DEV_IO.h
+++ b/ace/DEV_IO.h
@@ -67,10 +67,10 @@ public:
// Send <cntl> and <data> via STREAM pipes.
#endif /* ACE_HAS_STREAM_PIPES */
- ssize_t send (const ACE_IO_Vector_Base iov[], size_t n) const;
+ ssize_t send (const iovec iov[], size_t n) const;
// Send iovecs via <::writev>.
- ssize_t recv (ACE_IO_Vector_Base iov[], size_t n) const;
+ ssize_t recv (iovec iov[], size_t n) const;
// Recv iovecs via <::readv>.
ssize_t send (size_t n, ...) const;
diff --git a/ace/DEV_IO.i b/ace/DEV_IO.i
index 5ae978f04eb..90c825ebf50 100644
--- a/ace/DEV_IO.i
+++ b/ace/DEV_IO.i
@@ -38,14 +38,14 @@ ACE_DEV_IO::recv (void *buf, size_t n) const
}
ASYS_INLINE ssize_t
-ACE_DEV_IO::send (const ACE_IO_Vector_Base iov[], size_t n) const
+ACE_DEV_IO::send (const iovec iov[], size_t n) const
{
ACE_TRACE ("ACE_DEV_IO::send");
return ACE_OS::writev (this->get_handle (), iov, n);
}
ASYS_INLINE ssize_t
-ACE_DEV_IO::recv (ACE_IO_Vector_Base iov[], size_t n) const
+ACE_DEV_IO::recv (iovec iov[], size_t n) const
{
ACE_TRACE ("ACE_DEV_IO::recv");
return ACE_OS::readv (this->get_handle (), iov, n);
diff --git a/ace/FIFO_Send_Msg.cpp b/ace/FIFO_Send_Msg.cpp
index 95fc3559334..e88c1243688 100644
--- a/ace/FIFO_Send_Msg.cpp
+++ b/ace/FIFO_Send_Msg.cpp
@@ -31,7 +31,7 @@ ACE_FIFO_Send_Msg::send (const ACE_Str_Buf &send_msg)
(strbuf *) &send_msg,
0);
#else
- ACE_IO_Vector_Base iov[2];
+ iovec iov[2];
iov[0].iov_base = (char *) &send_msg.len;
iov[0].iov_len = sizeof send_msg.len;
diff --git a/ace/FILE_IO.cpp b/ace/FILE_IO.cpp
index 23dca6e4fe5..a13a9f624dd 100644
--- a/ace/FILE_IO.cpp
+++ b/ace/FILE_IO.cpp
@@ -40,11 +40,11 @@ ACE_FILE_IO::send (size_t n, ...) const
ACE_TRACE ("ACE_FILE_IO::send");
va_list argp;
size_t total_tuples = n / 2;
- ACE_IO_Vector_Base *iovp;
+ iovec *iovp;
#if defined (ACE_HAS_ALLOCA)
- iovp = (ACE_IO_Vector_Base *) alloca (total_tuples * sizeof (ACE_IO_Vector_Base));
+ iovp = (iovec *) alloca (total_tuples * sizeof (iovec));
#else
- ACE_NEW_RETURN (iovp, ACE_IO_Vector_Base[total_tuples], -1);
+ ACE_NEW_RETURN (iovp, iovec[total_tuples], -1);
#endif /* !defined (ACE_HAS_ALLOCA) */
va_start (argp, n);
@@ -75,11 +75,11 @@ ACE_FILE_IO::recv (size_t n, ...) const
ACE_TRACE ("ACE_FILE_IO::recv");
va_list argp;
size_t total_tuples = n / 2;
- ACE_IO_Vector_Base *iovp;
+ iovec *iovp;
#if defined (ACE_HAS_ALLOCA)
- iovp = (ACE_IO_Vector_Base *) alloca (total_tuples * sizeof (ACE_IO_Vector_Base));
+ iovp = (iovec *) alloca (total_tuples * sizeof (iovec));
#else
- ACE_NEW_RETURN (iovp, ACE_IO_Vector_Base[total_tuples], -1);
+ ACE_NEW_RETURN (iovp, iovec[total_tuples], -1);
#endif /* !defined (ACE_HAS_ALLOCA) */
va_start (argp, n);
diff --git a/ace/FILE_IO.h b/ace/FILE_IO.h
index 6a089218611..b7ddcbce2c8 100644
--- a/ace/FILE_IO.h
+++ b/ace/FILE_IO.h
@@ -68,10 +68,10 @@ public:
#endif /* ACE_HAS_STREAM_PIPES */
- ssize_t send (const ACE_IO_Vector_Base iov[], size_t n) const;
+ ssize_t send (const iovec iov[], size_t n) const;
// Send iovecs via <::writev>.
- ssize_t recv (ACE_IO_Vector_Base iov[], size_t n) const;
+ ssize_t recv (iovec iov[], size_t n) const;
// Recv iovecs via <::readv>.
ssize_t send (size_t n, ...) const;
diff --git a/ace/FILE_IO.i b/ace/FILE_IO.i
index f09dd143303..36cc4fd01d6 100644
--- a/ace/FILE_IO.i
+++ b/ace/FILE_IO.i
@@ -38,14 +38,14 @@ ACE_FILE_IO::recv (void *buf, size_t n) const
}
ASYS_INLINE ssize_t
-ACE_FILE_IO::send (const ACE_IO_Vector_Base iov[], size_t n) const
+ACE_FILE_IO::send (const iovec iov[], size_t n) const
{
ACE_TRACE ("ACE_FILE_IO::send");
return ACE_OS::writev (this->get_handle (), iov, n);
}
ASYS_INLINE ssize_t
-ACE_FILE_IO::recv (ACE_IO_Vector_Base iov[], size_t n) const
+ACE_FILE_IO::recv (iovec iov[], size_t n) const
{
ACE_TRACE ("ACE_FILE_IO::recv");
return ACE_OS::readv (this->get_handle (), iov, n);
diff --git a/ace/LSOCK.cpp b/ace/LSOCK.cpp
index 221c80e896e..002f36296c5 100644
--- a/ace/LSOCK.cpp
+++ b/ace/LSOCK.cpp
@@ -31,7 +31,7 @@ ACE_LSOCK::send_handle (const ACE_HANDLE handle) const
{
ACE_TRACE ("ACE_LSOCK::send_handle");
unsigned char a[2];
- ACE_IO_Vector_Base iov;
+ iovec iov;
msghdr send_msg;
#if defined (ACE_HAS_4_4BSD_SENDMSG_RECVMSG)
char cmsgbuf[ACE_BSD_CONTROL_MSG_LEN];
@@ -72,7 +72,7 @@ ACE_LSOCK::recv_handle (ACE_HANDLE &handle, char *pbuf, int *len) const
{
ACE_TRACE ("ACE_LSOCK::recv_handle");
unsigned char a[2];
- ACE_IO_Vector_Base iov;
+ iovec iov;
msghdr recv_msg;
#if defined (ACE_HAS_4_4BSD_SENDMSG_RECVMSG)
diff --git a/ace/LSOCK_Stream.cpp b/ace/LSOCK_Stream.cpp
index d3019b04581..b8b2d85cff6 100644
--- a/ace/LSOCK_Stream.cpp
+++ b/ace/LSOCK_Stream.cpp
@@ -60,7 +60,7 @@ ACE_LSOCK_Stream::dump (void) const
// handle.
ssize_t
-ACE_LSOCK_Stream::send_msg (const ACE_IO_Vector_Base iov[],
+ACE_LSOCK_Stream::send_msg (const iovec iov[],
size_t n,
ACE_HANDLE handle)
{
@@ -71,7 +71,7 @@ ACE_LSOCK_Stream::send_msg (const ACE_IO_Vector_Base iov[],
cmsghdr *cmsgptr = (cmsghdr *) cmsgbuf;
#endif /* ACE_HAS_4_4BSD_SENDMSG_RECVMSG */
- send_msg.msg_iov = (ACE_IO_Vector_Base *) iov;
+ send_msg.msg_iov = (iovec *) iov;
send_msg.msg_iovlen = n;
send_msg.msg_name = 0;
send_msg.msg_namelen = 0;
@@ -97,7 +97,7 @@ ACE_LSOCK_Stream::send_msg (const ACE_IO_Vector_Base iov[],
// handle.
ssize_t
-ACE_LSOCK_Stream::recv_msg (ACE_IO_Vector_Base iov[],
+ACE_LSOCK_Stream::recv_msg (iovec iov[],
size_t n,
ACE_HANDLE &handle)
{
@@ -108,7 +108,7 @@ ACE_LSOCK_Stream::recv_msg (ACE_IO_Vector_Base iov[],
cmsghdr *cmsgptr = (cmsghdr *) cmsgbuf;
#endif /* ACE_HAS_4_4BSD_SENDMSG_RECVMSG */
- recv_msg.msg_iov = (ACE_IO_Vector_Base *) iov;
+ recv_msg.msg_iov = (iovec *) iov;
recv_msg.msg_iovlen = n;
recv_msg.msg_name = 0;
recv_msg.msg_namelen = 0;
diff --git a/ace/LSOCK_Stream.h b/ace/LSOCK_Stream.h
index 504ec91569e..c7242098036 100644
--- a/ace/LSOCK_Stream.h
+++ b/ace/LSOCK_Stream.h
@@ -29,12 +29,12 @@ class ACE_Export ACE_LSOCK_Stream : public ACE_SOCK_Stream, public ACE_LSOCK
// Create a Local ACE_SOCK stream.
public:
// = Send/recv methods.
- ssize_t send_msg (const ACE_IO_Vector_Base iov[],
+ ssize_t send_msg (const iovec iov[],
size_t n,
ACE_HANDLE handle);
// Send iovecs via <::writev>.
- ssize_t recv_msg (ACE_IO_Vector_Base iov[],
+ ssize_t recv_msg (iovec iov[],
size_t n,
ACE_HANDLE &handle);
// Send iovecs via <::writev>.
diff --git a/ace/OS.h b/ace/OS.h
index 3d11449bd9b..50c0ff6fed8 100644
--- a/ace/OS.h
+++ b/ace/OS.h
@@ -2916,12 +2916,35 @@ typedef SOCKET ACE_SOCKET;
# define MAXNAMLEN _MAX_FNAME
# define EADDRINUSE WSAEADDRINUSE
+// The ordering of the fields in this struct is important. It has to
+// match those in WSABUF.
struct iovec
{
- char *iov_base; // data to be read/written
size_t iov_len; // byte count to read/write
+ char *iov_base; // data to be read/written
+};
+
+struct msghdr
+{
+ sockaddr * msg_name;
+ // optional address
+
+ int msg_namelen;
+ // size of address
+
+ iovec *msg_iov;
+ /* scatter/gather array */
+
+ int msg_iovlen;
+ // # elements in msg_iov
+
+ caddr_t msg_accrights;
+ // access rights sent/received
+
+ int msg_accrightslen;
};
+
typedef int ACE_idtype_t;
typedef DWORD ACE_id_t;
# define ACE_SELF (-1)
@@ -4246,24 +4269,6 @@ extern "C" {
typedef int (*ACE_COMPARE_FUNC)(const void *, const void *);
}
-# if (defined (ACE_HAS_WINSOCK2) && (ACE_HAS_WINSOCK2 != 0))
-typedef WSABUF ACE_IO_Vector_Base;
-# else
-typedef iovec ACE_IO_Vector_Base;
-# endif /* ACE_HAS_WINSOCK2 */
-
-class ACE_Export ACE_IO_Vector : public ACE_IO_Vector_Base
-{
- // = TITLE
- // This little adapter class makes it easier to use writev() and
- // readv() portably on Win32 and UNIX.
-public:
- ssize_t length (void) const;
- void length (ssize_t new_length);
- void *buffer (void) const;
- void buffer (void *new_buffer);
-};
-
class ACE_Export ACE_OS
{
// = TITLE
@@ -4781,11 +4786,17 @@ public:
size_t nbyte,
off_t offset);
static ssize_t readv (ACE_HANDLE handle,
- ACE_IO_Vector_Base *iov,
+ iovec *iov,
int iovlen);
static ssize_t writev (ACE_HANDLE handle,
- const ACE_IO_Vector_Base *iov,
+ const iovec *iov,
int iovcnt);
+ static ssize_t recvv (ACE_HANDLE handle,
+ iovec *iov,
+ int iovlen);
+ static ssize_t sendv (ACE_HANDLE handle,
+ const iovec *iov,
+ int iovcnt);
// = A set of wrappers for event demultiplexing and IPC.
static int select (int width,
@@ -5561,7 +5572,7 @@ extern "C" ssize_t write_timedwait (ACE_HANDLE handle,
size_t n,
struct timespec *timeout);
extern "C" ssize_t readv_timedwait (ACE_HANDLE handle,
- ACE_IO_Vector_Base *iov,
+ iovec *iov,
int iovcnt,
struct timespec* timeout);
extern "C" ssize_t writev_timedwait (ACE_HANDLE handle,
diff --git a/ace/OS.i b/ace/OS.i
index 0dd5f10eb8f..02f1745ea13 100644
--- a/ace/OS.i
+++ b/ace/OS.i
@@ -107,46 +107,6 @@ typedef const struct timespec * ACE_TIMESPEC_PTR;
# include /**/ <malloc.h>
#endif /* ACE_LACKS_MALLOC_H */
-ACE_INLINE ssize_t
-ACE_IO_Vector::length (void) const
-{
-#if (defined (ACE_HAS_WINSOCK2) && (ACE_HAS_WINSOCK2 != 0))
- return this->len;
-#else
- return this->iov_len;
-#endif /* ACE_HAS_WINSOCK2 */
-}
-
-ACE_INLINE void
-ACE_IO_Vector::length (ssize_t new_length)
-{
-#if (defined (ACE_HAS_WINSOCK2) && (ACE_HAS_WINSOCK2 != 0))
- this->len = new_length;
-#else
- this->iov_len = new_length;
-#endif /* ACE_HAS_WINSOCK2 */
-}
-
-ACE_INLINE void *
-ACE_IO_Vector::buffer (void) const
-{
-#if (defined (ACE_HAS_WINSOCK2) && (ACE_HAS_WINSOCK2 != 0))
- return this->buf;
-#else
- return this->iov_base;
-#endif /* ACE_HAS_WINSOCK2 */
-}
-
-ACE_INLINE void
-ACE_IO_Vector::buffer (void *new_buffer)
-{
-#if (defined (ACE_HAS_WINSOCK2) && (ACE_HAS_WINSOCK2 != 0))
- this->buf = (char *) new_buffer;
-#else
- this->iov_base = ACE_static_cast (char *, new_buffer);
-#endif /* ACE_HAS_WINSOCK2 */
-}
-
// Returns the value of the object as a timeval.
ACE_INLINE
@@ -4692,22 +4652,65 @@ ACE_OS::recvmsg (ACE_HANDLE handle, struct msghdr *msg, int flags)
{
// ACE_TRACE ("ACE_OS::recvmsg");
#if !defined (ACE_LACKS_RECVMSG)
+# if (defined (ACE_HAS_WINSOCK2) && (ACE_HAS_WINSOCK2 != 0))
+ DWORD bytes_received = 0;
+
+ int result = ::WSARecvFrom ((SOCKET) handle,
+ (WSABUF *) msg->msg_iov,
+ msg->msg_iovlen,
+ &bytes_received,
+ (DWORD *) &flags,
+ msg->msg_name,
+ &msg->msg_namelen,
+ 0,
+ 0);
+
+ if (result != 0)
+ {
+ errno = ::GetLastError ();
+ return -1;
+ }
+ else
+ return (ssize_t) bytes_received;
+# else /* ACE_HAS_WINSOCK2 */
ACE_SOCKCALL_RETURN (::recvmsg (handle, msg, flags), int, -1);
+# endif /* ACE_HAS_WINSOCK2 */
#else
ACE_UNUSED_ARG (flags);
ACE_UNUSED_ARG (msg);
ACE_UNUSED_ARG (handle);
ACE_NOTSUP_RETURN (-1);
-#endif /* ACE_HAS_MSG */
+#endif /* ACE_LACKS_RECVMSG */
}
ACE_INLINE int
-ACE_OS::sendmsg (ACE_HANDLE handle, const struct msghdr *msg, int flags)
+ACE_OS::sendmsg (ACE_HANDLE handle,
+ const struct msghdr *msg,
+ int flags)
{
// ACE_TRACE ("ACE_OS::sendmsg");
#if !defined (ACE_LACKS_SENDMSG)
-# if defined (ACE_LACKS_POSIX_PROTOTYPES) || defined (ACE_PSOS)
+# if (defined (ACE_HAS_WINSOCK2) && (ACE_HAS_WINSOCK2 != 0))
+ DWORD bytes_sent = 0;
+ int result = ::WSASendTo ((SOCKET) handle,
+ (WSABUF *) msg->msg_iov,
+ msg->msg_iovlen,
+ &bytes_sent,
+ flags,
+ msg->msg_name,
+ msg->msg_namelen,
+ 0,
+ 0);
+
+ if (result != 0)
+ {
+ errno = ::GetLastError ();
+ return -1;
+ }
+ else
+ return (ssize_t) bytes_sent;
+# elif defined (ACE_LACKS_POSIX_PROTOTYPES) || defined (ACE_PSOS)
ACE_SOCKCALL_RETURN (::sendmsg (handle, (struct msghdr *) msg, flags), int, -1);
# else
ACE_SOCKCALL_RETURN (::sendmsg (handle, (ACE_SENDMSG_TYPE *) msg, flags), int, -1);
@@ -4718,7 +4721,7 @@ ACE_OS::sendmsg (ACE_HANDLE handle, const struct msghdr *msg, int flags)
ACE_UNUSED_ARG (handle);
ACE_NOTSUP_RETURN (-1);
-#endif /* ACE_HAS_MSG */
+#endif /* ACE_LACKS_SENDMSG */
}
ACE_INLINE int
@@ -6306,48 +6309,33 @@ ACE_OS::filesize (ACE_HANDLE handle)
ACE_INLINE ssize_t
ACE_OS::readv (ACE_HANDLE handle,
- ACE_IO_Vector_Base *iov,
+ iovec *iov,
int iovlen)
{
// ACE_TRACE ("ACE_OS::readv");
-# if defined (ACE_PSOS)
- ACE_UNUSED_ARG (handle);
- ACE_UNUSED_ARG (iov);
- ACE_UNUSED_ARG (iovlen);
- ACE_NOTSUP_RETURN (-1);
-# else
ACE_OSCALL_RETURN (::readv (handle, iov, iovlen), ssize_t, -1);
-# endif /* defined (ACE_PSOS) */
}
ACE_INLINE ssize_t
ACE_OS::writev (ACE_HANDLE handle,
- const ACE_IO_Vector_Base *iov,
+ const iovec *iov,
int iovcnt)
{
// ACE_TRACE ("ACE_OS::writev");
-#if defined (ACE_PSOS)
- ACE_UNUSED_ARG (handle);
- ACE_UNUSED_ARG (iov);
- ACE_UNUSED_ARG (iovcnt);
- ACE_NOTSUP_RETURN (-1);
-#else
ACE_OSCALL_RETURN (::writev (handle, (ACE_WRITEV_TYPE *) iov, iovcnt), int, -1);
-#endif /* defined (ACE_PSOS) */
}
-#if (defined (ACE_HAS_WINSOCK2) && (ACE_HAS_WINSOCK2 != 0))
-
ACE_INLINE ssize_t
-ACE_OS::readv (ACE_HANDLE handle,
- ACE_IO_Vector_Base *buffers,
+ACE_OS::recvv (ACE_HANDLE handle,
+ iovec *buffers,
int n)
{
- ssize_t bytes_received = 0;
+#if (defined (ACE_HAS_WINSOCK2) && (ACE_HAS_WINSOCK2 != 0))
+ DWORD bytes_received = 0;
int result = ::WSARecv ((SOCKET) handle,
- buffers,
+ (WSABUF *) buffers,
n,
- (DWORD *) &bytes_received,
+ &bytes_received,
0,
0,
0);
@@ -6357,19 +6345,23 @@ ACE_OS::readv (ACE_HANDLE handle,
return -1;
}
else
- return bytes_received;
+ return (ssize_t) bytes_received;
+#else
+ return ACE_OS::readv (handle, iov, iovcnt);
+#endif /* ACE_HAS_WINSOCK2 */
}
ACE_INLINE ssize_t
-ACE_OS::writev (ACE_HANDLE handle,
- const ACE_IO_Vector_Base *buffers,
- int n)
+ACE_OS::sendv (ACE_HANDLE handle,
+ const iovec *buffers,
+ int n)
{
- ssize_t bytes_sent = 0;
+#if (defined (ACE_HAS_WINSOCK2) && (ACE_HAS_WINSOCK2 != 0))
+ DWORD bytes_sent = 0;
int result = ::WSASend ((SOCKET) handle,
(WSABUF *) buffers,
n,
- (DWORD *) &bytes_sent,
+ &bytes_sent,
0,
0,
0);
@@ -6379,10 +6371,11 @@ ACE_OS::writev (ACE_HANDLE handle,
return -1;
}
else
- return bytes_sent;
-}
-
+ return (ssize_t) bytes_sent;
+#else
+ return ACE_OS::writev (handle, buffers
#endif /* ACE_HAS_WINSOCK2 */
+}
ACE_INLINE int
ACE_OS::poll (struct pollfd *pollfds, u_long len, ACE_Time_Value *timeout)
diff --git a/ace/SOCK_Dgram.cpp b/ace/SOCK_Dgram.cpp
index d0589721476..04634dcca13 100644
--- a/ace/SOCK_Dgram.cpp
+++ b/ace/SOCK_Dgram.cpp
@@ -26,7 +26,7 @@ ACE_SOCK_Dgram::dump (void) const
// returns the number of bytes read.
ssize_t
-ACE_SOCK_Dgram::recv (ACE_IO_Vector_Base *io_vec,
+ACE_SOCK_Dgram::recv (iovec *io_vec,
ACE_Addr &addr,
int flags) const
{
@@ -121,11 +121,11 @@ ACE_SOCK_Dgram::open (const ACE_Addr &local,
}
#if defined (ACE_HAS_MSG)
-// Send an ACE_IO_Vector_Base of size N to ADDR as a datagram (connectionless
+// Send an iovec of size N to ADDR as a datagram (connectionless
// version).
ssize_t
-ACE_SOCK_Dgram::send (const ACE_IO_Vector_Base iov[],
+ACE_SOCK_Dgram::send (const iovec iov[],
size_t n,
const ACE_Addr &addr,
int flags) const
@@ -133,7 +133,7 @@ ACE_SOCK_Dgram::send (const ACE_IO_Vector_Base iov[],
ACE_TRACE ("ACE_SOCK_Dgram::send");
msghdr send_msg;
- send_msg.msg_iov = (ACE_IO_Vector_Base *) iov;
+ send_msg.msg_iov = (iovec *) iov;
send_msg.msg_iovlen = n;
#if defined (ACE_HAS_SOCKADDR_MSG_NAME)
send_msg.msg_name = (struct sockaddr *) addr.get_addr ();
@@ -154,11 +154,11 @@ ACE_SOCK_Dgram::send (const ACE_IO_Vector_Base iov[],
return ACE_OS::sendmsg (this->get_handle (), &send_msg, flags);
}
-// Recv an ACE_IO_Vector_Base of size N to ADDR as a datagram (connectionless
+// Recv an iovec of size N to ADDR as a datagram (connectionless
// version).
ssize_t
-ACE_SOCK_Dgram::recv (ACE_IO_Vector_Base iov[],
+ACE_SOCK_Dgram::recv (iovec iov[],
size_t n,
ACE_Addr &addr,
int flags) const
@@ -166,7 +166,7 @@ ACE_SOCK_Dgram::recv (ACE_IO_Vector_Base iov[],
ACE_TRACE ("ACE_SOCK_Dgram::recv");
msghdr recv_msg;
- recv_msg.msg_iov = (ACE_IO_Vector_Base *) iov;
+ recv_msg.msg_iov = (iovec *) iov;
recv_msg.msg_iovlen = n;
#if defined (ACE_HAS_SOCKADDR_MSG_NAME)
recv_msg.msg_name = (struct sockaddr *) addr.get_addr ();
@@ -191,11 +191,11 @@ ACE_SOCK_Dgram::recv (ACE_IO_Vector_Base iov[],
#else /* ACE_HAS_MSG */
-// Send an ACE_IO_Vector_Base of size N to ADDR as a datagram (connectionless
+// Send an iovec of size N to ADDR as a datagram (connectionless
// version).
ssize_t
-ACE_SOCK_Dgram::send (const ACE_IO_Vector_Base iov[],
+ACE_SOCK_Dgram::send (const iovec iov[],
size_t n,
const ACE_Addr &addr,
int flags) const
@@ -239,11 +239,11 @@ ACE_SOCK_Dgram::send (const ACE_IO_Vector_Base iov[],
return result;
}
-// Recv an ACE_IO_Vector_Base of size N to ADDR as a datagram (connectionless
+// Recv an iovec of size N to ADDR as a datagram (connectionless
// version).
ssize_t
-ACE_SOCK_Dgram::recv (ACE_IO_Vector_Base iov[],
+ACE_SOCK_Dgram::recv (iovec iov[],
size_t n,
ACE_Addr &addr,
int flags) const
diff --git a/ace/SOCK_Dgram.h b/ace/SOCK_Dgram.h
index 8a4d5cbf0fa..4b4313c11bc 100644
--- a/ace/SOCK_Dgram.h
+++ b/ace/SOCK_Dgram.h
@@ -59,7 +59,7 @@ public:
// Receive an <n> byte <buf> from the datagram socket (uses
// recvfrom(3)).
- ssize_t recv (ACE_IO_Vector_Base *io_vec,
+ ssize_t recv (iovec *io_vec,
ACE_Addr &addr,
int flags = 0) const;
// Allows a client to read from a socket without having to provide a
@@ -69,14 +69,14 @@ public:
// deleting the member in the <iov_base> field of <io_vec> using the
// ``delete []'' syntax.
- ssize_t send (const ACE_IO_Vector_Base iov[],
+ ssize_t send (const iovec iov[],
size_t n,
const ACE_Addr &addr,
int flags = 0) const;
// Send an <iovec> of size <n> to the datagram socket (uses
// sendmsg(3)).
- ssize_t recv (ACE_IO_Vector_Base iov[],
+ ssize_t recv (iovec iov[],
size_t n,
ACE_Addr &addr,
int flags = 0) const;
diff --git a/ace/SOCK_Dgram_Bcast.cpp b/ace/SOCK_Dgram_Bcast.cpp
index f5648c9e31c..e3546e301c0 100644
--- a/ace/SOCK_Dgram_Bcast.cpp
+++ b/ace/SOCK_Dgram_Bcast.cpp
@@ -249,7 +249,8 @@ ACE_SOCK_Dgram_Bcast::send (const void *buf,
{
temp->bcast_addr_.set_port_number (port_number);
- ssize_t bytes_sent = ACE_SOCK_Dgram::send (buf, n,
+ ssize_t bytes_sent = ACE_SOCK_Dgram::send (buf,
+ n,
temp->bcast_addr_,
flags);
@@ -292,9 +293,8 @@ ACE_SOCK_Dgram_Bcast::send (const iovec iov[],
return 0;
}
-// Broadcast an ACE_IO_Vector of size N to ADDR as a datagram (note
-// that addr must be preassigned to the broadcast address of the
-// subnet...).
+// Broadcast an iovec of size N to ADDR as a datagram (note that addr
+// must be preassigned to the broadcast address of the subnet...).
ssize_t
ACE_SOCK_Dgram_Bcast::send (const iovec iov[],
diff --git a/ace/SOCK_Dgram_Bcast.h b/ace/SOCK_Dgram_Bcast.h
index f03ea5d822b..64e134b21c9 100644
--- a/ace/SOCK_Dgram_Bcast.h
+++ b/ace/SOCK_Dgram_Bcast.h
@@ -71,7 +71,7 @@ public:
// Broadcast the datagram to every interface. Returns the average
// number of bytes sent.
- ssize_t send (const ACE_IO_Vector_Base iov[],
+ ssize_t send (const iovec iov[],
size_t n,
u_short portnum,
int flags = 0) const;
@@ -85,7 +85,7 @@ public:
// Broadcast an N byte datagram to ADDR (note that addr must be
// preassigned to the broadcast address of the subnet...).
- ssize_t send (const ACE_IO_Vector_Base iov[],
+ ssize_t send (const iovec iov[],
size_t n,
const ACE_Addr &addr,
int flags = 0) const;
diff --git a/ace/SOCK_Dgram_Mcast.h b/ace/SOCK_Dgram_Mcast.h
index c2f132d6eea..9e592cef445 100644
--- a/ace/SOCK_Dgram_Mcast.h
+++ b/ace/SOCK_Dgram_Mcast.h
@@ -82,10 +82,12 @@ public:
// failure.
// = Data transfer routines.
- ssize_t send (const void *buf, size_t n, int flags = 0) const;
+ ssize_t send (const void *buf,
+ size_t n,
+ int flags = 0) const;
// Send <n> bytes in <buf>.
- ssize_t send (const ACE_IO_Vector_Base iov[],
+ ssize_t send (const iovec iov[],
size_t n,
int flags = 0) const;
// Send <n> <iovecs>.
@@ -115,7 +117,7 @@ private:
size_t n,
const ACE_Addr &addr,
int flags = 0) const;
- ssize_t send (const ACE_IO_Vector_Base iov[],
+ ssize_t send (const iovec iov[],
size_t n,
const ACE_Addr &addr,
int flags = 0) const;
diff --git a/ace/SOCK_Dgram_Mcast.i b/ace/SOCK_Dgram_Mcast.i
index ca3eb0cbc4d..b2e5406497b 100644
--- a/ace/SOCK_Dgram_Mcast.i
+++ b/ace/SOCK_Dgram_Mcast.i
@@ -19,18 +19,50 @@ ACE_SOCK_Dgram_Mcast::set_option (int option,
ASYS_INLINE ssize_t
ACE_SOCK_Dgram_Mcast::send (const void *buf,
- size_t n, int flags) const
+ size_t n,
+ int flags) const
{
ACE_TRACE ("ACE_SOCK_Dgram_Mcast::send");
- return this->ACE_SOCK_Dgram::send (buf, n,
- this->mcast_addr_, flags);
+ return this->ACE_SOCK_Dgram::send (buf,
+ n,
+ this->mcast_addr_,
+ flags);
}
ASYS_INLINE ssize_t
-ACE_SOCK_Dgram_Mcast::send (const ACE_IO_Vector_Base iov[],
- size_t n, int flags) const
+ACE_SOCK_Dgram_Mcast::send (const iovec iov[],
+ size_t n,
+ int flags) const
{
ACE_TRACE ("ACE_SOCK_Dgram_Mcast::send");
- return this->ACE_SOCK_Dgram::send (iov, n,
- this->mcast_addr_, flags);
+ return this->ACE_SOCK_Dgram::send (iov,
+ n,
+ this->mcast_addr_,
+ flags);
+}
+
+ASYS_INLINE ssize_t
+ACE_SOCK_Dgram_Mcast::send (const void *buf,
+ size_t n,
+ const ACE_Addr &addr,
+ int flags) const
+{
+ ACE_TRACE ("ACE_SOCK_Dgram_Mcast::send");
+ return this->ACE_SOCK_Dgram::send (buf,
+ n,
+ addr,
+ flags);
+}
+
+ASYS_INLINE ssize_t
+ACE_SOCK_Dgram_Mcast::send (const iovec iov[],
+ size_t n,
+ const ACE_Addr &addr,
+ int flags) const
+{
+ ACE_TRACE ("ACE_SOCK_Dgram_Mcast::send");
+ return this->ACE_SOCK_Dgram::send (iov,
+ n,
+ addr,
+ flags);
}
diff --git a/ace/SOCK_IO.cpp b/ace/SOCK_IO.cpp
index 971ee469676..26e515ad2ce 100644
--- a/ace/SOCK_IO.cpp
+++ b/ace/SOCK_IO.cpp
@@ -24,7 +24,7 @@ ACE_SOCK_IO::dump (void) const
// returns the number of bytes read.
ssize_t
-ACE_SOCK_IO::recv (ACE_IO_Vector_Base *io_vec)
+ACE_SOCK_IO::recv (iovec *io_vec)
{
#if defined (FIONREAD)
u_long inlen;
@@ -41,33 +41,8 @@ ACE_SOCK_IO::recv (ACE_IO_Vector_Base *io_vec)
else
return 0;
#else
- io_vec = io_vec;
- ACE_NOTSUP_RETURN (-1);
-#endif /* FIONREAD */
-}
-
-ssize_t
-ACE_SOCK_IO::recv (ACE_IO_Vector *io_vec)
-{
-#if defined (FIONREAD)
- u_long inlen;
-
- if (ACE_OS::ioctl (this->get_handle (), FIONREAD,
- (u_long *) &inlen) == -1)
- return -1;
- else if (inlen > 0)
- {
- char *buffer = 0;
- ACE_NEW_RETURN (buffer, char[inlen], -1);
- io_vec->buffer (buffer);
- io_vec->length (this->recv (io_vec->buffer (), inlen));
- return io_vec->length ();
- }
- else
- return 0;
-#else
- io_vec = io_vec;
- ACE_NOTSUP_RETURN (-1);
+ ACE_UNUSED_ARG (io_vec);
+ ACE_NOTSUP_RETURN (-1);
#endif /* FIONREAD */
}
@@ -83,19 +58,19 @@ ACE_SOCK_IO::send (size_t n, ...) const
va_list argp;
size_t total_tuples = n / 2;
- ACE_IO_Vector *iovp;
+ iovec *iovp;
#if defined (ACE_HAS_ALLOCA)
- iovp = (ACE_IO_Vector *) alloca (total_tuples * sizeof (ACE_IO_Vector));
+ iovp = (iovec *) alloca (total_tuples * sizeof (iovec));
#else
- ACE_NEW_RETURN (iovp, ACE_IO_Vector[total_tuples], -1);
+ ACE_NEW_RETURN (iovp, iovec[total_tuples], -1);
#endif /* !defined (ACE_HAS_ALLOCA) */
va_start (argp, n);
for (size_t i = 0; i < total_tuples; i++)
{
- iovp[i].buffer (va_arg (argp, void *));
- iovp[i].length (va_arg (argp, ssize_t));
+ iovp[i].iov_base = va_arg (argp, char *);
+ iovp[i].iov_len = va_arg (argp, ssize_t);
}
ssize_t result = ACE_OS::writev (this->get_handle (), iovp, total_tuples);
@@ -107,7 +82,7 @@ ACE_SOCK_IO::send (size_t n, ...) const
}
// This is basically an interface to ACE_OS::readv, that doesn't use
-// the struct ACE_IO_Vector_Base explicitly. The ... can be passed as an arbitrary
+// the struct iovec_Base explicitly. The ... can be passed as an arbitrary
// number of (char *ptr, int len) tuples. However, the count N is the
// *total* number of trailing arguments, *not* a couple of the number
// of tuple pairs!
@@ -119,19 +94,19 @@ ACE_SOCK_IO::recv (size_t n, ...) const
va_list argp;
size_t total_tuples = n / 2;
- ACE_IO_Vector *iovp;
+ iovec *iovp;
#if defined (ACE_HAS_ALLOCA)
- iovp = (ACE_IO_Vector *) alloca (total_tuples * sizeof (ACE_IO_Vector));
+ iovp = (iovec *) alloca (total_tuples * sizeof (iovec));
#else
- ACE_NEW_RETURN (iovp, ACE_IO_Vector[total_tuples], -1);
+ ACE_NEW_RETURN (iovp, iovec[total_tuples], -1);
#endif /* !defined (ACE_HAS_ALLOCA) */
va_start (argp, n);
for (size_t i = 0; i < total_tuples; i++)
{
- iovp[i].buffer (va_arg (argp, void *));
- iovp[i].length (va_arg (argp, ssize_t));
+ iovp[i].iov_base = va_arg (argp, char *);
+ iovp[i].iov_len = va_arg (argp, ssize_t);
}
ssize_t result = ACE_OS::readv (this->get_handle (), iovp, total_tuples);
diff --git a/ace/SOCK_IO.h b/ace/SOCK_IO.h
index 9e1e909dd71..589a39b37f3 100644
--- a/ace/SOCK_IO.h
+++ b/ace/SOCK_IO.h
@@ -55,19 +55,11 @@ public:
// Recv an <n> byte buffer from the connected socket (uses
// <read(2)>).
- ssize_t send (const ACE_IO_Vector_Base iov[],
+ ssize_t send (const iovec iov[],
size_t n) const;
// Send a vector of an <n> byte messages to the connected socket.
- ssize_t send (const ACE_IO_Vector iov[],
- size_t n) const;
- // Send a vector of an <n> byte messages to the connected socket.
-
- ssize_t recv (ACE_IO_Vector_Base iov[],
- size_t n) const;
- // Recv a vector of an <n> byte messages to the connected socket.
-
- ssize_t recv (ACE_IO_Vector iov[],
+ ssize_t recv (iovec iov[],
size_t n) const;
// Recv a vector of an <n> byte messages to the connected socket.
@@ -123,14 +115,7 @@ public:
ACE_OVERLAPPED *overlapped) const;
// Recv <n> bytes via Win32 ReadFile using overlapped I/O.
- ssize_t recv (ACE_IO_Vector_Base *io_vec);
- // Allows a client to read from a socket without having to provide a
- // buffer to read. This method determines how much data is in the
- // socket, allocates a buffer of this size, reads in the data, and
- // returns the number of bytes read. The caller is responsible for
- // deleting the member in the <iov_base> field of <io_vec>.
-
- ssize_t recv (ACE_IO_Vector *io_vec);
+ ssize_t recv (iovec *io_vec);
// Allows a client to read from a socket without having to provide a
// buffer to read. This method determines how much data is in the
// socket, allocates a buffer of this size, reads in the data, and
diff --git a/ace/SOCK_IO.i b/ace/SOCK_IO.i
index c9a9cab5a7b..d6b1f8c77c3 100644
--- a/ace/SOCK_IO.i
+++ b/ace/SOCK_IO.i
@@ -62,33 +62,19 @@ ACE_SOCK_IO::recv (void *buf, size_t n) const
// Send a vector of n byte messages to the connected socket.
ASYS_INLINE ssize_t
-ACE_SOCK_IO::send (const ACE_IO_Vector_Base iov[], size_t n) const
+ACE_SOCK_IO::send (const iovec iov[], size_t n) const
{
ACE_TRACE ("ACE_SOCK_IO::send");
- return ACE_OS::writev (this->get_handle (), iov, n);
-}
-
-ASYS_INLINE ssize_t
-ACE_SOCK_IO::send (const ACE_IO_Vector iov[], size_t n) const
-{
- ACE_TRACE ("ACE_SOCK_IO::send");
- return ACE_OS::writev (this->get_handle (), iov, n);
+ return ACE_OS::sendv (this->get_handle (), iov, n);
}
// Recv an n byte message from the connected socket.
ASYS_INLINE ssize_t
-ACE_SOCK_IO::recv (ACE_IO_Vector_Base iov[], size_t n) const
-{
- ACE_TRACE ("ACE_SOCK_IO::recv");
- return ACE_OS::readv (this->get_handle (), iov, n);
-}
-
-ASYS_INLINE ssize_t
-ACE_SOCK_IO::recv (ACE_IO_Vector iov[], size_t n) const
+ACE_SOCK_IO::recv (iovec iov[], size_t n) const
{
ACE_TRACE ("ACE_SOCK_IO::recv");
- return ACE_OS::readv (this->get_handle (), iov, n);
+ return ACE_OS::recvv (this->get_handle (), iov, n);
}
ASYS_INLINE ssize_t
diff --git a/ace/SPIPE_Stream.cpp b/ace/SPIPE_Stream.cpp
index 1430fa8dfdb..29a5433dd3d 100644
--- a/ace/SPIPE_Stream.cpp
+++ b/ace/SPIPE_Stream.cpp
@@ -36,11 +36,11 @@ ACE_SPIPE_Stream::send (size_t n, ...) const
// ACE_TRACE ("ACE_SPIPE_Stream::send");
va_list argp;
size_t total_tuples = n / 2;
- ACE_IO_Vector_Base *iovp;
+ iovec *iovp;
#if defined (ACE_HAS_ALLOCA)
- iovp = (ACE_IO_Vector_Base *) alloca (total_tuples * sizeof (ACE_IO_Vector_Base));
+ iovp = (iovec *) alloca (total_tuples * sizeof (iovec));
#else
- ACE_NEW_RETURN (iovp, ACE_IO_Vector_Base[total_tuples], -1);
+ ACE_NEW_RETURN (iovp, iovec[total_tuples], -1);
#endif /* !defined (ACE_HAS_ALLOCA) */
va_start (argp, n);
@@ -60,7 +60,7 @@ ACE_SPIPE_Stream::send (size_t n, ...) const
}
// This is basically an interface to ACE_OS::readv, that doesn't use
-// the struct ACE_IO_Vector_Base explicitly. The ... can be passed as an arbitrary
+// the struct iovec explicitly. The ... can be passed as an arbitrary
// number of (char *ptr, int len) tuples. However, the count N is the
// *total* number of trailing arguments, *not* a couple of the number
// of tuple pairs!
@@ -71,11 +71,11 @@ ACE_SPIPE_Stream::recv (size_t n, ...) const
ACE_TRACE ("ACE_SPIPE_Stream::recv");
va_list argp;
size_t total_tuples = n / 2;
- ACE_IO_Vector_Base *iovp;
+ iovec *iovp;
#if defined (ACE_HAS_ALLOCA)
- iovp = (ACE_IO_Vector_Base *) alloca (total_tuples * sizeof (ACE_IO_Vector_Base));
+ iovp = (iovec *) alloca (total_tuples * sizeof (iovec));
#else
- ACE_NEW_RETURN (iovp, ACE_IO_Vector_Base[total_tuples], -1);
+ ACE_NEW_RETURN (iovp, iovec[total_tuples], -1);
#endif /* !defined (ACE_HAS_ALLOCA) */
va_start (argp, n);
diff --git a/ace/SPIPE_Stream.h b/ace/SPIPE_Stream.h
index b1472b3e3a8..60adbc8fede 100644
--- a/ace/SPIPE_Stream.h
+++ b/ace/SPIPE_Stream.h
@@ -78,10 +78,10 @@ public:
int *flags) const;
// Recv bytes via STREAM pipes using "band" mode.
- ssize_t send (const ACE_IO_Vector_Base iov[], size_t n) const;
+ ssize_t send (const iovec iov[], size_t n) const;
// Send iovecs via <::writev>.
- ssize_t recv (ACE_IO_Vector_Base iov[], size_t n) const;
+ ssize_t recv (iovec iov[], size_t n) const;
// Recv iovecs via <::readv>.
ssize_t send (size_t n, ...) const;
diff --git a/ace/SPIPE_Stream.i b/ace/SPIPE_Stream.i
index 6ebd71d6457..d790a2f0c53 100644
--- a/ace/SPIPE_Stream.i
+++ b/ace/SPIPE_Stream.i
@@ -76,14 +76,14 @@ ACE_SPIPE_Stream::recv (ACE_Str_Buf *cntl, ACE_Str_Buf *data, int *band, int *fl
}
ASYS_INLINE ssize_t
-ACE_SPIPE_Stream::send (const ACE_IO_Vector_Base iov[], size_t n) const
+ACE_SPIPE_Stream::send (const iovec iov[], size_t n) const
{
ACE_TRACE ("ACE_SPIPE_Stream::send");
return ACE_OS::writev (this->get_handle (), iov, n);
}
ASYS_INLINE ssize_t
-ACE_SPIPE_Stream::recv (ACE_IO_Vector_Base iov[], size_t n) const
+ACE_SPIPE_Stream::recv (iovec iov[], size_t n) const
{
ACE_TRACE ("ACE_SPIPE_Stream::recv");
return ACE_OS::readv (this->get_handle (), iov, n);
diff --git a/ace/ace_dll.dsp b/ace/ace_dll.dsp
index 2397440cb4f..4da9bff3fe4 100644
--- a/ace/ace_dll.dsp
+++ b/ace/ace_dll.dsp
@@ -1,5 +1,5 @@
# Microsoft Developer Studio Project File - Name="ACE dynamic library" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# Microsoft Developer Studio Generated Build File, Format Version 5.00
# ** DO NOT EDIT **
# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
@@ -14,22 +14,30 @@ CFG=ACE dynamic library - Win32 Alpha Unicode Debug
!MESSAGE You can specify a configuration when running NMAKE
!MESSAGE by defining the macro CFG on the command line. For example:
!MESSAGE
-!MESSAGE NMAKE /f "ace_dll.mak" CFG="ACE dynamic library - Win32 Alpha Unicode Debug"
+!MESSAGE NMAKE /f "ace_dll.mak"\
+ CFG="ACE dynamic library - Win32 Alpha Unicode Debug"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
-!MESSAGE "ACE dynamic library - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "ACE dynamic library - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "ACE dynamic library - Win32 Unicode Debug" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "ACE dynamic library - Win32 Unicode Release" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "ACE dynamic library - Win32 Alpha Debug" (based on "Win32 (ALPHA) Dynamic-Link Library")
-!MESSAGE "ACE dynamic library - Win32 Alpha Release" (based on "Win32 (ALPHA) Dynamic-Link Library")
-!MESSAGE "ACE dynamic library - Win32 Alpha Unicode Debug" (based on "Win32 (ALPHA) Dynamic-Link Library")
-!MESSAGE "ACE dynamic library - Win32 Alpha Unicode Release" (based on "Win32 (ALPHA) Dynamic-Link Library")
+!MESSAGE "ACE dynamic library - Win32 Debug" (based on\
+ "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "ACE dynamic library - Win32 Release" (based on\
+ "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "ACE dynamic library - Win32 Unicode Debug" (based on\
+ "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "ACE dynamic library - Win32 Unicode Release" (based on\
+ "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "ACE dynamic library - Win32 Alpha Debug" (based on\
+ "Win32 (ALPHA) Dynamic-Link Library")
+!MESSAGE "ACE dynamic library - Win32 Alpha Release" (based on\
+ "Win32 (ALPHA) Dynamic-Link Library")
+!MESSAGE "ACE dynamic library - Win32 Alpha Unicode Debug" (based on\
+ "Win32 (ALPHA) Dynamic-Link Library")
+!MESSAGE "ACE dynamic library - Win32 Alpha Unicode Release" (based on\
+ "Win32 (ALPHA) Dynamic-Link Library")
!MESSAGE
# Begin Project
-# PROP AllowPerConfigDependencies 0
# PROP Scc_ProjName ""
# PROP Scc_LocalPath ""
@@ -48,11 +56,11 @@ CFG=ACE dynamic library - Win32 Alpha Unicode Debug
# PROP Target_Dir ""
CPP=cl.exe
# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
-# ADD CPP /nologo /GB /MDd /W3 /Gm /GX /Zi /Od /Gy /I "..\\" /D ACE_HAS_DLL=1 /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /Gy /I "..\\" /D ACE_HAS_DLL=1 /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /FD /c
# SUBTRACT CPP /YX /Yc /Yu
MTL=midl.exe
-# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
-# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o /win32 "NUL"
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o /win32 "NUL"
RSC=rc.exe
# ADD BASE RSC /l 0x407 /d "_DEBUG"
# ADD RSC /l 0x409 /d "_DEBUG"
@@ -79,11 +87,11 @@ LINK32=link.exe
# PROP Target_Dir ""
CPP=cl.exe
# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
-# ADD CPP /nologo /GB /MD /W3 /GX /O2 /Ob2 /I "..\\" /D ACE_HAS_DLL=1 /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O2 /Ob2 /I "..\\" /D ACE_HAS_DLL=1 /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /FD /c
# SUBTRACT CPP /YX
MTL=midl.exe
-# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o /win32 "NUL"
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o /win32 "NUL"
RSC=rc.exe
# ADD BASE RSC /l 0x407 /d "NDEBUG"
# ADD RSC /l 0x409 /d "NDEBUG"
@@ -110,11 +118,11 @@ LINK32=link.exe
# PROP Target_Dir ""
CPP=cl.exe
# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
-# ADD CPP /nologo /GB /MDd /W3 /Gm /GX /Zi /Od /Gy /I "..\\" /D ACE_HAS_DLL=1 /D "_DEBUG" /D "UNICODE" /D "WIN32" /D "_WINDOWS" /FD /c
+# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /Gy /I "..\\" /D ACE_HAS_DLL=1 /D "_DEBUG" /D "UNICODE" /D "WIN32" /D "_WINDOWS" /FD /c
# SUBTRACT CPP /YX
MTL=midl.exe
-# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
-# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o /win32 "NUL"
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o /win32 "NUL"
RSC=rc.exe
# ADD BASE RSC /l 0x407 /d "_DEBUG"
# ADD RSC /l 0x409 /d "_DEBUG"
@@ -141,11 +149,11 @@ LINK32=link.exe
# PROP Target_Dir ""
CPP=cl.exe
# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
-# ADD CPP /nologo /GB /MD /W3 /GX /O2 /Ob2 /I "..\\" /D ACE_HAS_DLL=1 /D "NDEBUG" /D "UNICODE" /D "WIN32" /D "_WINDOWS" /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O2 /Ob2 /I "..\\" /D ACE_HAS_DLL=1 /D "NDEBUG" /D "UNICODE" /D "WIN32" /D "_WINDOWS" /FD /c
# SUBTRACT CPP /YX
MTL=midl.exe
-# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o /win32 "NUL"
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o /win32 "NUL"
RSC=rc.exe
# ADD BASE RSC /l 0x407 /d "NDEBUG"
# ADD RSC /l 0x409 /d "NDEBUG"
@@ -171,13 +179,13 @@ LINK32=link.exe
# PROP Intermediate_Dir "DLL\Debug"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
+MTL=midl.exe
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o /win32 "NUL"
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o /win32 "NUL"
CPP=cl.exe
-# ADD BASE CPP /nologo /Gt0 /W3 /GX /Zi /Od /Gy /I "..\STL" /I "..\\ /D " WIN32" /D "_DEBUG" /D "_WINDOWS" /D ACE_HAS_DLL=1 /YX /FD /MTd /c
-# ADD CPP /nologo /Gt0 /W3 /GX /Zi /Od /Gy /I "..\\ /D " WIN32" /D "_DEBUG" /D "_WINDOWS" /D ACE_HAS_DLL=1 /FD /MDd /c
+# ADD BASE CPP /nologo /Gt0 /W3 /GX /Zi /Od /Gy /I "..\STL" /I "..\\ /D" /D "_DEBUG" /D "_WINDOWS" /D ACE_HAS_DLL=1 /YX /FD /MTd WIN32" /c
+# ADD CPP /nologo /Gt0 /W3 /GX /Zi /Od /Gy /I "..\\ /D" /D "_DEBUG" /D "_WINDOWS" /D ACE_HAS_DLL=1 /FD /MDd WIN32" /c
# SUBTRACT CPP /YX
-MTL=midl.exe
-# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
-# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
RSC=rc.exe
# ADD BASE RSC /l 0x409 /d "_DEBUG"
# ADD RSC /l 0x409 /d "_DEBUG"
@@ -204,13 +212,13 @@ LINK32=link.exe
# PROP Intermediate_Dir "DLL\Release"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
+MTL=midl.exe
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o /win32 "NUL"
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o /win32 "NUL"
CPP=cl.exe
-# ADD BASE CPP /nologo /MT /Gt0 /W3 /GX /O2 /Ob2 /I "..\STL" /I "..\\ /D " WIN32" /D "NDEBUG" /D "_WINDOWS" /D ACE_HAS_DLL=1 /YX /FD /c
-# ADD CPP /nologo /MD /Gt0 /W3 /GX /O2 /Ob2 /I "..\\ /D " WIN32" /D "NDEBUG" /D "_WINDOWS" /D ACE_HAS_DLL=1 /FD /c
+# ADD BASE CPP /nologo /MT /Gt0 /W3 /GX /O2 /Ob2 /I "..\STL" /I "..\\ /D" /D "NDEBUG" /D "_WINDOWS" /D ACE_HAS_DLL=1 /YX /FD WIN32" /c
+# ADD CPP /nologo /MD /Gt0 /W3 /GX /O2 /Ob2 /I "..\\ /D" /D "NDEBUG" /D "_WINDOWS" /D ACE_HAS_DLL=1 /FD WIN32" /c
# SUBTRACT CPP /YX
-MTL=midl.exe
-# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
RSC=rc.exe
# ADD BASE RSC /l 0x409 /d "NDEBUG"
# ADD RSC /l 0x409 /d "NDEBUG"
@@ -237,13 +245,13 @@ LINK32=link.exe
# PROP Intermediate_Dir "DLL\Unicode_Debug"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
+MTL=midl.exe
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o /win32 "NUL"
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o /win32 "NUL"
CPP=cl.exe
-# ADD BASE CPP /nologo /Gt0 /W3 /GX /Zi /Od /Gy /I "..\STL" /I "..\\ /D " WIN32" /D "_DEBUG" /D "_WINDOWS" /D ACE_HAS_DLL=1 /D "UNICODE" /YX /FD /MTd /c
-# ADD CPP /nologo /Gt0 /W3 /GX /Zi /Od /Gy /I "..\\ /D " WIN32" /D "_DEBUG" /D "_WINDOWS" /D ACE_HAS_DLL=1 /D "UNICODE" /FD /MDd /c
+# ADD BASE CPP /nologo /Gt0 /W3 /GX /Zi /Od /Gy /I "..\STL" /I "..\\ /D" /D "_DEBUG" /D "_WINDOWS" /D ACE_HAS_DLL=1 /D "UNICODE" /YX /FD /MTd WIN32" /c
+# ADD CPP /nologo /Gt0 /W3 /GX /Zi /Od /Gy /I "..\\ /D" /D "_DEBUG" /D "_WINDOWS" /D ACE_HAS_DLL=1 /D "UNICODE" /FD /MDd WIN32" /c
# SUBTRACT CPP /YX
-MTL=midl.exe
-# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
-# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
RSC=rc.exe
# ADD BASE RSC /l 0x409 /d "_DEBUG"
# ADD RSC /l 0x409 /d "_DEBUG"
@@ -270,13 +278,13 @@ LINK32=link.exe
# PROP Intermediate_Dir "DLL\Unicode_Release"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
+MTL=midl.exe
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o /win32 "NUL"
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o /win32 "NUL"
CPP=cl.exe
-# ADD BASE CPP /nologo /MT /Gt0 /W3 /GX /O2 /Ob2 /I "..\STL" /I "..\\ /D " WIN32" /D "NDEBUG" /D "_WINDOWS" /D ACE_HAS_DLL=1 /D "UNICODE" /YX /FD /c
-# ADD CPP /nologo /MD /Gt0 /W3 /GX /O2 /Ob2 /I "..\\ /D " WIN32" /D "NDEBUG" /D "_WINDOWS" /D ACE_HAS_DLL=1 /D "UNICODE" /FD /c
+# ADD BASE CPP /nologo /MT /Gt0 /W3 /GX /O2 /Ob2 /I "..\STL" /I "..\\ /D" /D "NDEBUG" /D "_WINDOWS" /D ACE_HAS_DLL=1 /D "UNICODE" /YX /FD WIN32" /c
+# ADD CPP /nologo /MD /Gt0 /W3 /GX /O2 /Ob2 /I "..\\ /D" /D "NDEBUG" /D "_WINDOWS" /D ACE_HAS_DLL=1 /D "UNICODE" /FD WIN32" /c
# SUBTRACT CPP /YX
-MTL=midl.exe
-# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
RSC=rc.exe
# ADD BASE RSC /l 0x409 /d "NDEBUG"
# ADD RSC /l 0x409 /d "NDEBUG"
@@ -1072,6 +1080,52 @@ NODEP_CPP_CONNE=\
# End Source File
# Begin Source File
+SOURCE=.\Containers.cpp
+
+!IF "$(CFG)" == "ACE dynamic library - Win32 Debug"
+
+# PROP BASE Exclude_From_Build 1
+
+!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Release"
+
+# PROP BASE Exclude_From_Build 1
+# PROP Exclude_From_Build 1
+
+!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Debug"
+
+# PROP BASE Exclude_From_Build 1
+# PROP Exclude_From_Build 1
+
+!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Unicode Release"
+
+# PROP BASE Exclude_From_Build 1
+# PROP Exclude_From_Build 1
+
+!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Alpha Debug"
+
+# PROP BASE Exclude_From_Build 1
+# PROP Exclude_From_Build 1
+
+!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Alpha Release"
+
+# PROP BASE Exclude_From_Build 1
+# PROP Exclude_From_Build 1
+
+!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Alpha Unicode Debug"
+
+# PROP BASE Exclude_From_Build 1
+# PROP Exclude_From_Build 1
+
+!ELSEIF "$(CFG)" == "ACE dynamic library - Win32 Alpha Unicode Release"
+
+# PROP BASE Exclude_From_Build 1
+# PROP Exclude_From_Build 1
+
+!ENDIF
+
+# End Source File
+# Begin Source File
+
SOURCE=.\CORBA_Handler.cpp
!IF "$(CFG)" == "ACE dynamic library - Win32 Debug"
@@ -13618,12 +13672,6 @@ SOURCE=.\Auto_Ptr.cpp
# End Source File
# Begin Source File
-SOURCE=.\Containers.cpp
-# PROP BASE Exclude_From_Build 1
-# PROP Exclude_From_Build 1
-# End Source File
-# Begin Source File
-
SOURCE=.\Dump_T.cpp
# PROP BASE Exclude_From_Build 1
# PROP Exclude_From_Build 1
diff --git a/ace/config-win32-common.h b/ace/config-win32-common.h
index 0fb900b3b29..ebf43a8f036 100644
--- a/ace/config-win32-common.h
+++ b/ace/config-win32-common.h
@@ -15,6 +15,8 @@
#define ACE_HAS_WIN32_STRUCTURAL_EXCEPTIONS
#endif /* ! ACE_HAS_WINCE */
+#define ACE_HAS_MSG
+#define ACE_HAS_SOCKADDR_MSG_NAME
#define ACE_LACKS_GETPGID
#define ACE_HAS_THREAD_SAFE_ACCEPT
#define ACE_HAS_EXCEPTIONS
@@ -60,9 +62,6 @@ typedef unsigned __int64 ACE_UINT64;
// Compiler doesn't support static data member templates.
#define ACE_LACKS_STATIC_DATA_MEMBER_TEMPLATES
-#define ACE_LACKS_RECVMSG
-#define ACE_LACKS_SENDMSG
-
// Platform supports POSIX O_NONBLOCK semantics.
//define ACE_HAS_POSIX_NONBLOCK