diff options
Diffstat (limited to 'ace/os_include/sys')
-rw-r--r-- | ace/os_include/sys/os_mman.h | 26 | ||||
-rw-r--r-- | ace/os_include/sys/os_resource.h | 40 | ||||
-rw-r--r-- | ace/os_include/sys/os_select.h | 9 | ||||
-rw-r--r-- | ace/os_include/sys/os_sem.h | 20 | ||||
-rw-r--r-- | ace/os_include/sys/os_socket.h | 50 | ||||
-rw-r--r-- | ace/os_include/sys/os_stat.h | 2 | ||||
-rw-r--r-- | ace/os_include/sys/os_time.h | 12 | ||||
-rw-r--r-- | ace/os_include/sys/os_times.h | 2 | ||||
-rw-r--r-- | ace/os_include/sys/os_types.h | 11 | ||||
-rw-r--r-- | ace/os_include/sys/os_uio.h | 14 | ||||
-rw-r--r-- | ace/os_include/sys/os_wait.h | 54 |
11 files changed, 235 insertions, 5 deletions
diff --git a/ace/os_include/sys/os_mman.h b/ace/os_include/sys/os_mman.h index 7014343bda6..d481cafaad8 100644 --- a/ace/os_include/sys/os_mman.h +++ b/ace/os_include/sys/os_mman.h @@ -76,10 +76,36 @@ PAGE_NOACCESS PAGE_NOCACHE */ #endif /* !ACE_LACKS_SYS_MMAN_H && !ACE_WIN32*/ +# if !defined (ACE_MAP_PRIVATE) +# define ACE_MAP_PRIVATE MAP_PRIVATE +# endif /* ! ACE_MAP_PRIVATE */ + +# if !defined (ACE_MAP_SHARED) +# define ACE_MAP_SHARED MAP_SHARED +# endif /* ! ACE_MAP_SHARED */ + +# if !defined (ACE_MAP_FIXED) +# define ACE_MAP_FIXED MAP_FIXED +# endif /* ! ACE_MAP_FIXED */ + +# if !defined (MAP_FAILED) || defined (ACE_HAS_BROKEN_MAP_FAILED) +# undef MAP_FAILED +# define MAP_FAILED ((void *) -1) +# elif defined (ACE_HAS_LONG_MAP_FAILED) +# undef MAP_FAILED +# define MAP_FAILED ((void *) -1L) +# endif /* !MAP_FAILED || ACE_HAS_BROKEN_MAP_FAILED */ + #if !defined (PROT_RDWR) # define PROT_RDWR (PROT_READ|PROT_WRITE) #endif /* PROT_RDWR */ +# if defined (ACE_WIN32) + // Needed to map calls to NT transparently. +# define MS_ASYNC 0 +# define MS_INVALIDATE 0 +# endif /* ACE_WIN32 */ + # if !defined (MS_SYNC) # define MS_SYNC 0x0 # endif /* !MS_SYNC */ diff --git a/ace/os_include/sys/os_resource.h b/ace/os_include/sys/os_resource.h index 1aa55705ffe..8245d5bf92e 100644 --- a/ace/os_include/sys/os_resource.h +++ b/ace/os_include/sys/os_resource.h @@ -37,6 +37,17 @@ extern "C" { #endif /* __cplusplus */ +// There must be a better way to do this... +#if !defined (RLIMIT_NOFILE) +# if defined (linux) || defined (AIX) || defined (SCO) +# if defined (RLIMIT_OFILE) +# define RLIMIT_NOFILE RLIMIT_OFILE +# else +# define RLIMIT_NOFILE 200 +# endif /* RLIMIT_OFILE */ +# endif /* defined (linux) || defined (AIX) || defined (SCO) */ +#endif /* RLIMIT_NOFILE */ + #if defined (ACE_HAS_BROKEN_SETRLIMIT) typedef struct rlimit ACE_SETRLIMIT_TYPE; #else @@ -52,8 +63,37 @@ extern "C" FILETIME ru_utime; FILETIME ru_stime; }; +#else /* !ACE_WIN32 */ +# if defined (m88k) +# define RUSAGE_SELF 1 +# endif /* m88k */ #endif /* ACE_WIN32 */ +#if defined (ACE_LACKS_RLIMIT_PROTOTYPE) + int getrlimit (int resource, struct rlimit *rlp); + int setrlimit (int resource, const struct rlimit *rlp); +#endif /* ACE_LACKS_RLIMIT_PROTOTYPE */ + +#if defined (ACE_HAS_PRUSAGE_T) + typedef prusage_t ACE_Rusage; +#elif defined (ACE_HAS_GETRUSAGE) + typedef rusage ACE_Rusage; +#else + typedef int ACE_Rusage; +#endif /* ACE_HAS_PRUSAGE_T */ + +#if !defined (ACE_WIN32) +// These prototypes are chronically lacking from many versions of +// UNIX. +# if !defined (ACE_HAS_GETRUSAGE_PROTO) + int getrusage (int who, struct rusage *rusage); +# endif /* ! ACE_HAS_GETRUSAGE_PROTO */ + +# if defined (ACE_LACKS_SYSCALL) + int syscall (int, ACE_HANDLE, struct rusage *); +# endif /* ACE_LACKS_SYSCALL */ +#endif /* !ACE_WIN32 */ + #ifdef __cplusplus } #endif /* __cplusplus */ diff --git a/ace/os_include/sys/os_select.h b/ace/os_include/sys/os_select.h index 21b8d4a4ae5..ae5f371abdf 100644 --- a/ace/os_include/sys/os_select.h +++ b/ace/os_include/sys/os_select.h @@ -44,6 +44,10 @@ extern "C" #if defined (ACE_WIN32) // This will help until we figure out everything: # define NFDBITS 32 /* only used in unused functions... */ +#elif defined (__QNX__) +# if !defined (NFDBITS) +# define NFDBITS (sizeof(fd_mask) * NBBY) /* bits per mask */ +# endif /* ! NFDBITS */ #endif /* ACE_WIN32 */ #if defined (ACE_SELECT_USES_INT) @@ -52,6 +56,11 @@ extern "C" typedef fd_set ACE_FD_SET_TYPE; #endif /* ACE_SELECT_USES_INT */ +#if defined (__rtems__) + int select (int n, fd_set *readfds, fd_set *writefds, + fd_set *exceptfds, const struct timeval *timeout); +#endif /* __rtems__ */ + #ifdef __cplusplus } #endif /* __cplusplus */ diff --git a/ace/os_include/sys/os_sem.h b/ace/os_include/sys/os_sem.h index ef35feb3397..b0f3544dd26 100644 --- a/ace/os_include/sys/os_sem.h +++ b/ace/os_include/sys/os_sem.h @@ -36,6 +36,26 @@ extern "C" { #endif /* __cplusplus */ +# if !defined (GETVAL) +# define GETVAL 0 +# endif /* GETVAL */ + +# if !defined (SETVAL) +# define SETVAL 0 +# endif /* SETVAL */ + +# if !defined (GETALL) +# define GETALL 0 +# endif /* GETALL */ + +# if !defined (SETALL) +# define SETALL 0 +# endif /* SETALL */ + +# if !defined (SEM_UNDO) +# define SEM_UNDO 0 +# endif /* SEM_UNDO */ + #if defined (ACE_LACKS_SEMBUF_T) struct sembuf { diff --git a/ace/os_include/sys/os_socket.h b/ace/os_include/sys/os_socket.h index 5c9ac3796a9..d0b69c0aef2 100644 --- a/ace/os_include/sys/os_socket.h +++ b/ace/os_include/sys/os_socket.h @@ -141,6 +141,14 @@ extern "C" # define ACE_PROTOCOL_FAMILY_INET PF_INET #endif /* ACE_HAS_IPV6 */ +#if defined (ACE_HAS_SOCKLEN_T) +typedef socklen_t ACE_SOCKET_LEN; +#elif defined (ACE_HAS_SIZET_SOCKET_LEN) +typedef size_t ACE_SOCKET_LEN; +#else +typedef int ACE_SOCKET_LEN; +#endif /* ACE_HAS_SIZET_SOCKET_LEN */ + #if defined (ACE_HAS_LKSCTP) extern "C" { @@ -148,6 +156,48 @@ extern "C" } #endif /* ACE_HAS_LKSCTP */ +# if defined (ACE_LACKS_TIMEDWAIT_PROTOTYPES) + + ssize_t recv_timedwait (ACE_HANDLE handle, + char *buf, + int len, + int flags, + struct timespec *timeout); + + ssize_t recvmsg_timedwait (ACE_HANDLE handle, + struct msghdr *msg, + int flags, + struct timespec *timeout); + + ssize_t recvfrom_timedwait (ACE_HANDLE handle, + char *buf, + int len, + int flags, + struct sockaddr *addr, + int *addrlen, + struct timespec *timeout); + + ssize_t send_timedwait (ACE_HANDLE handle, + const char *buf, + int len, + int flags, + struct timespec *timeout); + + ssize_t sendmsg_timedwait (ACE_HANDLE handle, + ACE_SENDMSG_TYPE *msg, + int flags, + struct timespec *timeout); + + ssize_t sendto_timedwait (ACE_HANDLE handle, + const char *buf, + int len, + int flags, + const struct sockaddr *addr, + int addrlen, + struct timespec *timeout); + +# endif /* ACE_LACKS_TIMEDWAIT_PROTOTYPES */ + #ifdef __cplusplus } #endif /* __cplusplus */ diff --git a/ace/os_include/sys/os_stat.h b/ace/os_include/sys/os_stat.h index e43c68ca282..7224eee9160 100644 --- a/ace/os_include/sys/os_stat.h +++ b/ace/os_include/sys/os_stat.h @@ -27,7 +27,7 @@ #include "ace/os_include/sys/os_types.h" #if defined (ACE_WIN32) && !defined (ACE_HAS_WINCE) -# include <direct.h> +# include /**/ <direct.h> #endif /* ACE_WIN32 && !ACE_HAS_WINCE */ // This collides with phile.h on PSOS diff --git a/ace/os_include/sys/os_time.h b/ace/os_include/sys/os_time.h index 297a4ce084f..16336d47034 100644 --- a/ace/os_include/sys/os_time.h +++ b/ace/os_include/sys/os_time.h @@ -37,6 +37,18 @@ extern "C" { #endif /* __cplusplus */ +#if defined (ACE_HAS_SVR4_GETTIMEOFDAY) +# if !defined (m88k) && !defined (SCO) + int gettimeofday (struct timeval *tp, void * = 0); +# else + int gettimeofday (struct timeval *tp); +# endif /* !m88k && !SCO */ +#elif defined (ACE_HAS_OSF1_GETTIMEOFDAY) + int gettimeofday (struct timeval *tp, struct timezone * = 0); +#elif defined (ACE_HAS_SUNOS4_GETTIMEOFDAY) +# define ACE_HAS_SVR4_GETTIMEOFDAY +#endif /* ACE_HAS_SVR4_GETTIMEOFDAY */ + #ifdef __cplusplus } #endif /* __cplusplus */ diff --git a/ace/os_include/sys/os_times.h b/ace/os_include/sys/os_times.h index 13d75f8678f..62e69921e7d 100644 --- a/ace/os_include/sys/os_times.h +++ b/ace/os_include/sys/os_times.h @@ -24,7 +24,7 @@ # pragma once #endif /* ACE_LACKS_PRAGMA_ONCE */ -#include "ace/os_include/sys/types.h" +#include "ace/os_include/sys/os_types.h" #if !defined (ACE_LACKS_SYS_TIMES_H) # include /**/ <sys/times.h> diff --git a/ace/os_include/sys/os_types.h b/ace/os_include/sys/os_types.h index 800d35dbf3f..5ba552dde08 100644 --- a/ace/os_include/sys/os_types.h +++ b/ace/os_include/sys/os_types.h @@ -34,12 +34,23 @@ # include /**/ <types.h> #endif /* ACE_HAS_WINCE */ +# if defined (ACE_USES_STD_NAMESPACE_FOR_STDC_LIB) && \ + (ACE_USES_STD_NAMESPACE_FOR_STDC_LIB != 0) +using std::time_t; +# endif /* ACE_USES_STD_NAMESPACE_FOR_STDC_LIB */ + // Place all additions (especially function declarations) within extern "C" {} #ifdef __cplusplus extern "C" { #endif /* __cplusplus */ +# if defined (ACE_LACKS_FLOATING_POINT) +typedef ACE_UINT32 ACE_timer_t; +# else +typedef double ACE_timer_t; +# endif /* ACE_LACKS_FLOATING_POINT */ + // todo: don't forget to clean this up! ;-) #if !defined (ACE_HAS_CLOCK_GETTIME) && !(defined (_CLOCKID_T_) || defined (_CLOCKID_T)) typedef int clockid_t; diff --git a/ace/os_include/sys/os_uio.h b/ace/os_include/sys/os_uio.h index 1cb7a6d2e71..6c39c1e15b8 100644 --- a/ace/os_include/sys/os_uio.h +++ b/ace/os_include/sys/os_uio.h @@ -75,6 +75,20 @@ extern "C" typedef struct iovec ACE_READV_TYPE; #endif /* ACE_HAS_BROKEN_READV */ +# if defined (ACE_LACKS_TIMEDWAIT_PROTOTYPES) + + ssize_t readv_timedwait (ACE_HANDLE handle, + iovec *iov, + int iovcnt, + struct timespec* timeout); + + ssize_t writev_timedwait (ACE_HANDLE handle, + ACE_WRITEV_TYPE *iov, + int iovcnt, + struct timespec *timeout); + +# endif /* ACE_LACKS_TIMEDWAIT_PROTOTYPES */ + #ifdef __cplusplus } #endif /* __cplusplus */ diff --git a/ace/os_include/sys/os_wait.h b/ace/os_include/sys/os_wait.h index 8b36fedfe1d..8e6ec6e1624 100644 --- a/ace/os_include/sys/os_wait.h +++ b/ace/os_include/sys/os_wait.h @@ -37,9 +37,57 @@ extern "C" { #endif /* __cplusplus */ -#if !defined (WNOHANG) -# define WNOHANG 0100 -#endif /* !WNOHANG */ + // Wrapping around wait status <wstat> macros for platforms that + // lack them. + +# if !defined (WCOREDUMP) +# define WCOREDUMP(stat) 0 +# endif /* WCOREDUMP */ + +# if !defined (WNOHANG) +# define WNOHANG 0100 +# endif /* !WNOHANG */ + + // If the value of WIFEXITED(stat) is non-zero, this macro evaluates + // to the exit code that the child process exit(3C), or the value + // that the child process returned from main. Peaceful exit code is + // 0. +# if !defined (WEXITSTATUS) +# define WEXITSTATUS(stat) stat +# endif /* WEXITSTATUS */ + +# if !defined (WIFCONTINUED) +# define WIFCONTINUED(stat) 0 +# endif /* WIFCONTINUED */ + + // Evaluates to a non-zero value if status was returned for a child + // process that terminated normally. 0 means status wasn't + // returned. +# if !defined (WIFEXITED) +# define WIFEXITED(stat) 1 +# endif /* WIFEXITED */ + + // Evaluates to a non-zero value if status was returned for a child + // process that terminated due to the receipt of a signal. 0 means + // status wasnt returned. +# if !defined (WIFSIGNALED) +# define WIFSIGNALED(stat) 0 +# endif /* WIFSIGNALED */ + +# if !defined (WIFSTOPPED) +# define WIFSTOPPED(stat) 0 +# endif /* WIFSTOPPED */ + +# if !defined (WSTOPSIG) +# define WSTOPSIG(stat) 0 +# endif /* WSTOPSIG */ + + // If the value of WIFSIGNALED(stat) is non-zero, this macro + // evaluates to the number of the signal that caused the + // termination of the child process. +# if !defined (WTERMSIG) +# define WTERMSIG(stat) 0 +# endif /* WTERMSIG */ #ifdef __cplusplus } |