diff options
author | irfan <irfan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1998-09-17 20:22:38 +0000 |
---|---|---|
committer | irfan <irfan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1998-09-17 20:22:38 +0000 |
commit | 62e0b5f756c494fbbd09116ee9ba334979be023e (patch) | |
tree | 874e6c77f07c532cbd4ba6da53db76fc9438ba8a | |
parent | 081fc4e2ffa616e37a5c04a77ca8bd50e4790233 (diff) | |
download | ATCD-62e0b5f756c494fbbd09116ee9ba334979be023e.tar.gz |
ChangeLog
-rw-r--r-- | ace/ACE.cpp | 82 | ||||
-rw-r--r-- | ace/ACE.h | 12 | ||||
-rw-r--r-- | ace/Containers.cpp | 3 | ||||
-rw-r--r-- | ace/Containers.h | 39 | ||||
-rw-r--r-- | ace/Containers_T.h | 27 | ||||
-rw-r--r-- | ace/Containers_T.i | 23 | ||||
-rw-r--r-- | ace/DEV_IO.cpp | 12 | ||||
-rw-r--r-- | ace/DEV_IO.h | 4 | ||||
-rw-r--r-- | ace/DEV_IO.i | 4 | ||||
-rw-r--r-- | ace/FIFO_Send_Msg.cpp | 2 | ||||
-rw-r--r-- | ace/FILE_IO.cpp | 12 | ||||
-rw-r--r-- | ace/FILE_IO.h | 4 | ||||
-rw-r--r-- | ace/FILE_IO.i | 4 | ||||
-rw-r--r-- | ace/LSOCK.cpp | 4 | ||||
-rw-r--r-- | ace/LSOCK_Stream.cpp | 8 | ||||
-rw-r--r-- | ace/LSOCK_Stream.h | 4 | ||||
-rw-r--r-- | ace/OS.h | 55 | ||||
-rw-r--r-- | ace/OS.i | 145 | ||||
-rw-r--r-- | ace/SOCK_Dgram.cpp | 22 | ||||
-rw-r--r-- | ace/SOCK_Dgram.h | 6 | ||||
-rw-r--r-- | ace/SOCK_Dgram_Bcast.cpp | 8 | ||||
-rw-r--r-- | ace/SOCK_Dgram_Bcast.h | 4 | ||||
-rw-r--r-- | ace/SOCK_Dgram_Mcast.h | 8 | ||||
-rw-r--r-- | ace/SOCK_Dgram_Mcast.i | 46 | ||||
-rw-r--r-- | ace/SOCK_IO.cpp | 53 | ||||
-rw-r--r-- | ace/SOCK_IO.h | 21 | ||||
-rw-r--r-- | ace/SOCK_IO.i | 22 | ||||
-rw-r--r-- | ace/SPIPE_Stream.cpp | 14 | ||||
-rw-r--r-- | ace/SPIPE_Stream.h | 4 | ||||
-rw-r--r-- | ace/SPIPE_Stream.i | 4 | ||||
-rw-r--r-- | ace/ace_dll.dsp | 146 | ||||
-rw-r--r-- | ace/config-win32-common.h | 5 |
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>. @@ -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, @@ -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 |