00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 #ifndef ACE_OS_INCLUDE_SYS_OS_UIO_H
00017 #define ACE_OS_INCLUDE_SYS_OS_UIO_H
00018 
00019 #include  "ace/pre.h"
00020 
00021 #include "ace/config-lite.h"
00022 
00023 #if !defined (ACE_LACKS_PRAGMA_ONCE)
00024 # pragma once
00025 #endif 
00026 
00027 #include "ace/os_include/sys/os_types.h"
00028 #include "ace/os_include/os_limits.h"
00029 
00030 #if !defined (ACE_LACKS_SYS_UIO_H)
00031 #  include  <sys/uio.h>
00032 #endif 
00033 
00034 
00035 #ifdef __cplusplus
00036 extern "C"
00037 {
00038 #endif 
00039 
00040 #if defined (ACE_LACKS_IOVEC)
00041 
00042 
00043    struct iovec
00044    {
00045 
00046      u_long iov_len;
00047 
00048      char *iov_base;
00049 
00050      
00051 #  if defined (ACE_HAS_WINSOCK2) && (ACE_HAS_WINSOCK2 != 0)
00052      operator WSABUF &(void) { return *((WSABUF *) this); }
00053 #  endif 
00054    };
00055 #endif 
00056 
00057 
00058 # if defined (ACE_LACKS_TIMEDWAIT_PROTOTYPES)
00059 
00060   ssize_t readv_timedwait (ACE_HANDLE handle,
00061                            const iovec *iov,
00062                            int iovcnt,
00063                            struct timespec* timeout);
00064 
00065   ssize_t writev_timedwait (ACE_HANDLE handle,
00066                             const iovec *iov,
00067                             int iovcnt,
00068                             struct timespec *timeout);
00069 
00070 # endif 
00071 
00072 #ifdef __cplusplus
00073 }
00074 #endif 
00075 
00076 #include  "ace/post.h"
00077 #endif