summaryrefslogtreecommitdiff
path: root/ace/os_include/sys
diff options
context:
space:
mode:
authornobody <nobody@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2002-07-20 14:32:29 +0000
committernobody <nobody@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2002-07-20 14:32:29 +0000
commit313d763c57f0116ae8a4d516a339356e20578e19 (patch)
tree2f3d376496d8634487d22da4494ba47b13cedee8 /ace/os_include/sys
parent5cb0ff6546c403f37cca5ec8228c1c4c6b08b300 (diff)
downloadATCD-OS-h_refactor.tar.gz
This commit was manufactured by cvs2svn to create branchOS-h_refactor
'OS-h_refactor'.
Diffstat (limited to 'ace/os_include/sys')
-rw-r--r--ace/os_include/sys/ioctl.h29
-rw-r--r--ace/os_include/sys/ipc.h53
-rw-r--r--ace/os_include/sys/mman.h90
-rw-r--r--ace/os_include/sys/msg.h51
-rw-r--r--ace/os_include/sys/param.h44
-rw-r--r--ace/os_include/sys/resource.h57
-rw-r--r--ace/os_include/sys/select.h41
-rw-r--r--ace/os_include/sys/sem.h70
-rw-r--r--ace/os_include/sys/shm.h29
-rw-r--r--ace/os_include/sys/socket.h307
-rw-r--r--ace/os_include/sys/stat.h80
-rw-r--r--ace/os_include/sys/times.h28
-rw-r--r--ace/os_include/sys/types.h192
-rw-r--r--ace/os_include/sys/uio.h47
-rw-r--r--ace/os_include/sys/utsname.h49
-rw-r--r--ace/os_include/sys/wait.h121
16 files changed, 1288 insertions, 0 deletions
diff --git a/ace/os_include/sys/ioctl.h b/ace/os_include/sys/ioctl.h
new file mode 100644
index 00000000000..b25aff91f01
--- /dev/null
+++ b/ace/os_include/sys/ioctl.h
@@ -0,0 +1,29 @@
+/* -*- C++ -*- */
+
+//=============================================================================
+/**
+ * @file ioctl.h
+ *
+ * $Id$
+ *
+ * @author Douglas C. Schmidt (schmidt@cs.wustl.edu)
+ * @author etc
+ */
+//=============================================================================
+
+#ifndef ACE_OS_INCLUDE_SYS_IOCTL_H
+# define ACE_OS_INCLUDE_SYS_IOCTL_H
+# include "ace/pre.h"
+
+# include "ace/config-all.h"
+
+# if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+# endif /* ACE_LACKS_PRAGMA_ONCE */
+
+// Only include if platform/compiler provide the header.
+# if !defined (ACE_LACKS_SYS_IOCTL_H)
+# include /**/ <sys/ioctl.h>
+# endif /* !ACE_LACKS_SYS_IOCTL_H */
+
+#endif /* ACE_OS_INCLUDE_SYS_IOCTL_H */
diff --git a/ace/os_include/sys/ipc.h b/ace/os_include/sys/ipc.h
new file mode 100644
index 00000000000..e0e1fd48081
--- /dev/null
+++ b/ace/os_include/sys/ipc.h
@@ -0,0 +1,53 @@
+/* -*- C++ -*- */
+
+//=============================================================================
+/**
+ * @file ipc.h
+ *
+ * $Id$
+ *
+ * @author Douglas C. Schmidt (schmidt@cs.wustl.edu)
+ * @author etc
+ */
+//=============================================================================
+
+#ifndef ACE_OS_INCLUDE_SYS_IPC_H
+# define ACE_OS_INCLUDE_SYS_IPC_H
+# include "ace/pre.h"
+
+# include "ace/config-all.h"
+
+# if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+# endif /* ACE_LACKS_PRAGMA_ONCE */
+
+// Only include if platform/compiler provide the header.
+# if !defined (ACE_LACKS_SYS_IPC_H)
+# include /**/ <sys/ipc.h>
+# endif /* !ACE_LACKS_SYS_IPC_H */
+
+# if !defined (IPC_CREAT)
+# define IPC_CREAT 0
+# endif /* IPC_CREAT */
+
+# if !defined (IPC_NOWAIT)
+# define IPC_NOWAIT 0
+# endif /* IPC_NOWAIT */
+
+# if !defined (IPC_RMID)
+# define IPC_RMID 0
+# endif /* IPC_RMID */
+
+# if !defined (IPC_EXCL)
+# define IPC_EXCL 0
+# endif /* IPC_EXCL */
+
+# if !defined (IPC_PRIVATE)
+# define IPC_PRIVATE ACE_INVALID_SEM_KEY
+# endif /* IPC_PRIVATE */
+
+# if !defined (IPC_STAT)
+# define IPC_STAT 0
+# endif /* IPC_STAT */
+
+#endif /* ACE_OS_INCLUDE_SYS_IPC_H */
diff --git a/ace/os_include/sys/mman.h b/ace/os_include/sys/mman.h
new file mode 100644
index 00000000000..b757649f1b5
--- /dev/null
+++ b/ace/os_include/sys/mman.h
@@ -0,0 +1,90 @@
+/* -*- C++ -*- */
+
+//=============================================================================
+/**
+ * @file mman.h
+ *
+ * $Id$
+ *
+ * @author Douglas C. Schmidt (schmidt@cs.wustl.edu)
+ * @author etc
+ */
+//=============================================================================
+
+#ifndef ACE_OS_INCLUDE_SYS_MMAN_H
+# define ACE_OS_INCLUDE_SYS_MMAN_H
+# include "ace/pre.h"
+
+# include "ace/config-all.h"
+
+# if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+# endif /* ACE_LACKS_PRAGMA_ONCE */
+
+// Fixes a problem with HP/UX.
+# if defined (ACE_HAS_BROKEN_MMAP_H)
+extern "C"
+{
+# include /**/ <sys/mman.h>
+}
+# elif !defined (ACE_LACKS_SYS_MMAN_H)
+# include /**/ <sys/mman.h>
+# endif /* !ACE_HAS_BROKEN_MMAP_H */
+
+
+// These need to be moved at some point, and replaced by ifdef'd defines for each.
+# if defined (ACE_WIN32)
+// MMAP flags
+# define PROT_READ PAGE_READONLY
+# define PROT_WRITE PAGE_READWRITE
+# define PROT_RDWR PAGE_READWRITE
+/* If we can find suitable use for these flags, here they are:
+PAGE_WRITECOPY
+PAGE_EXECUTE
+PAGE_EXECUTE_READ
+PAGE_EXECUTE_READWRITE
+PAGE_EXECUTE_WRITECOPY
+PAGE_GUARD
+PAGE_NOACCESS
+PAGE_NOCACHE */
+# elif defined (ACE_LACKS_SYS_MMAP_H)
+# define PROT_READ 0
+# define PROT_WRITE 0
+# define PROT_EXEC 0
+# define PROT_NONE 0
+# define PROT_RDWR 0
+# define MAP_PRIVATE 0
+# define MAP_SHARED 0
+# define MAP_FIXED 0
+# endif /* ACE_LACKS_SYS_MMAP_H */
+
+# if !defined (PROT_RDWR)
+# define PROT_RDWR (PROT_READ|PROT_WRITE)
+# endif /* PROT_RDWR */
+
+
+# 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 (MS_SYNC)
+# define MS_SYNC 0x0
+# endif /* !MS_SYNC */
+
+# 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 */
+
+#endif /* ACE_OS_INCLUDE_SYS_MMAN_H */
diff --git a/ace/os_include/sys/msg.h b/ace/os_include/sys/msg.h
new file mode 100644
index 00000000000..459f53b6b51
--- /dev/null
+++ b/ace/os_include/sys/msg.h
@@ -0,0 +1,51 @@
+/* -*- C++ -*- */
+
+//=============================================================================
+/**
+ * @file msg.h
+ *
+ * $Id$
+ *
+ * @author Douglas C. Schmidt (schmidt@cs.wustl.edu)
+ * @author etc
+ */
+//=============================================================================
+
+#ifndef ACE_OS_INCLUDE_SYS_MSG_H
+# define ACE_OS_INCLUDE_SYS_MSG_H
+# include "ace/pre.h"
+
+# include "ace/config-all.h"
+
+# if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+# endif /* ACE_LACKS_PRAGMA_ONCE */
+
+# if defined (ACE_HAS_BROKEN_MSG_H)
+# define _KERNEL
+# endif /* ACE_HAS_BROKEN_MSG_H */
+
+# if !defined (ACE_LACKS_SYSV_MSG_H)
+# include /**/ <sys/msg.h>
+# endif /* ACE_LACKS_SYSV_MSG_H */
+
+# if defined (ACE_HAS_BROKEN_MSG_H)
+# undef _KERNEL
+# endif /* ACE_HAS_BROKEN_MSG_H */
+
+
+# if defined (ACE_LACKS_MSGBUF_T)
+struct msgbuf {};
+# endif /* ACE_LACKS_MSGBUF_T */
+
+# if defined (ACE_LACKS_SYSV_MSQ_PROTOS)
+extern "C"
+{
+ int msgget (key_t, int);
+ int msgrcv (int, void *, size_t, long, int);
+ int msgsnd (int, const void *, size_t, int);
+ int msgctl (int, int, struct msqid_ds *);
+}
+# endif /* ACE_LACKS_SYSV_MSQ_PROTOS */
+
+#endif /* ACE_OS_INCLUDE_SYS_MSG_H */
diff --git a/ace/os_include/sys/param.h b/ace/os_include/sys/param.h
new file mode 100644
index 00000000000..6ac0730dd5f
--- /dev/null
+++ b/ace/os_include/sys/param.h
@@ -0,0 +1,44 @@
+/* -*- C++ -*- */
+
+//=============================================================================
+/**
+ * @file param.h
+ *
+ * $Id$
+ *
+ * @author Douglas C. Schmidt (schmidt@cs.wustl.edu)
+ * @author etc
+ */
+//=============================================================================
+
+#ifndef ACE_OS_INCLUDE_SYS_PARAM_H
+# define ACE_OS_INCLUDE_SYS_PARAM_H
+# include "ace/pre.h"
+
+# include "ace/config-all.h"
+
+# if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+# endif /* ACE_LACKS_PRAGMA_ONCE */
+
+# if !defined (ACE_LACKS_SYS_PARAM_H)
+# include /**/ <sys/param.h>
+# endif /* !ACE_LACKS_SYS_PARAM_H */
+
+// Need to note why this is included.
+//# include "ace/os_include/limits.h"
+
+// _MAX_PATH is in stdlib.h on windows...
+# include "ace/os_include/stdlib.h"
+
+# if !defined (MAXPATHLEN)
+# if defined (ACE_WIN32)
+# define MAXPATHLEN _MAX_PATH
+# elif defined (_POSIX_PATH_MAX)
+# define MAXPATHLEN _POSIX_PATH_MAX
+# else
+# define MAXPATHLEN 1024
+# endif /* ACE_WIN32 */
+# endif /* MAXPATHLEN */
+
+#endif /* ACE_OS_INCLUDE_SYS_PARAM_H */
diff --git a/ace/os_include/sys/resource.h b/ace/os_include/sys/resource.h
new file mode 100644
index 00000000000..1e2c78e54b8
--- /dev/null
+++ b/ace/os_include/sys/resource.h
@@ -0,0 +1,57 @@
+/* -*- C++ -*- */
+
+//=============================================================================
+/**
+ * @file resource.h
+ *
+ * $Id$
+ *
+ * @author Douglas C. Schmidt (schmidt@cs.wustl.edu)
+ * @author etc
+ */
+//=============================================================================
+
+#ifndef ACE_OS_INCLUDE_SYS_RESOURCE_H
+# define ACE_OS_INCLUDE_SYS_RESOURCE_H
+# include "ace/pre.h"
+
+# include "ace/config-all.h"
+
+# if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+# endif /* ACE_LACKS_PRAGMA_ONCE */
+
+# if !defined (ACE_LACKS_SYS_RESOURCE_H)
+# include /**/ <sys/resource.h>
+# endif /* !ACE_LACKS_SYS_RESOURCE_H */
+
+# if defined (ACE_HAS_BROKEN_SETRLIMIT)
+typedef struct rlimit ACE_SETRLIMIT_TYPE;
+# else
+typedef const struct rlimit ACE_SETRLIMIT_TYPE;
+# endif /* ACE_HAS_BROKEN_SETRLIMIT */
+
+# 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_HAS_GETRUSAGE_PROTO)
+extern "C" int getrusage (int who, struct rusage *rusage);
+# endif /* ! ACE_HAS_GETRUSAGE_PROTO */
+
+// 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 */
+
+#endif /* ACE_OS_INCLUDE_SYS_RESOURCE_H */
diff --git a/ace/os_include/sys/select.h b/ace/os_include/sys/select.h
new file mode 100644
index 00000000000..4aabe050967
--- /dev/null
+++ b/ace/os_include/sys/select.h
@@ -0,0 +1,41 @@
+/* -*- C++ -*- */
+
+//=============================================================================
+/**
+ * @file selct.h
+ *
+ * $Id$
+ *
+ * @author Douglas C. Schmidt (schmidt@cs.wustl.edu)
+ * @author etc
+ */
+//=============================================================================
+
+#ifndef ACE_OS_INCLUDE_SYS_SELECT_H
+# define ACE_OS_INCLUDE_SYS_SELECT_H
+# include "ace/pre.h"
+
+# include "ace/config-all.h"
+
+# if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+# endif /* ACE_LACKS_PRAGMA_ONCE */
+
+// Only include if platform/compiler provide the header.
+# if !defined (ACE_LACKS_SYS_SELECT_H)
+# include /**/ <sys/select.h>
+# endif /* !ACE_LACKS_SYS_SELECT_H */
+
+# if defined (ACE_NEEDS_SELECT_T) // __rtems__
+extern "C"
+{
+ int select (int n, fd_set *readfds, fd_set *writefds,
+ fd_set *exceptfds, const struct timeval *timeout);
+};
+# endif /* ACE_NEEDS_SELECT_T */
+
+# if !defined (NFDBITS)
+# define NFDBITS (sizeof(fd_mask) * NBBY) /* bits per mask */
+# endif /* ! NFDBITS */
+
+#endif /* ACE_OS_INCLUDE_SYS_SELECT_H */
diff --git a/ace/os_include/sys/sem.h b/ace/os_include/sys/sem.h
new file mode 100644
index 00000000000..b4ac253c72d
--- /dev/null
+++ b/ace/os_include/sys/sem.h
@@ -0,0 +1,70 @@
+/* -*- C++ -*- */
+
+//=============================================================================
+/**
+ * @file sem.h
+ *
+ * $Id$
+ *
+ * @author Douglas C. Schmidt (schmidt@cs.wustl.edu)
+ * @author etc
+ */
+//=============================================================================
+
+#ifndef ACE_OS_INCLUDE_SYS_SEM_H
+# define ACE_OS_INCLUDE_SYS_SEM_H
+# include "ace/pre.h"
+
+# include "ace/config-all.h"
+
+# if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+# endif /* ACE_LACKS_PRAGMA_ONCE */
+
+# if !defined (ACE_LACKS_SYS_SEM_H)
+# include /**/ <sys/sem.h>
+# endif /* !ACE_LACKS_SYS_SEM_H */
+
+# if defined (ACE_LACKS_SEMBUF_T)
+struct sembuf
+{
+ unsigned short sem_num; // semaphore #
+ short sem_op; // semaphore operation
+ short sem_flg; // operation flags
+};
+# endif /* ACE_LACKS_SEMBUF_T */
+
+# if !defined (GETVAL)
+# define GETVAL 0
+# endif /* GETVAL */
+
+# if !defined (F_GETFL)
+# define F_GETFL 0
+# endif /* F_GETFL */
+
+# 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_HAS_SEMUN) || (defined (__GLIBC__) && defined (_SEM_SEMUN_UNDEFINED))
+union semun
+{
+ int val; // value for SETVAL
+ struct semid_ds *buf; // buffer for IPC_STAT & IPC_SET
+ u_short *array; // array for GETALL & SETALL
+};
+# endif /* !ACE_HAS_SEMUN || (defined (__GLIBC__) && defined (_SEM_SEMUN_UNDEFINED)) */
+
+#endif /* ACE_OS_INCLUDE_SYS_SEM_H */
diff --git a/ace/os_include/sys/shm.h b/ace/os_include/sys/shm.h
new file mode 100644
index 00000000000..af7ee716791
--- /dev/null
+++ b/ace/os_include/sys/shm.h
@@ -0,0 +1,29 @@
+/* -*- C++ -*- */
+
+//=============================================================================
+/**
+ * @file shm.h
+ *
+ * $Id$
+ *
+ * @author Douglas C. Schmidt (schmidt@cs.wustl.edu)
+ * @author etc
+ */
+//=============================================================================
+
+#ifndef ACE_OS_INCLUDE_SYS_SHM_H
+# define ACE_OS_INCLUDE_SYS_SHM_H
+# include "ace/pre.h"
+
+# include "ace/config-all.h"
+
+# if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+# endif /* ACE_LACKS_PRAGMA_ONCE */
+
+// Only include if platform/compiler provide the header.
+# if !defined (ACE_LACKS_SYS_SHM_H)
+# include /**/ <sys/shm.h>
+# endif /* !ACE_LACKS_SYS_SHM_H */
+
+#endif /* ACE_OS_INCLUDE_SYS_SHM_H */
diff --git a/ace/os_include/sys/socket.h b/ace/os_include/sys/socket.h
new file mode 100644
index 00000000000..8ef881f7540
--- /dev/null
+++ b/ace/os_include/sys/socket.h
@@ -0,0 +1,307 @@
+/* -*- C++ -*- */
+
+//=============================================================================
+/**
+ * @file socket.h
+ *
+ * $Id$
+ *
+ * @author Douglas C. Schmidt (schmidt@cs.wustl.edu)
+ * @author etc
+ */
+//=============================================================================
+
+#ifndef ACE_OS_INCLUDE_SYS_SOCKET_H
+# define ACE_OS_INCLUDE_SYS_SOCKET_H
+# include "ace/pre.h"
+
+# include "ace/config-all.h"
+
+# if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+# endif /* ACE_LACKS_PRAGMA_ONCE */
+
+# include "ace/os_include/stdio.h"
+# include "ace/os_include/sys/types.h"
+
+# if !defined (ACE_LACKS_SYS_SOCKET_H) && !defined (ACE_LACKS_UNIX_SYS_HEADERS)
+# if defined (ACE_HAS_AIX_BROKEN_SOCKET_HEADER)
+# undef __cplusplus
+# include /**/ <sys/socket.h>
+# define __cplusplus
+# else
+# include /**/ <sys/socket.h>
+# endif /* ACE_HAS_AIX_BROKEN_SOCKET_HEADER */
+# endif /* !ACE_LACKS_SYS_SOCKET_H && !ACE_LACKS_UNIX_SYS_HEADERS */
+
+# if defined (ACE_HAS_SOCKIO_H)
+# include /**/ <sys/sockio.h>
+# endif /* ACE_HAS_SOCKIO_ */
+
+extern "C"
+{
+# if defined (VXWORKS)
+ struct hostent {
+ char *h_name; /* official name of host */
+ char **h_aliases; /* aliases: not used on VxWorks */
+ int h_addrtype; /* host address type */
+ int h_length; /* address length */
+ char **h_addr_list; /* (first, only) address from name server */
+# define h_addr h_addr_list[0] /* the first address */
+ };
+# elif defined (ACE_HAS_CYGWIN32_SOCKET_H)
+# include /**/ <cygwin32/socket.h>
+# elif !defined (ACE_WIN32)
+# if defined (ACE_HAS_STL_QUEUE_CONFLICT)
+# define queue _Queue_
+# endif /* ACE_HAS_STL_QUEUE_CONFLICT */
+# include /**/ <netdb.h>
+# if defined (ACE_HAS_STL_QUEUE_CONFLICT)
+# undef queue
+# endif /* ACE_HAS_STL_QUEUE_CONFLICT */
+# endif /* VXWORKS */
+}
+
+extern "C"
+{
+# if defined (VXWORKS)
+ // Work around a lack of ANSI prototypes for these functions on VxWorks.
+ unsigned long inet_addr (const char *);
+ char *inet_ntoa (const struct in_addr);
+ struct in_addr inet_makeaddr (const int, const int);
+ unsigned long inet_network (const char *);
+# elif !defined (ACE_WIN32)
+# include /**/ <arpa/inet.h>
+# endif /* ! VXWORKS */
+}
+
+// not sure where this should go...
+#if !defined (ACE_WIN32) && !defined (ACE_PSOS)
+// This part if to avoid STL name conflict with the map structure
+// in net/if.h.
+# if defined (ACE_HAS_STL_MAP_CONFLICT)
+# define map _Resource_Allocation_Map_
+# endif /* ACE_HAS_STL_MAP_CONFLICT */
+# include /**/ <net/if.h>
+# if defined (ACE_HAS_STL_MAP_CONFLICT)
+# undef map
+# endif /* ACE_HAS_STL_MAP_CONFLICT */
+
+# if defined (ACE_HAS_STL_QUEUE_CONFLICT)
+# define queue _Queue_
+# endif /* ACE_HAS_STL_QUEUE_CONFLICT */
+//# include /**/ <netinet/in.h>
+# include "ace/os_include/netinet/in.h"
+# if defined (ACE_HAS_STL_QUEUE_CONFLICT)
+# undef queue
+# endif /* ACE_HAS_STL_QUEUE_CONFLICT */
+
+# if !defined (ACE_LACKS_TCP_H)
+# if defined(ACE_HAS_CONFLICTING_XTI_MACROS)
+# if defined(TCP_NODELAY)
+# undef TCP_NODELAY
+# endif
+# if defined(TCP_MAXSEG)
+# undef TCP_MAXSEG
+# endif
+# endif
+# include /**/ <netinet/tcp.h>
+# endif /* ACE_LACKS_TCP_H */
+#endif /* !ACE_WIN32 && !ACE_PSOS */
+
+# if defined (SD_RECEIVE)
+# define ACE_SHUTDOWN_READ SD_RECEIVE
+# elif defined (SHUT_RD)
+# define ACE_SHUTDOWN_READ SHUT_RD
+# else
+# define ACE_SHUTDOWN_READ 0
+# endif /* SD_RECEIVE */
+
+# if defined (SD_SEND)
+# define ACE_SHUTDOWN_WRITE SD_SEND
+# elif defined (SHUT_WR)
+# define ACE_SHUTDOWN_WRITE SHUT_WR
+# else
+# define ACE_SHUTDOWN_WRITE 1
+# endif /* SD_RECEIVE */
+
+# if defined (SD_BOTH)
+# define ACE_SHUTDOWN_BOTH SD_BOTH
+# elif defined (SHUT_RDWR)
+# define ACE_SHUTDOWN_BOTH SHUT_RDWR
+# else
+# define ACE_SHUTDOWN_BOTH 2
+# endif /* SD_RECEIVE */
+
+# if defined (ACE_HAS_PHARLAP_RT)
+# define ACE_IPPROTO_TCP SOL_SOCKET
+# else
+# define ACE_IPPROTO_TCP IPPROTO_TCP
+# endif /* ACE_HAS_PHARLAP_RT */
+
+# if defined (ACE_HAS_WINSOCK2) && (ACE_HAS_WINSOCK2 != 0)
+typedef WSAPROTOCOL_INFO ACE_Protocol_Info;
+
+// Callback function that's used by the QoS-enabled <ACE_OS::ioctl>
+// method.
+typedef LPWSAOVERLAPPED_COMPLETION_ROUTINE ACE_OVERLAPPED_COMPLETION_FUNC;
+typedef GROUP ACE_SOCK_GROUP;
+# else /* (ACE_HAS_WINSOCK2) && (ACE_HAS_WINSOCK2 != 0) */
+
+struct ACE_OVERLAPPED
+{
+ u_long Internal;
+ u_long InternalHigh;
+ u_long Offset;
+ u_long OffsetHigh;
+ ACE_HANDLE hEvent;
+};
+
+struct ACE_Protocol_Info
+{
+ u_long dwServiceFlags1;
+ int iAddressFamily;
+ int iProtocol;
+ char szProtocol[255+1];
+};
+
+// Callback function that's used by the QoS-enabled <ACE_OS::ioctl>
+// method.
+typedef void (*ACE_OVERLAPPED_COMPLETION_FUNC) (u_long error,
+ u_long bytes_transferred,
+ ACE_OVERLAPPED *overlapped,
+ u_long flags);
+typedef u_long ACE_SOCK_GROUP;
+
+# endif /* (ACE_HAS_WINSOCK2) && (ACE_HAS_WINSOCK2 != 0) */
+
+
+// For Win32 compatibility...
+# if !defined (ACE_WSOCK_VERSION)
+# define ACE_WSOCK_VERSION 0, 0
+# endif /* ACE_WSOCK_VERSION */
+
+
+// Increase the range of "address families". Please note that this
+// must appear _after_ the include of sys/socket.h, for the AF_FILE
+// definition on Linux/glibc2.
+# if !defined (AF_ANY)
+# define AF_ANY (-1)
+# endif /* AF_ANY */
+
+# define AF_SPIPE (AF_MAX + 1)
+# if !defined (AF_FILE)
+# define AF_FILE (AF_MAX + 2)
+# endif /* ! AF_FILE */
+# define AF_DEV (AF_MAX + 3)
+# define AF_UPIPE (AF_SPIPE)
+
+# if !defined(MAXHOSTNAMELEN)
+# define MAXHOSTNAMELEN 256
+# endif /* MAXHOSTNAMELEN */
+
+// Define INET loopback address constant if it hasn't been defined
+// Dotted Decimal 127.0.0.1 == Hexidecimal 0x7f000001
+# if !defined (INADDR_LOOPBACK)
+# define INADDR_LOOPBACK ((ACE_UINT32) 0x7f000001)
+# endif /* INADDR_LOOPBACK */
+
+// The INADDR_NONE address is generally 255.255.255.255.
+# if !defined (INADDR_NONE)
+# define INADDR_NONE ((ACE_UINT32) 0xffffffff)
+# endif /* INADDR_NONE */
+
+// Define INET string length constants if they haven't been defined
+//
+// for IPv4 dotted-decimal
+# if !defined (INET_ADDRSTRLEN)
+# define INET_ADDRSTRLEN 16
+# endif /* INET_ADDRSTRLEN */
+//
+// for IPv6 hex string
+# if !defined (INET6_ADDRSTRLEN)
+# define INET6_ADDRSTRLEN 46
+# endif /* INET6_ADDRSTRLEN */
+
+# if defined (ACE_HAS_IPV6)
+
+# if defined (ACE_USES_IPV4_IPV6_MIGRATION)
+# define ACE_ADDRESS_FAMILY_INET AF_UNSPEC
+# define ACE_PROTOCOL_FAMILY_INET PF_UNSPEC
+# else
+# define ACE_ADDRESS_FAMILY_INET AF_INET6
+# define ACE_PROTOCOL_FAMILY_INET PF_INET6
+# endif /* ACE_USES_IPV4_IPV6_MIGRATION */
+
+# else
+# define ACE_ADDRESS_FAMILY_INET AF_INET
+# define ACE_PROTOCOL_FAMILY_INET PF_INET
+# endif
+
+
+# if defined (ACE_HAS_BROKEN_SENDMSG)
+typedef struct msghdr ACE_SENDMSG_TYPE;
+# else
+typedef const struct msghdr ACE_SENDMSG_TYPE;
+# endif /* ACE_HAS_BROKEN_SENDMSG */
+
+# if !defined (ACE_HAS_MSG) && !defined (SCO)
+struct msghdr {};
+# endif /* ACE_HAS_MSG */
+
+# if defined (ACE_HAS_MSG) && defined (ACE_LACKS_MSG_ACCRIGHTS)
+# if !defined (msg_accrights)
+# undef msg_control
+# define msg_accrights msg_control
+# endif /* ! msg_accrights */
+
+# if !defined (msg_accrightslen)
+# undef msg_controllen
+# define msg_accrightslen msg_controllen
+# endif /* ! msg_accrightslen */
+# endif /* ACE_HAS_MSG && ACE_LACKS_MSG_ACCRIGHTS */
+
+# if defined (ACE_WIN32)
+# include "ace/os_include/sys/uio.h" // needed for iovec
+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;
+};
+# endif /* ACE_WIN32 */
+
+// this stuff is normally in <netdb.h>
+# if defined (ACE_HAS_STRUCT_NETDB_DATA)
+typedef char ACE_HOSTENT_DATA[sizeof(struct hostent_data)];
+typedef char ACE_SERVENT_DATA[sizeof(struct servent_data)];
+typedef char ACE_PROTOENT_DATA[sizeof(struct protoent_data)];
+# else
+# if !defined ACE_HOSTENT_DATA_SIZE
+# define ACE_HOSTENT_DATA_SIZE (4*1024)
+# endif /*ACE_HOSTENT_DATA_SIZE */
+# if !defined ACE_SERVENT_DATA_SIZE
+# define ACE_SERVENT_DATA_SIZE (4*1024)
+# endif /*ACE_SERVENT_DATA_SIZE */
+# if !defined ACE_PROTOENT_DATA_SIZE
+# define ACE_PROTOENT_DATA_SIZE (2*1024)
+# endif /*ACE_PROTOENT_DATA_SIZE */
+typedef char ACE_HOSTENT_DATA[ACE_HOSTENT_DATA_SIZE];
+typedef char ACE_SERVENT_DATA[ACE_SERVENT_DATA_SIZE];
+typedef char ACE_PROTOENT_DATA[ACE_PROTOENT_DATA_SIZE];
+# endif /* ACE_HAS_STRUCT_NETDB_DATA */
+
+#endif /* ACE_OS_INCLUDE_SYS_SOCKET_H */
diff --git a/ace/os_include/sys/stat.h b/ace/os_include/sys/stat.h
new file mode 100644
index 00000000000..e97275dc2e5
--- /dev/null
+++ b/ace/os_include/sys/stat.h
@@ -0,0 +1,80 @@
+/* -*- C++ -*- */
+
+//=============================================================================
+/**
+ * @file stat.h
+ *
+ * $Id$
+ *
+ * @author Douglas C. Schmidt (schmidt@cs.wustl.edu)
+ * @author etc
+ */
+//=============================================================================
+
+#ifndef ACE_OS_INCLUDE_SYS_STAT_H
+# define ACE_OS_INCLUDE_SYS_STAT_H
+# include "ace/pre.h"
+
+# include "ace/config-all.h"
+
+# if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+# endif /* ACE_LACKS_PRAGMA_ONCE */
+
+# if !defined (ACE_LACKS_SYS_STAT_H) && !defined (ACE_LACKS_UNIX_SYS_HEADERS)
+# include /**/ <sys/stat.h>
+# endif /* !ACE_LACKS_SYS_STAT_H && !ACE_LACKS_UNIX_SYS_HEADERS */
+
+# if defined (ACE_LACKS_MODE_MASKS)
+// MODE MASKS
+
+// the following macros are for POSIX conformance.
+
+# if !defined (ACE_HAS_USER_MODE_MASKS)
+# define S_IRWXU 00700 /* read, write, execute: owner. */
+# define S_IRUSR 00400 /* read permission: owner. */
+# define S_IWUSR 00200 /* write permission: owner. */
+# define S_IXUSR 00100 /* execute permission: owner. */
+# endif /* ACE_HAS_USER_MODE_MASKS */
+# define S_IRWXG 00070 /* read, write, execute: group. */
+# define S_IRGRP 00040 /* read permission: group. */
+# define S_IWGRP 00020 /* write permission: group. */
+# define S_IXGRP 00010 /* execute permission: group. */
+# define S_IRWXO 00007 /* read, write, execute: other. */
+# define S_IROTH 00004 /* read permission: other. */
+# define S_IWOTH 00002 /* write permission: other. */
+# define S_IXOTH 00001 /* execute permission: other. */
+
+# endif /* ACE_LACKS_MODE_MASKS */
+
+# if defined (ACE_WINCE)
+// ACE_WINCE thing...
+// CE's add-on for c-style fstat/stat functionalities. This struct is
+// by no mean complete compared to what you usually find in UNIX
+// platforms. Only members that have direct conversion using Win32's
+// BY_HANDLE_FILE_INFORMATION are defined so that users can discover
+// non-supported members at compile time. Time values are of type
+// ACE_Time_Value for easy comparison.
+
+// Since CE does not have _stat by default as NT/2000 does, the 'stat'
+// struct defined here will be used. Also note that CE file system
+// struct is only for the CE 3.0 or later.
+// Refer to the WCHAR.H from Visual C++ and WIBASE.H from eVC 3.0.
+struct stat
+{
+ dev_t st_dev; // always 0 on Windows platforms
+ dev_t st_rdev; // always 0 on Windows platforms
+ unsigned short st_mode; // file attribute
+ short st_nlink; // number of hard links
+ ACE_Time_Value st_atime; // time of last access
+ ACE_Time_Value st_mtime; // time of last data modification
+ ACE_Time_Value st_ctime; // time of creation
+ off_t st_size; // file size, in bytes
+
+ // Following members do not have direct conversion in Window platforms.
+// u_long st_blksize; // optimal blocksize for I/O
+// u_long st_flags; // user defined flags for file
+};
+# endif /* ACE_WINCE */
+
+#endif /* ACE_OS_INCLUDE_SYS_STAT_H */
diff --git a/ace/os_include/sys/times.h b/ace/os_include/sys/times.h
new file mode 100644
index 00000000000..2a21b3a2974
--- /dev/null
+++ b/ace/os_include/sys/times.h
@@ -0,0 +1,28 @@
+/* -*- C++ -*- */
+
+//=============================================================================
+/**
+ * @file times.h
+ *
+ * $Id$
+ *
+ * @author Douglas C. Schmidt (schmidt@cs.wustl.edu)
+ * @author etc
+ */
+//=============================================================================
+
+#ifndef ACE_OS_INCLUDE_SYS_TIMES_H
+# define ACE_OS_INCLUDE_SYS_TIMES_H
+# include "ace/pre.h"
+
+# include "ace/config-all.h"
+
+# if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+# endif /* ACE_LACKS_PRAGMA_ONCE */
+
+# if !defined (ACE_LACKS_SYS_TIMES_H)
+# include /**/ <sys/times.h>
+# endif /* ACE_LACKS_SYS_TIMES_H */
+
+#endif /* ACE_OS_INCLUDE_SYS_TIMES_H */
diff --git a/ace/os_include/sys/types.h b/ace/os_include/sys/types.h
new file mode 100644
index 00000000000..a7927bdf260
--- /dev/null
+++ b/ace/os_include/sys/types.h
@@ -0,0 +1,192 @@
+/* -*- C++ -*- */
+
+//=============================================================================
+/**
+ * @file types.h
+ *
+ * $Id$
+ *
+ * @author Douglas C. Schmidt (schmidt@cs.wustl.edu)
+ * @author etc
+ */
+//=============================================================================
+
+#ifndef ACE_OS_INCLUDE_SYS_TYPES_H
+# define ACE_OS_INCLUDE_SYS_TYPES_H
+# include "ace/pre.h"
+
+# include "ace/config-all.h"
+
+# if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+# endif /* ACE_LACKS_PRAGMA_ONCE */
+
+# if !defined (ACE_LACKS_SYS_TYPES_H)
+# include /**/ <sys/types.h>
+# else /* !ACE_LACKS_SYS_TYPES_H */
+// For right now, assume that if you don't have sys/types, you
+// don't have these either.
+// Might need to add 1 0 to these if we have problems.
+# define ACE_LACKS_U_CHAR
+# define ACE_LACKS_UCHAR_T
+# define ACE_LACKS_U_SHORT
+# define ACE_LACKS_USHORT_T
+# define ACE_LACKS_U_INT
+# define ACE_LACKS_UINT_T
+# define ACE_LACKS_U_LONG
+# define ACE_LACKS_ULONG_T
+# endif /* !ACE_LACKS_SYS_TYPES_H && !ACE_LACKS_UNIX_SYS_HEADERS */
+
+# if defined (ACE_HAS_TYPES_H)
+# include /**/ <types.h>
+# endif /* ACE_HAS_TYPES_H */
+
+# if defined (ACE_LACKS_U_CHAR)
+ typedef unsigned char u_char;
+# endif /* ACE_LACKS_U_CHAR */
+
+# if defined (ACE_LACKS_UCHAR_T)
+ typedef u_char uchar_t;
+# endif /* ACE_LACKS_UCHAR_T */
+
+# if defined (ACE_LACKS_U_SHORT)
+ typedef unsigned short u_short;
+# endif /* ACE_LACKS_U_CHAR */
+
+# if defined (ACE_LACKS_USHORT_T)
+ typedef u_short ushort_t;
+# endif /* ACE_LACKS_UCHAR_T */
+
+# if defined (ACE_LACKS_U_INT)
+ typedef unsigned int u_int;
+# endif /* ACE_LACKS_U_INT */
+
+# if defined (ACE_LACKS_UINT_T)
+ typedef u_int uint_t;
+# endif /* ACE_LACKS_UINT_T */
+
+# if defined (ACE_LACKS_U_LONG)
+ typedef unsigned long u_long;
+# endif /* ACE_LACKS_U_LONG */
+
+# if defined (ACE_LACKS_ULONG_T)
+ typedef u_long ulong_t;
+# endif /* ACE_LACKS_ULONG_T */
+
+# if defined (ACE_LACKS_CADDR_T)
+typedef char* caddr_t;
+# endif /* ACE_LACKS_CDDR_T */
+
+# if defined (ACE_LACKS_CLOCK_T)
+typedef long int clock_t;
+# endif /* ACE_LACKS_CLOCK_T */
+
+# if defined (ACE_LACKS_COMP_T)
+typedef u_short comp_t;
+# endif /* ACE_LACKS_COMP_T */
+
+# if defined (ACE_LACKS_DEV_T)
+typedef u_int dev_t;
+# endif /* ACE_LACKS_DEV_T */
+
+# if defined (ACE_LACKS_FD_SET_T) || defined (ACE_FD_SET_TYPE)
+# if !defined (ACE_FD_SET_TYPE)
+# define ACE_FD_SET_TYPE fd_set
+# endif /* ACE_FD_SET_TYPE */
+typedef ACE_FD_SET_TYPE fd_set;
+# endif /* ACE_LACKS_FD_SET_T */
+
+// This is for select calls, set to int in your config-*.h file if
+// your os doesn't use fd_set in select calls.
+# if !defined (ACE_SELECT_FD_SET_TYPE)
+# define ACE_SELECT_FD_SET_TYPE fd_set
+# endif /* ACE_FD_SET_TYPE */
+
+# if defined (ACE_LACKS_FPOS_T)
+// another struct
+//typedef int fpos_t;
+# endif /* ACE_LACKS_FPOS_T */
+
+# if defined (ACE_LACKS_GID_T) || defined (ACE_GUID_T_TYPE)
+# if !defined (ACE_GID_T_TYPE)
+# define ACE_GID_T_TYPE u_int
+# endif /* !ACE_GID_T_TYPE */
+typedef ACE_GID_T_TYPE gid_t;
+# endif /* ACE_LACKS_GID_T */
+
+# if defined (ACE_LACKS_INO_T)
+typedef u_long ino_t;
+# endif /* ACE_LACKS_INO_T */
+
+# if defined (ACE_LACKS_KEY_T) || defined (ACE_KEY_T_TYPE)
+# if !defined (ACE_KEY_T_TYPE)
+# define ACE_KEY_T_TYPE long int
+# endif /* ACE_KEY_T_TYPE */
+typedef ACE_KEY_T_TYPE key_t;
+# endif /* ACE_LACKS_KEY_T */
+
+# if defined (ACE_LACKS_MODE_T) || defined (ACE_MODE_T_TYPE)
+# if !defined (ACE_MODE_T_TYPE)
+# define ACE_MODE_T_TYPE u_int
+# endif /* !ACE_MODE_T_TYPE */
+typedef ACE_MODE_T_TYPE mode_t;
+# endif /* ACE_LACKS_MODE_T */
+
+# if defined (ACE_LACKS_NLINK_T) || defined (ACE_NLINK_T_TYPE)
+# if !defined (ACE_NLINK_T_TYPE)
+# define ACE_NLINK_T_TYPE u_int
+# endif /* !ACE_NLINK_T_TYPE */
+typedef ACE_NLINK_T_TYPE nlink_t;
+# endif /* ACE_LACKS_NLINK_T */
+
+# if defined (ACE_LACKS_OFF_T)
+typedef long int off_t;
+# endif /* ACE_LACKS_OFF_T */
+
+# if defined (ACE_LACKS_OFF_T)
+typedef long long int loff_t;
+# endif /* ACE_LACKS_OFF_T */
+
+# if defined (ACE_LACKS_PID_T) || defined (ACE_PID_T_TYPE)
+# if !defined (ACE_PID_T_TYPE)
+# define ACE_PID_T_TYPE int
+# endif /* !ACE_PID_T_TYPE */
+typedef ACE_PID_T_TYPE pid_t;
+# endif /* ACE_LACKS_PID_T */
+
+# if defined (ACE_LACKS_PTRDIFF_T)
+typedef int ptrdiff_t;
+# endif /* ACE_LACKS_PTRDIFF_T */
+
+# if defined (ACE_LACKS_RLIM_T)
+typedef u_long rlim_t;
+# endif /* ACE_LACKS_RLIM_T */
+
+# if defined (ACE_LACKS_SIG_ATOMIC_T)
+typedef int sig_atomic_t;
+# endif /* ACE_LACKS_SIG_ATOMIC_T */
+
+# if defined (ACE_LACKS_SIZE_T)
+typedef u_int size_t;
+# endif /* ACE_LACKS_SIZE_T */
+
+# if defined (ACE_LACKS_SSIZE_T)
+typedef int ssize_t;
+# endif /* ACE_LACKS_SSIZE_T */
+
+# if defined (ACE_LACKS_TIME_T)
+typedef long int time_t;
+# endif /* ACE_LACKS_TIME_T */
+
+# if defined (ACE_LACKS_UID_T) || defined (ACE_UID_T_TYPE)
+# if !defined (ACE_UID_T_TYPE)
+# define ACE_UID_T_TYPE u_int
+# endif /* !ACE_UID_T_TYPE */
+typedef ACE_UID_T_TYPE uid_t;
+# endif /* ACE_LACKS_UID_T */
+
+# if defined (ACE_LACKS_WCHAR_T)
+typedef u_long wchar_t;
+# endif /* ACE_LACKS_WCHAR_T */
+
+#endif /* ACE_OS_INCLUDE_SYS_TYPES_H */
diff --git a/ace/os_include/sys/uio.h b/ace/os_include/sys/uio.h
new file mode 100644
index 00000000000..3a309f3e545
--- /dev/null
+++ b/ace/os_include/sys/uio.h
@@ -0,0 +1,47 @@
+/* -*- C++ -*- */
+
+//=============================================================================
+/**
+ * @file uio.h
+ *
+ * $Id$
+ *
+ * @author Douglas C. Schmidt (schmidt@cs.wustl.edu)
+ * @author etc
+ */
+//=============================================================================
+
+#ifndef ACE_OS_INCLUDE_SYS_UIO_H
+# define ACE_OS_INCLUDE_SYS_UIO_H
+# include "ace/pre.h"
+
+# include "ace/config-all.h"
+
+# if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+# endif /* ACE_LACKS_PRAGMA_ONCE */
+
+# if !defined (ACE_LACKS_SYS_UIO_H) && !defined (ACE_LACKS_UNIX_SYS_HEADERS)
+# include /**/ <sys/uio.h>
+# endif /* !ACE_LACKS_SYS_UIO_H && !ACE_LACKS_UNIX_SYS_HEADERS */
+
+# if defined(__rtems__)
+struct iovec {
+ char *iov_base; // Base address.
+ size_t iov_len; // Length.
+};
+# endif
+
+# if defined (ACE_HAS_BROKEN_WRITEV)
+typedef struct iovec ACE_WRITEV_TYPE;
+# else
+typedef const struct iovec ACE_WRITEV_TYPE;
+# endif /* ACE_HAS_BROKEN_WRITEV */
+
+# if defined (ACE_HAS_BROKEN_READV)
+typedef const struct iovec ACE_READV_TYPE;
+# else
+typedef struct iovec ACE_READV_TYPE;
+# endif /* ACE_HAS_BROKEN_READV */
+
+#endif /* ACE_OS_INCLUDE_SYS_UIO_H */
diff --git a/ace/os_include/sys/utsname.h b/ace/os_include/sys/utsname.h
new file mode 100644
index 00000000000..702fda99380
--- /dev/null
+++ b/ace/os_include/sys/utsname.h
@@ -0,0 +1,49 @@
+/* -*- C++ -*- */
+
+//=============================================================================
+/**
+ * @file utsname.h
+ *
+ * $Id$
+ *
+ * @author Douglas C. Schmidt (schmidt@cs.wustl.edu)
+ * @author etc
+ */
+//=============================================================================
+
+#ifndef ACE_OS_INCLUDE_SYS_UTSNAME_H
+# define ACE_OS_INCLUDE_SYS_UTSNAME_H
+# include "ace/pre.h"
+
+# include "ace/config-all.h"
+
+# if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+# endif /* ACE_LACKS_PRAGMA_ONCE */
+
+// Only include if platform/compiler provide the header.
+# if !defined (ACE_LACKS_SYS_UTSNAME_H)
+# include /**/ <sys/utsname.h>
+# endif /* !ACE_LACKS_SYS_UTSNAME_H */
+
+
+# if defined (ACE_LACKS_UTSNAME_T)
+# if !defined (SYS_NMLN)
+# define SYS_NMLN 257
+# endif /* SYS_NMLN */
+# if !defined (_SYS_NMLN)
+# define _SYS_NMLN SYS_NMLN
+# endif /* _SYS_NMLN */
+struct ACE_utsname
+{
+ ACE_TCHAR sysname[_SYS_NMLN];
+ ACE_TCHAR nodename[_SYS_NMLN];
+ ACE_TCHAR release[_SYS_NMLN];
+ ACE_TCHAR version[_SYS_NMLN];
+ ACE_TCHAR machine[_SYS_NMLN];
+};
+# else
+typedef struct utsname ACE_utsname;
+# endif /* ACE_LACKS_UTSNAME_T */
+
+#endif /* ACE_OS_INCLUDE_SYS_UTSNAME_H */
diff --git a/ace/os_include/sys/wait.h b/ace/os_include/sys/wait.h
new file mode 100644
index 00000000000..55ba9d6e2d9
--- /dev/null
+++ b/ace/os_include/sys/wait.h
@@ -0,0 +1,121 @@
+/* -*- C++ -*- */
+
+//=============================================================================
+/**
+ * @file wait.h
+ *
+ * $Id$
+ *
+ * @author Douglas C. Schmidt (schmidt@cs.wustl.edu)
+ * @author etc
+ */
+//=============================================================================
+
+#ifndef ACE_OS_INCLUDE_SYS_WAIT_H
+# define ACE_OS_INCLUDE_SYS_WAIT_H
+# include "ace/pre.h"
+
+# include "ace/config-all.h"
+
+# if !defined (ACE_LACKS_PRAGMA_ONCE)
+# pragma once
+# endif /* ACE_LACKS_PRAGMA_ONCE */
+
+# if !defined (ACE_LACKS_SYS_WAIT_H)
+# include <sys/wait.h>
+# endif /* ACE_LACKS_SYS_WAIT_H */
+
+
+ // Wrapping around wait status <wstat> macros for platforms that
+ // lack them.
+
+ // 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 */
+
+ // 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 */
+
+ // 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 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 */
+
+# if !defined (WIFSTOPPED)
+# define WIFSTOPPED(stat) 0
+# endif /* WIFSTOPPED */
+
+# if !defined (WSTOPSIG)
+# define WSTOPSIG(stat) 0
+# endif /* WSTOPSIG */
+
+# if !defined (WIFCONTINUED)
+# define WIFCONTINUED(stat) 0
+# endif /* WIFCONTINUED */
+
+# if !defined (WCOREDUMP)
+# define WCOREDUMP(stat) 0
+# endif /* WCOREDUMP */
+# if defined (ACE_HAS_IDTYPE_T) && !defined (ACE_IDTYPE_T_TYPE)
+// typedef idtype_t ACE_idtype_t;
+# define ACE_IDTYPE_T_TYPE idtype_t
+# else
+// typedef int ACE_idtype_t;
+# define ACE_IDTYPE_T_TYPE int
+# endif /* ACE_HAS_IDTYPE_T */
+
+# if defined (ACE_HAS_STHREADS) || defined (DIGITAL_UNIX)
+# if defined (ACE_LACKS_PRI_T)
+// typedef int pri_t;
+# if !defined (ACE_PRI_T_TYPE)
+# define ACE_PRI_T_TYPE int
+# endif /* !ACE_PRI_T_TYPE */
+# endif /* ACE_LACKS_PRI_T */
+# if !defined (ACE_ID_T_TYPE)
+// typedef id_t ACE_id_t;
+# define ACE_ID_T_TYPE id_t
+# endif /* !ACE_ID_T_TYPE */
+# if !defined (ACE_SELF)
+# define ACE_SELF P_MYID
+# endif /* ACE_SELF */
+# if !defined (ACE_PRI_T_TYPE)
+# define ACE_PRI_T_TYPE pri_t
+// typedef pri_t ACE_pri_t;
+# endif /* !ACE_PRI_T_TYPE */
+# else /* ! ACE_HAS_STHREADS && ! DIGITAL_UNIX */
+# if !defined (ACE_ID_T_TYPE)
+# define ACE_ID_T_TYPE long
+// typedef long ACE_id_t;
+# endif /* !ACE_ID_T_TYPE */
+# if !defined (ACE_SELF)
+# define ACE_SELF (-1)
+# endif /* !ACE_SELF */
+# if !defined (ACE_PRI_T_TYPE)
+# define ACE_PRI_T_TYPE short
+// typedef short ACE_pri_t;
+# endif /* !ACE_PRI_T_TYPE */
+# endif /* ! ACE_HAS_STHREADS && ! DIGITAL_UNIX */
+
+
+typedef ACE_IDTYPE_T_TYPE ACE_idtype_t;
+typedef ACE_ID_T_TYPE ACE_id_t;
+typedef ACE_PRI_T_TYPE ACE_pri_t;
+
+#endif /* ACE_OS_INCLUDE_SYS_WAIT_H */