summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorluther <luther@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2000-07-07 22:23:13 +0000
committerluther <luther@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2000-07-07 22:23:13 +0000
commitfa57683a6e31974e3fbd8f0e6907bc40a87bc715 (patch)
tree093553428d18f1f26f7fd7fc434284fb632ab93e
parent77dc2b17dcdbd8cb920063a08352b7a6e1b65099 (diff)
downloadATCD-fa57683a6e31974e3fbd8f0e6907bc40a87bc715.tar.gz
Fri Jul 7 17:22:56 2000 Luther J Baker <luther@cs.wustl.edu>
-rw-r--r--PACE/ChangeLog43
-rw-r--r--PACE/pace/aio.h91
-rw-r--r--PACE/pace/assert.h40
-rw-r--r--PACE/pace/ctype.h118
-rw-r--r--PACE/pace/dirent.h67
-rw-r--r--PACE/pace/fcntl.h57
-rw-r--r--PACE/pace/grp.h68
-rw-r--r--PACE/pace/locale.h43
-rw-r--r--PACE/pace/math.h180
-rw-r--r--PACE/pace/mqueue.h102
-rw-r--r--PACE/pace/posix/aio.h71
-rw-r--r--PACE/pace/posix/assert.h17
-rw-r--r--PACE/pace/posix/ctype.h101
-rw-r--r--PACE/pace/posix/dirent.h47
-rw-r--r--PACE/pace/posix/fcntl.h43
-rw-r--r--PACE/pace/posix/grp.h48
-rw-r--r--PACE/pace/posix/locale.h23
-rw-r--r--PACE/pace/posix/math.h164
-rw-r--r--PACE/pace/posix/mqueue.h82
-rw-r--r--PACE/pace/posix/pthread.h506
-rw-r--r--PACE/pace/posix/pwd.h48
-rw-r--r--PACE/pace/posix/sched.h70
-rw-r--r--PACE/pace/posix/semaphore.h79
-rw-r--r--PACE/pace/posix/setjmp.h38
-rw-r--r--PACE/pace/posix/signal.h127
-rw-r--r--PACE/pace/pthread.h525
-rw-r--r--PACE/pace/pwd.h68
-rw-r--r--PACE/pace/sched.h91
-rw-r--r--PACE/pace/semaphore.h99
-rw-r--r--PACE/pace/setjmp.h57
-rw-r--r--PACE/pace/signal.h147
31 files changed, 1749 insertions, 1511 deletions
diff --git a/PACE/ChangeLog b/PACE/ChangeLog
index 735cacdcc13..7f399c006d7 100644
--- a/PACE/ChangeLog
+++ b/PACE/ChangeLog
@@ -1,3 +1,46 @@
+Fri Jul 7 17:22:56 2000 Luther J Baker <luther@cs.wustl.edu>
+
+ * pace/aio.h:
+ * pace/posix/aio.h:
+ * pace/assert.h:
+ * pace/posix/assert.h:
+ * pace/ctype.h:
+ * pace/posix/ctype.h:
+ * pace/dirent.h:
+ * pace/posix/dirent.h:
+ * pace/fcntl.h:
+ * pace/posix/fcntl.h:
+ * pace/grp.h:
+ * pace/posix/grp.h:
+ * pace/math.h:
+ * pace/posix/math.h:
+ * pace/mqueue.h:
+ * pace/posix/mqueue.h:
+ * pace/pthread.h:
+ * pace/posix/pthread.h:
+ * pace/pwd.h:
+ * pace/posix/pwd.h:
+ * pace/sched.h:
+ * pace/posix/sched.h:
+ * pace/semaphore.h:
+ * pace/posix/semaphore.h:
+ * pace/setjmp.h:
+ * pace/posix/setjmp.h:
+ * pace/signal.h:
+ * pace/posix/signal.h:
+
+ Changed the protection includes. Eg:
+ ROOT directory PACE_ASSERT_H
+ POSIX directory PACE_ASSERT_H_POSIX.
+
+ Changed the #if defined (PACE_HAS_POSIX) to #if PACE_HAS_POSIX
+ per our recent conversation regarding all macros being assigned a
+ value.
+
+ Moved the prototype function signatures to the root directory *.h file.
+
+ Changed the form the *.inl file was included.
+
Fri Jul 7 16:23:57 2000 Luther J Baker <luther@cs.wustl.edu>
* pace/errno.h:
diff --git a/PACE/pace/aio.h b/PACE/pace/aio.h
index d988690c77e..621f28e3211 100644
--- a/PACE/pace/aio.h
+++ b/PACE/pace/aio.h
@@ -13,17 +13,96 @@
*
* ============================================================================ */
-#ifndef PACE_AIO_H_INDIRECT
-#define PACE_AIO_H_INDIRECT
+#ifndef PACE_AIO_H
+#define PACE_AIO_H
#include "pace/config/defines.h"
-#if defined (PACE_HAS_POSIX)
+#if (PACE_HAS_POSIX)
# include "pace/posix/aio.h"
-#elif defined (PACE_VXWORKS)
+#elif (PACE_VXWORKS)
# include "pace/vxworks/aio.h"
-#elif defined (PACE_WIN32)
+#elif (PACE_WIN32)
# include "pace/win32/aio.h"
#endif
-#endif /* PACE_AIO_H_INDIRECT */
+#if defined (PACE_HAS_CPLUSPLUS)
+extern "C" {
+#endif /* PACE_HAS_CPLUSPLUS */
+
+ /**
+ PACE's implementation of the POSIX function aio_cancel.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), section 6.7.7.
+ */
+ PACE_INLINE int pace_aio_cancel (int fildes, pace_aiocb * aiocb);
+
+ /**
+ PACE's implementation of the POSIX function aio_error.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), section 6.7.5.
+ */
+ PACE_INLINE int pace_aio_error (const pace_aiocb * aiocbp);
+
+ /**
+ PACE's implementation of the POSIX function aio_fsync.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), section 6.7.9.
+ */
+ PACE_INLINE int pace_aio_fsync (int op, pace_aiocb * aiocbp);
+
+ /**
+ PACE's implementation of the POSIX function aio_read.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), section 6.7.2.
+ */
+ PACE_INLINE int pace_aio_read (pace_aiocb * aiocbp);
+
+ /**
+ PACE's implementation of the POSIX function aio_return.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), section 6.7.6.
+ */
+ PACE_INLINE int pace_aio_return (pace_aiocb * aiocbp);
+
+ /**
+ PACE's implementation of the POSIX function aio_suspend.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), section 6.7.8.
+ */
+ PACE_INLINE int pace_aio_suspend (const pace_aiocb * const list[],
+ int nent,
+ const pace_timespec * timeout);
+
+ /**
+ PACE's implementation of the POSIX function aio_write.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), section 6.7.3.
+ */
+ PACE_INLINE int pace_aio_write (pace_aiocb * aiocbp);
+
+ /**
+ PACE's implementation of the POSIX function lio_listio.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), section 6.7.4.
+ */
+ PACE_INLINE int pace_lio_listio (int mode,
+ pace_aiocb * const list[],
+ int nent,
+ pace_sigevent * sig);
+
+#if defined (PACE_HAS_CPLUSPLUS)
+}
+#endif /* PACE_HAS_CPLUSPLUS */
+
+#if defined (PACE_HAS_INLINE)
+# if (PACE_HAS_POSIX)
+# include "pace/posix/aio.inl"
+# elif (PACE_VXWORKS)
+# include "pace/vxworks/aio.inl"
+# elif (PACE_WIN32)
+# include "pace/win32/aio.inl"
+# endif
+#endif /* PACE_HAS_INLINE */
+
+#endif /* PACE_AIO_H */
diff --git a/PACE/pace/assert.h b/PACE/pace/assert.h
index cbfc942fb00..d5b2099f046 100644
--- a/PACE/pace/assert.h
+++ b/PACE/pace/assert.h
@@ -13,20 +13,42 @@
*
* =========================================================================== */
-#ifndef PACE_ASSERT_H_INDIRECT
-#define PACE_ASSERT_H_INDIRECT
+#ifndef PACE_ASSERT_H
+#define PACE_ASSERT_H
#include "pace/config/defines.h"
-#if defined (PACE_HAS_POSIX)
+#if (PACE_HAS_POSIX)
# include "pace/posix/assert.h"
-#elif defined (PACE_VXWORKS)
+#elif (PACE_VXWORKS)
# include "pace/vxworks/assert.h"
-#elif defined (PACE_WIN32)
+#elif (PACE_WIN32)
# include "pace/win32/assert.h"
#endif
-#endif /* PACE_ASSERT_H_INDIRECT */
-
-
-
+#if defined (PACE_HAS_CPLUSPLUS)
+extern "C" {
+#endif /* PACE_HAS_CPLUSPLUS */
+
+ /**
+ PACE's implementation of the POSIX macro assert.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 8.1.
+ */
+ PACE_INLINE void pace_assert (int expression);
+
+# if defined (PACE_HAS_CPLUSPLUS)
+}
+# endif /* PACE_HAS_CPLUSPLUS */
+
+#if defined (PACE_HAS_INLINE)
+# if (PACE_HAS_POSIX)
+# include "pace/posix/assert.inl"
+# elif (PACE_VXWORKS)
+# include "pace/vxworks/assert.inl"
+# elif (PACE_WIN32)
+# include "pace/win32/assert.inl"
+# endif
+#endif /* PACE_HAS_INLINE */
+
+#endif /* PACE_ASSERT_H */
diff --git a/PACE/pace/ctype.h b/PACE/pace/ctype.h
index 56cb5f0262c..1f9f99a6709 100644
--- a/PACE/pace/ctype.h
+++ b/PACE/pace/ctype.h
@@ -13,20 +13,126 @@
*
* ============================================================================ */
-#ifndef PACE_CTYPE_H_INDIRECT
-#define PACE_CTYPE_H_INDIRECT
+#ifndef PACE_CTYPE_H
+#define PACE_CTYPE_H
#include "pace/config/defines.h"
-#if defined (PACE_HAS_POSIX)
+#if (PACE_HAS_POSIX)
# include "pace/posix/ctype.h"
-#elif defined (PACE_VXWORKS)
+#elif (PACE_VXWORKS)
# include "pace/vxworks/ctype.h"
-#elif defined (PACE_WIN32)
+#elif (PACE_WIN32)
# include "pace/win32/ctype.h"
#endif
-#endif /* PACE_CTYPE_H_INDIRECT */
+#if defined (PACE_HAS_CPLUSPLUS)
+extern "C" {
+#endif /* PACE_HAS_CPLUSPLUS */
+ /**
+ PACE's implementation of the POSIX function isalnum.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 8.1.
+ */
+ PACE_INLINE int pace_isalnum (int c);
+ /**
+ PACE's implementation of the POSIX function isalpha.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 8.1.
+ */
+ PACE_INLINE int pace_isalpha (int c);
+ /**
+ PACE's implementation of the POSIX function iscntrl.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 8.1.
+ */
+ PACE_INLINE int pace_iscntrl (int c);
+
+ /**
+ PACE's implementation of the POSIX function isdigit.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 8.1.
+ */
+ PACE_INLINE int pace_isdigit (int c);
+
+ /**
+ PACE's implementation of the POSIX function isgraph.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 8.1.
+ */
+ PACE_INLINE int pace_isgraph (int c);
+
+ /**
+ PACE's implementation of the POSIX function islower.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 8.1.
+ */
+ PACE_INLINE int pace_islower (int c);
+
+ /**
+ PACE's implementation of the POSIX function isprint.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 8.1.
+ */
+ PACE_INLINE int pace_isprint (int c);
+
+ /**
+ PACE's implementation of the POSIX function ispunct.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 8.1.
+ */
+ PACE_INLINE int pace_ispunct (int c);
+
+ /**
+ PACE's implementation of the POSIX function isspace.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 8.1.
+ */
+ PACE_INLINE int pace_isspace (int c);
+
+ /**
+ PACE's implementation of the POSIX function isupper.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 8.1.
+ */
+ PACE_INLINE int pace_isupper (int c);
+
+ /**
+ PACE's implementation of the POSIX function isxdigit.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 8.1.
+ */
+ PACE_INLINE int pace_isxdigit (int c);
+
+ /**
+ PACE's implementation of the POSIX function tolower.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 8.1.
+ */
+ PACE_INLINE int pace_tolower (int c);
+
+ /**
+ PACE's implementation of the POSIX function toupper.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 8.1.
+ */
+ PACE_INLINE int pace_toupper (int c);
+
+#if defined (PACE_HAS_CPLUSPLUS)
+}
+#endif /* PACE_HAS_CPLUSPLUS */
+
+#if defined (PACE_HAS_INLINE)
+# if (PACE_HAS_POSIX)
+# include "pace/posix/ctype.inl"
+# elif (PACE_VXWORKS)
+# include "pace/vxworks/ctype.inl"
+# elif (PACE_WIN32)
+# include "pace/win32/ctype.inl"
+# endif
+#endif /* PACE_HAS_INLINE */
+
+#endif /* PACE_CTYPE_H */
diff --git a/PACE/pace/dirent.h b/PACE/pace/dirent.h
index 4e95a41877a..53ea09d5be8 100644
--- a/PACE/pace/dirent.h
+++ b/PACE/pace/dirent.h
@@ -13,17 +13,72 @@
*
* ============================================================================ */
-#ifndef PACE_DIRENT_H_INDIRECT
-#define PACE_DIRENT_H_INDIRECT
+#ifndef PACE_DIRENT_H
+#define PACE_DIRENT_H
#include "pace/config/defines.h"
-#if defined (PACE_HAS_POSIX)
+#if (PACE_HAS_POSIX)
# include "pace/posix/dirent.h"
-#elif defined (PACE_VXWORKS)
+#elif (PACE_VXWORKS)
# include "pace/vxworks/dirent.h"
-#elif defined (PACE_WIN32)
+#elif (PACE_WIN32)
# include "pace/win32/dirent.h"
#endif
-#endif /* PACE_DIRENT_H_INDIRECT */
+#if defined (PACE_HAS_CPLUSPLUS)
+extern "C" {
+#endif /* PACE_HAS_CPLUSPLUS */
+
+ /**
+ PACE's implementation of the POSIX function opendir.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 5.1.2.
+ */
+ PACE_INLINE PACE_DIR * pace_opendir (const char * dirname);
+
+ /**
+ PACE's implementation of the POSIX function readdir.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 5.1.2.
+ */
+ PACE_INLINE pace_dirent * pace_readdir (PACE_DIR * dirp);
+
+ /**
+ PACE's implementation of the POSIX function readdir_r.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 5.1.2.
+ */
+ PACE_INLINE int pace_readdir_r (PACE_DIR * dirp, pace_dirent * entry,
+ pace_dirent ** result);
+ /* Requires PACE_HAS_POSIX_PTHREAD_SEMANTICS. */
+
+ /**
+ PACE's implementation of the POSIX function rewinddir.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 5.1.2.
+ */
+ PACE_INLINE void pace_rewinddir (PACE_DIR * dirp);
+
+ /**
+ PACE's implementation of the POSIX function closedir.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 5.1.2.
+ */
+ PACE_INLINE int pace_closedir (PACE_DIR * dirp);
+
+#if defined (PACE_HAS_CPLUSPLUS)
+}
+#endif /* PACE_HAS_CPLUSPLUS */
+
+#if defined (PACE_HAS_INLINE)
+# if (PACE_HAS_POSIX)
+# include "pace/posix/dirent.inl"
+# elif (PACE_VXWORKS)
+# include "pace/vxworks/dirent.inl"
+# elif (PACE_WIN32)
+# include "pace/win32/dirent.inl"
+# endif
+#endif /* PACE_HAS_INLINE */
+
+#endif /* PACE_DIRENT_H */
diff --git a/PACE/pace/fcntl.h b/PACE/pace/fcntl.h
index 90cf48f67a9..9e7060ba74f 100644
--- a/PACE/pace/fcntl.h
+++ b/PACE/pace/fcntl.h
@@ -13,17 +13,64 @@
*
* ============================================================================ */
-#ifndef PACE_FCNTL_H_INDIRECT
-#define PACE_FCNTL_H_INDIRECT
+#ifndef PACE_FCNTL_H
+#define PACE_FCNTL_H
#include "pace/config/defines.h"
-#if defined (PACE_HAS_POSIX)
+#if (PACE_HAS_POSIX)
# include "pace/posix/fcntl.h"
-#elif defined (PACE_VXWORKS)
+#elif (PACE_VXWORKS)
# include "pace/vxworks/fcntl.h"
-#elif defined (PACE_WIN32)
+#elif (PACE_WIN32)
# include "pace/win32/fcntl.h"
#endif
+#if defined (PACE_HAS_CPLUSPLUS)
+extern "C" {
+#endif /* PACE_HAS_CPLUSPLUS */
+
+ /**
+ PACE's implementation of the POSIX function creat.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 5.3.2.
+ */
+ PACE_INLINE int pace_creat (const char * path, pace_mode_t mode);
+
+ /**
+ PACE's implementation of the POSIX function fcntl.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 6.5.2.
+ */
+ # define pace_fcntl(X) fcntl X
+ /* int fcntl (int fildes, int cmd, *//* arg *//* ... );
+ *
+ * PLEASE PAY SPECIAL ATTENTION HERE!
+ * This is a macro and requires an additional set of parenthesis
+ * surrounding the arguments.
+ */
+
+ /**
+ PACE's implementation of the POSIX function open.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 5.3.1.
+ */
+ # define pace_open(X) open X
+ /* int open (const char *path, int oflag, *//* pace_mode_t mode *//* ... );
+ *
+ * PLEASE PAY SPECIAL ATTENTION HERE!
+ * This is a macro and requires an additional set of parenthesis
+ * surrounding the arguments.
+ */
+
+#if defined (PACE_HAS_INLINE)
+# if (PACE_HAS_POSIX)
+# include "pace/posix/fcntl.inl"
+# elif (PACE_VXWORKS)
+# include "pace/vxworks/fcntl.inl"
+# elif (PACE_WIN32)
+# include "pace/win32/fcntl.inl"
+# endif
+#endif /* PACE_HAS_INLINE */
+
#endif /* PACE_FCNTL_H_INDIRECT */
diff --git a/PACE/pace/grp.h b/PACE/pace/grp.h
index fe28c31b092..06a4704bd65 100644
--- a/PACE/pace/grp.h
+++ b/PACE/pace/grp.h
@@ -13,17 +13,73 @@
*
* ============================================================================ */
-#ifndef PACE_GRP_H_INDIRECT
-#define PACE_GRP_H_INDIRECT
+#ifndef PACE_GRP_H
+#define PACE_GRP_H
#include "pace/config/defines.h"
-#if defined (PACE_HAS_POSIX)
+#if (PACE_HAS_POSIX)
# include "pace/posix/grp.h"
-#elif defined (PACE_VXWORKS)
+#elif (PACE_VXWORKS)
# include "pace/vxworks/grp.h"
-#elif defined (PACE_WIN32)
+#elif (PACE_WIN32)
# include "pace/win32/grp.h"
#endif
-#endif /* PACE_GRP_H_INDIRECT */
+# if defined (PACE_HAS_CPLUSPLUS)
+extern "C" {
+# endif /* PACE_HAS_CPLUSPLUS */
+
+ /**
+ PACE's implementation of the POSIX function getgrgid.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 9.2.1.
+ */
+ PACE_INLINE pace_group * pace_getgrgid (pace_gid_t gid);
+
+ /**
+ PACE's implementation of the POSIX function getgrgid_r.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 9.2.1.
+ */
+ PACE_INLINE int pace_getgrgid_r (pace_gid_t gid,
+ pace_group * grp,
+ char * buffer,
+ size_t bufsize,
+ pace_group ** result);
+ /* Requires PACE_HAS_POSIX_PTHREAD_SEMANTICS. */
+
+ /**
+ PACE's implementation of the POSIX function getgrnam.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 9.2.1.
+ */
+ PACE_INLINE pace_group * pace_getgrnam (const char * name);
+
+ /**
+ PACE's implementation of the POSIX function getgrnam_r.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 9.2.1.
+ */
+ PACE_INLINE int pace_getgrnam_r (const char * name,
+ pace_group * grp,
+ char * buffer,
+ size_t bufsize,
+ pace_group ** result);
+ /* Requires PACE_HAS_POSIX_PTHREAD_SEMANTICS. */
+
+# if defined (PACE_HAS_CPLUSPLUS)
+}
+# endif /* PACE_HAS_CPLUSPLUS */
+
+#if defined (PACE_HAS_INLINE)
+# if (PACE_HAS_POSIX)
+# include "pace/posix/grp.inl"
+# elif (PACE_VXWORKS)
+# include "pace/vxworks/grp.inl"
+# elif (PACE_WIN32)
+# include "pace/win32/grp.inl"
+# endif
+#endif /* PACE_HAS_INLINE */
+
+#endif /* PACE_GRP_H */
diff --git a/PACE/pace/locale.h b/PACE/pace/locale.h
index 423ba9a9501..49a2af40289 100644
--- a/PACE/pace/locale.h
+++ b/PACE/pace/locale.h
@@ -13,17 +13,48 @@
*
* =========================================================================== */
-#ifndef PACE_LOCALE_H_INDIRECT
-#define PACE_LOCALE_H_INDIRECT
+#ifndef PACE_LOCALE_H
+#define PACE_LOCALE_H
#include "pace/config/defines.h"
-#if defined (PACE_HAS_POSIX)
+#if (PACE_HAS_POSIX)
# include "pace/posix/locale.h"
-#elif defined (PACE_VXWORKS)
+#elif (PACE_VXWORKS)
# include "pace/vxworks/locale.h"
-#elif defined (PACE_WIN32)
+#elif (PACE_WIN32)
# include "pace/win32/locale.h"
#endif
-#endif /* PACE_LOCALE_H_INDIRECT */
+#if defined (PACE_HAS_CPLUSPLUS)
+extern "C" {
+#endif /* PACE_HAS_CPLUSPLUS */
+
+ /**
+ Fills in pace_lconv with values consistent with the
+ current locality.
+ */
+ PACE_INLINE pace_lconv* pace_localeconv (void);
+
+ /**
+ PACE's implementation of the POSIX function setlocale.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 8.1.2.
+ */
+ PACE_INLINE char * pace_setlocale (int category, const char * locale);
+
+#if defined (PACE_HAS_CPLUSPLUS)
+}
+#endif /* PACE_HAS_CPLUSPLUS */
+
+#if defined (PACE_HAS_INLINE)
+# if (PACE_HAS_POSIX)
+# include "pace/posix/locale.inl"
+# elif (PACE_VXWORKS)
+# include "pace/vxworks/locale.inl"
+# elif (PACE_WIN32)
+# include "pace/win32/locale.inl"
+# endif
+#endif /* PACE_HAS_INLINE */
+
+#endif /* PACE_LOCALE_H */
diff --git a/PACE/pace/math.h b/PACE/pace/math.h
index c52275724cc..eab0953b0fb 100644
--- a/PACE/pace/math.h
+++ b/PACE/pace/math.h
@@ -13,21 +13,189 @@
*
* ============================================================================ */
-#ifndef PACE_MATH_H_INDIRECT
-#define PACE_MATH_H_INDIRECT
+#ifndef PACE_MATH_H
+#define PACE_MATH_H
#include "pace/config/defines.h"
-#if defined (PACE_HAS_POSIX)
+#if (PACE_HAS_POSIX)
# include "pace/posix/math.h"
-#elif defined (PACE_VXWORKS)
+#elif (PACE_VXWORKS)
# include "pace/vxworks/math.h"
-#elif defined (PACE_WIN32)
+#elif (PACE_WIN32)
# include "pace/win32/math.h"
#endif
-#endif /* PACE_MATH_H_INDIRECT */
+#if defined (PACE_HAS_CPLUSPLUS)
+extern "C" {
+#endif /* PACE_HAS_CPLUSPLUS */
+ /**
+ PACE's implementation of the POSIX function acos.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 8.1.
+ */
+ PACE_INLINE double pace_acos (double x);
+ /**
+ PACE's implementation of the POSIX function asin.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 8.1.
+ */
+ PACE_INLINE double pace_asin (double x);
+ /**
+ PACE's implementation of the POSIX function atan.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 8.1.
+ */
+ PACE_INLINE double pace_atan (double x);
+ /**
+ PACE's implementation of the POSIX function atan2.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 8.1.
+ */
+ PACE_INLINE double pace_atan2 (double x, double y);
+
+ /**
+ PACE's implementation of the POSIX function cos.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 8.1.
+ */
+ PACE_INLINE double pace_cos (double x);
+
+ /**
+ PACE's implementation of the POSIX function sin.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 8.1.
+ */
+ PACE_INLINE double pace_sin (double x);
+
+ /**
+ PACE's implementation of the POSIX function tan.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 8.1.
+ */
+ PACE_INLINE double pace_tan (double x);
+
+ /**
+ PACE's implementation of the POSIX function cosh.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 8.1.
+ */
+ PACE_INLINE double pace_cosh (double x);
+
+ /**
+ PACE's implementation of the POSIX function sinh.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 8.1.
+ */
+ PACE_INLINE double pace_sinh (double x);
+
+ /**
+ PACE's implementation of the POSIX function tanh.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 8.1.
+ */
+ PACE_INLINE double pace_tanh (double x);
+
+ /**
+ PACE's implementation of the POSIX function exp.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 8.1.
+ */
+ PACE_INLINE double pace_exp (double x);
+
+ /**
+ PACE's implementation of the POSIX function frexp.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 8.1.
+ */
+ PACE_INLINE double pace_frexp (double x, int * exp);
+
+ /**
+ PACE's implementation of the POSIX function ldexp.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 8.1.
+ */
+ PACE_INLINE double pace_ldexp (double x, int exp);
+
+ /**
+ PACE's implementation of the POSIX function log.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 8.1.
+ */
+ PACE_INLINE double pace_log (double x);
+
+ /**
+ PACE's implementation of the POSIX function log10.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 8.1.
+ */
+ PACE_INLINE double pace_log10 (double x);
+
+ /**
+ PACE's implementation of the POSIX function modf.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 8.1.
+ */
+ PACE_INLINE double pace_modf (double x, double * iptr);
+
+ /**
+ PACE's implementation of the POSIX function pow.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 8.1.
+ */
+ PACE_INLINE double pace_pow (double x, double y);
+
+ /**
+ PACE's implementation of the POSIX function sqrt.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 8.1.
+ */
+ PACE_INLINE double pace_sqrt (double x);
+
+ /**
+ PACE's implementation of the POSIX function ceil.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 8.1.
+ */
+ PACE_INLINE double pace_ceil (double x);
+
+ /**
+ PACE's implementation of the POSIX function fabs.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 8.1.
+ */
+ PACE_INLINE double pace_fabs (double x);
+
+ /**
+ PACE's implementation of the POSIX function floor.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 8.1.
+ */
+ PACE_INLINE double pace_floor (double x);
+
+ /**
+ PACE's implementation of the POSIX function fmod.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 8.1.
+ */
+ PACE_INLINE double pace_fmod (double x, double y);
+
+#if defined (PACE_HAS_CPLUSPLUS)
+}
+#endif /* PACE_HAS_CPLUSPLUS */
+
+#if defined (PACE_HAS_INLINE)
+# if (PACE_HAS_POSIX)
+# include "pace/posix/math.inl"
+# elif (PACE_VXWORKS)
+# include "pace/vxworks/math.inl"
+# elif (PACE_WIN32)
+# include "pace/win32/math.inl"
+# endif
+#endif /* PACE_HAS_INLINE */
+
+#endif /* PACE_MATH_H */
diff --git a/PACE/pace/mqueue.h b/PACE/pace/mqueue.h
index 6f2bd9ece36..06a8430c7f0 100644
--- a/PACE/pace/mqueue.h
+++ b/PACE/pace/mqueue.h
@@ -13,17 +13,107 @@
*
* ============================================================================ */
-#ifndef PACE_MQUEUE_H_INDIRECT
-#define PACE_MQUEUE_H_INDIRECT
+#ifndef PACE_MQUEUE_H
+#define PACE_MQUEUE_H
#include "pace/config/defines.h"
-#if defined (PACE_HAS_POSIX)
+#if (PACE_HAS_POSIX)
# include "pace/posix/mqueue.h"
-#elif defined (PACE_VXWORKS)
+#elif (PACE_VXWORKS)
# include "pace/vxworks/mqueue.h"
-#elif defined (PACE_WIN32)
+#elif (PACE_WIN32)
# include "pace/win32/mqueue.h"
#endif
-#endif /* PACE_MQUEUE_H_INDIRECT */
+#if defined (PACE_HAS_CPLUSPLUS)
+extern "C" {
+#endif /* PACE_HAS_CPLUSPLUS */
+
+ /**
+ PACE's implementation of the POSIX function mq_close.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 15.2.2.
+ */
+ PACE_INLINE int pace_mq_close (pace_mqd_t mqdes);
+
+ /**
+ PACE's implementation of the POSIX function mq_getattr.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 15.2.8.
+ */
+ PACE_INLINE int pace_mq_getattr (pace_mqd_t mqdes,
+ pace_mq_attr * mqstat);
+
+ /**
+ PACE's implementation of the POSIX function mq_notify.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 15.2.6.
+ */
+ PACE_INLINE int pace_mq_notify (pace_mqd_t mqdes,
+ const pace_sigevent * notification);
+
+ /**
+ PACE's implementation of the POSIX function mq_open.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 15.2.1.
+ */
+ # define pace_mq_open(X) mq_open X
+ /* mqd_t mq_open (const char *name, int oflag, (*//* args *//*) ... );
+ *
+ * PLEASE PAY SPECIAL ATTENTION HERE!
+ * This is a macro and requires an additional set of parenthesis
+ * surrounding the arguments.
+ */
+
+ /**
+ PACE's implementation of the POSIX function mq_receive.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 15.2.5.
+ */
+ PACE_INLINE ssize_t pace_mq_receive (pace_mqd_t mqdes,
+ char * msg_ptr,
+ size_t msg_len,
+ unsigned int * nmsg_prio);
+
+ /**
+ PACE's implementation of the POSIX function mq_send.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 15.2.4.
+ */
+ PACE_INLINE int pace_mq_send (pace_mqd_t mqdes,
+ const char * mst_ptr,
+ size_t msg_len,
+ unsigned int psg_prio);
+
+ /**
+ PACE's implementation of the POSIX function mq_setattr.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 15.2.7.
+ */
+ PACE_INLINE int pace_mq_setattr (pace_mqd_t mqdes,
+ const pace_mq_attr * mqstat,
+ pace_mq_attr * omqstat);
+
+ /**
+ PACE's implementation of the POSIX function mq_unlink.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 15.2.3.
+ */
+ PACE_INLINE int pace_mq_unlink (const char * name);
+
+#if defined (PACE_HAS_CPLUSPLUS)
+}
+#endif /* PACE_HAS_CPLUSPLUS */
+
+#if defined (PACE_HAS_INLINE)
+# if (PACE_HAS_POSIX)
+# include "pace/posix/mqueue.inl"
+# elif (PACE_VXWORKS)
+# include "pace/vxworks/mqueue.inl"
+# elif (PACE_WIN32)
+# include "pace/win32/mqueue.inl"
+# endif
+#endif /* PACE_HAS_INLINE */
+
+#endif /* PACE_MQUEUE_H */
diff --git a/PACE/pace/posix/aio.h b/PACE/pace/posix/aio.h
index 249b9cdad13..75a11416cc7 100644
--- a/PACE/pace/posix/aio.h
+++ b/PACE/pace/posix/aio.h
@@ -13,8 +13,8 @@
*
* ============================================================================ */
-#ifndef PACE_AIO_H
-#define PACE_AIO_H
+#ifndef PACE_AIO_H_POSIX
+#define PACE_AIO_H_POSIX
#include <aio.h>
#include "pace/time.h"
@@ -38,73 +38,8 @@ extern "C" {
typedef struct aiocb pace_aiocb;
#endif /* PACE_AIOCB */
- /**
- PACE's implementation of the POSIX function aio_cancel.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), section 6.7.7.
- */
- PACE_INLINE int pace_aio_cancel (int fildes, pace_aiocb * aiocb);
-
- /**
- PACE's implementation of the POSIX function aio_error.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), section 6.7.5.
- */
- PACE_INLINE int pace_aio_error (const pace_aiocb * aiocbp);
-
- /**
- PACE's implementation of the POSIX function aio_fsync.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), section 6.7.9.
- */
- PACE_INLINE int pace_aio_fsync (int op, pace_aiocb * aiocbp);
-
- /**
- PACE's implementation of the POSIX function aio_read.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), section 6.7.2.
- */
- PACE_INLINE int pace_aio_read (pace_aiocb * aiocbp);
-
- /**
- PACE's implementation of the POSIX function aio_return.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), section 6.7.6.
- */
- PACE_INLINE int pace_aio_return (pace_aiocb * aiocbp);
-
- /**
- PACE's implementation of the POSIX function aio_suspend.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), section 6.7.8.
- */
- PACE_INLINE int pace_aio_suspend (const pace_aiocb * const list[],
- int nent,
- const pace_timespec * timeout);
-
- /**
- PACE's implementation of the POSIX function aio_write.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), section 6.7.3.
- */
- PACE_INLINE int pace_aio_write (pace_aiocb * aiocbp);
-
- /**
- PACE's implementation of the POSIX function lio_listio.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), section 6.7.4.
- */
- PACE_INLINE int pace_lio_listio (int mode,
- pace_aiocb * const list[],
- int nent,
- pace_sigevent * sig);
-
#if defined (PACE_HAS_CPLUSPLUS)
}
#endif /* PACE_HAS_CPLUSPLUS */
-#if defined (PACE_HAS_INLINE)
-# include "pace/posix/aio.inl"
-#endif /* PACE_HAS_INLINE */
-
-#endif /* PACE_AIO_H */
+#endif /* PACE_AIO_H_POSIX */
diff --git a/PACE/pace/posix/assert.h b/PACE/pace/posix/assert.h
index 90ddc750515..90f2a65491d 100644
--- a/PACE/pace/posix/assert.h
+++ b/PACE/pace/posix/assert.h
@@ -13,26 +13,15 @@
*
* =========================================================================== */
-#ifndef PACE_ASSERT_H
-#define PACE_ASSERT_H
+#ifndef PACE_ASSERT_H_POSIX
+#define PACE_ASSERT_H_POSIX
#if defined (PACE_HAS_CPLUSPLUS)
extern "C" {
#endif /* PACE_HAS_CPLUSPLUS */
- /**
- PACE's implementation of the POSIX macro assert.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
- PACE_INLINE void pace_assert (int expression);
-
# if defined (PACE_HAS_CPLUSPLUS)
}
# endif /* PACE_HAS_CPLUSPLUS */
-#if defined (PACE_HAS_INLINE)
-# include "pace/posix/assert.inl"
-#endif /* PACE_HAS_INLINE */
-
-#endif /* PACE_ASSERT_H */
+#endif /* PACE_ASSERT_H_POSIX */
diff --git a/PACE/pace/posix/ctype.h b/PACE/pace/posix/ctype.h
index 3618c5c71f2..88c47c8e8cb 100644
--- a/PACE/pace/posix/ctype.h
+++ b/PACE/pace/posix/ctype.h
@@ -13,110 +13,15 @@
*
* ============================================================================ */
-#ifndef PACE_CTYPE_H
-#define PACE_CTYPE_H
+#ifndef PACE_CTYPE_H_POSIX
+#define PACE_CTYPE_H_POSIX
#if defined (PACE_HAS_CPLUSPLUS)
extern "C" {
#endif /* PACE_HAS_CPLUSPLUS */
- /**
- PACE's implementation of the POSIX function isalnum.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
- PACE_INLINE int pace_isalnum (int c);
-
- /**
- PACE's implementation of the POSIX function isalpha.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
- PACE_INLINE int pace_isalpha (int c);
-
- /**
- PACE's implementation of the POSIX function iscntrl.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
- PACE_INLINE int pace_iscntrl (int c);
-
- /**
- PACE's implementation of the POSIX function isdigit.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
- PACE_INLINE int pace_isdigit (int c);
-
- /**
- PACE's implementation of the POSIX function isgraph.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
- PACE_INLINE int pace_isgraph (int c);
-
- /**
- PACE's implementation of the POSIX function islower.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
- PACE_INLINE int pace_islower (int c);
-
- /**
- PACE's implementation of the POSIX function isprint.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
- PACE_INLINE int pace_isprint (int c);
-
- /**
- PACE's implementation of the POSIX function ispunct.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
- PACE_INLINE int pace_ispunct (int c);
-
- /**
- PACE's implementation of the POSIX function isspace.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
- PACE_INLINE int pace_isspace (int c);
-
- /**
- PACE's implementation of the POSIX function isupper.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
- PACE_INLINE int pace_isupper (int c);
-
- /**
- PACE's implementation of the POSIX function isxdigit.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
- PACE_INLINE int pace_isxdigit (int c);
-
- /**
- PACE's implementation of the POSIX function tolower.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
- PACE_INLINE int pace_tolower (int c);
-
- /**
- PACE's implementation of the POSIX function toupper.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
- PACE_INLINE int pace_toupper (int c);
-
#if defined (PACE_HAS_CPLUSPLUS)
}
#endif /* PACE_HAS_CPLUSPLUS */
-#if defined (PACE_HAS_INLINE)
-# include "pace/posix/ctype.inl"
-#endif /* PACE_HAS_INLINE */
-
-#endif /* PACE_CTYPE_H */
+#endif /* PACE_CTYPE_H_POSIX */
diff --git a/PACE/pace/posix/dirent.h b/PACE/pace/posix/dirent.h
index 29bb818d4c1..5662910233a 100644
--- a/PACE/pace/posix/dirent.h
+++ b/PACE/pace/posix/dirent.h
@@ -13,8 +13,8 @@
*
* ============================================================================ */
-#ifndef PACE_DIRENT_H
-#define PACE_DIRENT_H
+#ifndef PACE_DIRENT_H_POSIX
+#define PACE_DIRENT_H_POSIX
#include "pace/sys/types.h"
#include <dirent.h>
@@ -33,49 +33,8 @@ typedef DIR PACE_DIR;
typedef struct dirent pace_dirent;
#endif /* PACE_DIRENT */
- /**
- PACE's implementation of the POSIX function opendir.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 5.1.2.
- */
- PACE_INLINE PACE_DIR * pace_opendir (const char * dirname);
-
- /**
- PACE's implementation of the POSIX function readdir.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 5.1.2.
- */
- PACE_INLINE pace_dirent * pace_readdir (PACE_DIR * dirp);
-
- /**
- PACE's implementation of the POSIX function readdir_r.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 5.1.2.
- */
- PACE_INLINE int pace_readdir_r (PACE_DIR * dirp, pace_dirent * entry,
- pace_dirent ** result);
- /* Requires PACE_HAS_POSIX_PTHREAD_SEMANTICS. */
-
- /**
- PACE's implementation of the POSIX function rewinddir.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 5.1.2.
- */
- PACE_INLINE void pace_rewinddir (PACE_DIR * dirp);
-
- /**
- PACE's implementation of the POSIX function closedir.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 5.1.2.
- */
- PACE_INLINE int pace_closedir (PACE_DIR * dirp);
-
#if defined (PACE_HAS_CPLUSPLUS)
}
#endif /* PACE_HAS_CPLUSPLUS */
-#if defined (PACE_HAS_INLINE)
-# include "pace/posix/dirent.inl"
-#endif /* PACE_HAS_INLINE */
-
-#endif /* PACE_DIRENT_H */
+#endif /* PACE_DIRENT_H_POSIX */
diff --git a/PACE/pace/posix/fcntl.h b/PACE/pace/posix/fcntl.h
index df8a2e85e73..fc57bc098e3 100644
--- a/PACE/pace/posix/fcntl.h
+++ b/PACE/pace/posix/fcntl.h
@@ -13,8 +13,8 @@
*
* ============================================================================ */
-#ifndef PACE_FCNTL_H
-#define PACE_FCNTL_H
+#ifndef PACE_FCNTL_H_POSIX
+#define PACE_FCNTL_H_POSIX
#include "pace/sys/types.h"
#include "pace/unistd.h"
@@ -56,45 +56,8 @@ extern "C" {
typedef struct flock pace_flock;
#endif /* PACE_FLOCK */
- /**
- PACE's implementation of the POSIX function creat.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 5.3.2.
- */
- PACE_INLINE int pace_creat (const char * path, pace_mode_t mode);
-
- /**
- PACE's implementation of the POSIX function fcntl.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 6.5.2.
- */
- # define pace_fcntl(X) fcntl X
- /* int fcntl (int fildes, int cmd, *//* arg *//* ... );
- *
- * PLEASE PAY SPECIAL ATTENTION HERE!
- * This is a macro and requires an additional set of parenthesis
- * surrounding the arguments.
- */
-
- /**
- PACE's implementation of the POSIX function open.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 5.3.1.
- */
- # define pace_open(X) open X
- /* int open (const char *path, int oflag, *//* pace_mode_t mode *//* ... );
- *
- * PLEASE PAY SPECIAL ATTENTION HERE!
- * This is a macro and requires an additional set of parenthesis
- * surrounding the arguments.
- */
-
#if defined (PACE_HAS_CPLUSPLUS)
}
#endif /* PACE_HAS_CPLUSPLUS */
-#if defined (PACE_HAS_INLINE)
-# include "pace/posix/fcntl.inl"
-#endif /* PACE_HAS_INLINE */
-
-#endif /* PACE_FCNTL_H */
+#endif /* PACE_FCNTL_H_POSIX */
diff --git a/PACE/pace/posix/grp.h b/PACE/pace/posix/grp.h
index 49ce8dca3a2..38be525562f 100644
--- a/PACE/pace/posix/grp.h
+++ b/PACE/pace/posix/grp.h
@@ -13,8 +13,8 @@
*
* ============================================================================ */
-#ifndef PACE_GRP_H
-#define PACE_GRP_H
+#ifndef PACE_GRP_H_POSIX
+#define PACE_GRP_H_POSIX
#include <grp.h>
@@ -27,50 +27,8 @@ extern "C" {
typedef struct group pace_group;
#endif /* PACE_GROUP */
- /**
- PACE's implementation of the POSIX function getgrgid.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 9.2.1.
- */
- PACE_INLINE pace_group * pace_getgrgid (pace_gid_t gid);
-
- /**
- PACE's implementation of the POSIX function getgrgid_r.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 9.2.1.
- */
- PACE_INLINE int pace_getgrgid_r (pace_gid_t gid,
- pace_group * grp,
- char * buffer,
- size_t bufsize,
- pace_group ** result);
- /* Requires PACE_HAS_POSIX_PTHREAD_SEMANTICS. */
-
- /**
- PACE's implementation of the POSIX function getgrnam.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 9.2.1.
- */
- PACE_INLINE pace_group * pace_getgrnam (const char * name);
-
- /**
- PACE's implementation of the POSIX function getgrnam_r.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 9.2.1.
- */
- PACE_INLINE int pace_getgrnam_r (const char * name,
- pace_group * grp,
- char * buffer,
- size_t bufsize,
- pace_group ** result);
- /* Requires PACE_HAS_POSIX_PTHREAD_SEMANTICS. */
-
# if defined (PACE_HAS_CPLUSPLUS)
}
# endif /* PACE_HAS_CPLUSPLUS */
-# if defined (PACE_HAS_INLINE)
-# include "pace/posix/grp.inl"
-# endif /* PACE_HAS_INLINE */
-
-#endif /* PACE_GRP_H */
+#endif /* PACE_GRP_H_POSIX */
diff --git a/PACE/pace/posix/locale.h b/PACE/pace/posix/locale.h
index c75e2062b29..704d23d3c96 100644
--- a/PACE/pace/posix/locale.h
+++ b/PACE/pace/posix/locale.h
@@ -13,8 +13,8 @@
*
* =========================================================================== */
-#ifndef PACE_LOCALE_H
-#define PACE_LOCALE_H
+#ifndef PACE_LOCALE_H_POSIX
+#define PACE_LOCALE_H_POSIX
#if defined (PACE_HAS_CPLUSPLUS)
extern "C" {
@@ -33,25 +33,8 @@ extern "C" {
typedef struct lconv pace_lconv;
#endif /* PACE_LCONV */
- /**
- Fills in pace_lconv with values consistent with the
- current locality.
- */
- PACE_INLINE pace_lconv* pace_localeconv (void);
-
- /**
- PACE's implementation of the POSIX function setlocale.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.2.
- */
- PACE_INLINE char * pace_setlocale (int category, const char * locale);
-
#if defined (PACE_HAS_CPLUSPLUS)
}
#endif /* PACE_HAS_CPLUSPLUS */
-#if defined (PACE_HAS_INLINE)
-# include "pace/posix/locale.inl"
-#endif /* PACE_HAS_INLINE */
-
-#endif /* PACE_LOCALE_H */
+#endif /* PACE_LOCALE_H_POSIX */
diff --git a/PACE/pace/posix/math.h b/PACE/pace/posix/math.h
index 710179c0820..34e68241bc7 100644
--- a/PACE/pace/posix/math.h
+++ b/PACE/pace/posix/math.h
@@ -13,8 +13,8 @@
*
* ============================================================================ */
-#ifndef PACE_MATH_H
-#define PACE_MATH_H
+#ifndef PACE_MATH_H_POSIX
+#define PACE_MATH_H_POSIX
#if defined (PACE_HAS_CPLUSPLUS)
extern "C" {
@@ -22,166 +22,8 @@ extern "C" {
#define PACE_HUGE_VAL HUGE_VAL
- /**
- PACE's implementation of the POSIX function acos.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
- PACE_INLINE double pace_acos (double x);
-
- /**
- PACE's implementation of the POSIX function asin.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
- PACE_INLINE double pace_asin (double x);
-
- /**
- PACE's implementation of the POSIX function atan.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
- PACE_INLINE double pace_atan (double x);
-
- /**
- PACE's implementation of the POSIX function atan2.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
- PACE_INLINE double pace_atan2 (double x, double y);
-
- /**
- PACE's implementation of the POSIX function cos.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
- PACE_INLINE double pace_cos (double x);
-
- /**
- PACE's implementation of the POSIX function sin.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
- PACE_INLINE double pace_sin (double x);
-
- /**
- PACE's implementation of the POSIX function tan.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
- PACE_INLINE double pace_tan (double x);
-
- /**
- PACE's implementation of the POSIX function cosh.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
- PACE_INLINE double pace_cosh (double x);
-
- /**
- PACE's implementation of the POSIX function sinh.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
- PACE_INLINE double pace_sinh (double x);
-
- /**
- PACE's implementation of the POSIX function tanh.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
- PACE_INLINE double pace_tanh (double x);
-
- /**
- PACE's implementation of the POSIX function exp.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
- PACE_INLINE double pace_exp (double x);
-
- /**
- PACE's implementation of the POSIX function frexp.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
- PACE_INLINE double pace_frexp (double x, int * exp);
-
- /**
- PACE's implementation of the POSIX function ldexp.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
- PACE_INLINE double pace_ldexp (double x, int exp);
-
- /**
- PACE's implementation of the POSIX function log.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
- PACE_INLINE double pace_log (double x);
-
- /**
- PACE's implementation of the POSIX function log10.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
- PACE_INLINE double pace_log10 (double x);
-
- /**
- PACE's implementation of the POSIX function modf.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
- PACE_INLINE double pace_modf (double x, double * iptr);
-
- /**
- PACE's implementation of the POSIX function pow.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
- PACE_INLINE double pace_pow (double x, double y);
-
- /**
- PACE's implementation of the POSIX function sqrt.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
- PACE_INLINE double pace_sqrt (double x);
-
- /**
- PACE's implementation of the POSIX function ceil.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
- PACE_INLINE double pace_ceil (double x);
-
- /**
- PACE's implementation of the POSIX function fabs.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
- PACE_INLINE double pace_fabs (double x);
-
- /**
- PACE's implementation of the POSIX function floor.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
- PACE_INLINE double pace_floor (double x);
-
- /**
- PACE's implementation of the POSIX function fmod.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.1.
- */
- PACE_INLINE double pace_fmod (double x, double y);
-
#if defined (PACE_HAS_CPLUSPLUS)
}
#endif /* PACE_HAS_CPLUSPLUS */
-#if defined (PACE_HAS_INLINE)
-# include "pace/posix/math.inl"
-#endif /* PACE_HAS_INLINE */
-
-#endif /* PACE_MATH_H */
+#endif /* PACE_MATH_H_POSIX */
diff --git a/PACE/pace/posix/mqueue.h b/PACE/pace/posix/mqueue.h
index ec76af8169d..ec3299faf8c 100644
--- a/PACE/pace/posix/mqueue.h
+++ b/PACE/pace/posix/mqueue.h
@@ -13,8 +13,8 @@
*
* ============================================================================ */
-#ifndef PACE_MQUEUE_H
-#define PACE_MQUEUE_H
+#ifndef PACE_MQUEUE_H_POSIX
+#define PACE_MQUEUE_H_POSIX
#include <mqueue.h>
#include "pace/signal.h"
@@ -33,84 +33,8 @@ typedef mqd_t pace_mqd_t;
typedef struct mq_attr pace_mq_attr;
#endif /* PACE_MQ_ATTR */
- /**
- PACE's implementation of the POSIX function mq_close.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 15.2.2.
- */
- PACE_INLINE int pace_mq_close (pace_mqd_t mqdes);
-
- /**
- PACE's implementation of the POSIX function mq_getattr.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 15.2.8.
- */
- PACE_INLINE int pace_mq_getattr (pace_mqd_t mqdes,
- pace_mq_attr * mqstat);
-
- /**
- PACE's implementation of the POSIX function mq_notify.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 15.2.6.
- */
- PACE_INLINE int pace_mq_notify (pace_mqd_t mqdes,
- const pace_sigevent * notification);
-
- /**
- PACE's implementation of the POSIX function mq_open.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 15.2.1.
- */
- # define pace_mq_open(X) mq_open X
- /* mqd_t mq_open (const char *name, int oflag, (*//* args *//*) ... );
- *
- * PLEASE PAY SPECIAL ATTENTION HERE!
- * This is a macro and requires an additional set of parenthesis
- * surrounding the arguments.
- */
-
- /**
- PACE's implementation of the POSIX function mq_receive.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 15.2.5.
- */
- PACE_INLINE ssize_t pace_mq_receive (pace_mqd_t mqdes,
- char * msg_ptr,
- size_t msg_len,
- unsigned int * nmsg_prio);
-
- /**
- PACE's implementation of the POSIX function mq_send.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 15.2.4.
- */
- PACE_INLINE int pace_mq_send (pace_mqd_t mqdes,
- const char * mst_ptr,
- size_t msg_len,
- unsigned int psg_prio);
-
- /**
- PACE's implementation of the POSIX function mq_setattr.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 15.2.7.
- */
- PACE_INLINE int pace_mq_setattr (pace_mqd_t mqdes,
- const pace_mq_attr * mqstat,
- pace_mq_attr * omqstat);
-
- /**
- PACE's implementation of the POSIX function mq_unlink.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 15.2.3.
- */
- PACE_INLINE int pace_mq_unlink (const char * name);
-
#if defined (PACE_HAS_CPLUSPLUS)
}
#endif /* PACE_HAS_CPLUSPLUS */
-#if defined (PACE_HAS_INLINE)
-# include "pace/posix/mqueue.inl"
-#endif /* PACE_HAS_INLINE */
-
-#endif /* PACE_MQUEUE_H */
+#endif /* PACE_MQUEUE_H_POSIX */
diff --git a/PACE/pace/posix/pthread.h b/PACE/pace/posix/pthread.h
index 8f6979a10ac..f031dc4ab8c 100644
--- a/PACE/pace/posix/pthread.h
+++ b/PACE/pace/posix/pthread.h
@@ -13,14 +13,13 @@
*
* ============================================================================ */
-#ifndef PACE_PTHREAD_H
-#define PACE_PTHREAD_H
+#ifndef PACE_PTHREAD_H_POSIX
+#define PACE_PTHREAD_H_POSIX
#include <pthread.h>
#include "pace/sys/types.h"
#include "pace/signal.h"
-
#if defined (PACE_HAS_CPLUSPLUS)
extern "C" {
#endif /* PACE_HAS_CPLUSPLUS */
@@ -50,507 +49,8 @@ extern "C" {
typedef struct sched_param pace_sched_param;
#endif /* PACE_SCHED_PARAM */
- /**
- PACE's implementation of the POSIX function pthread_atfork.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 3.1.3.
- */
- PACE_INLINE int pace_pthread_atfork (void (*prepare) (),
- void (*parent) (),
- void (*child) ());
-
- /**
- PACE's implementation of the POSIX function pthread_attr_destroy.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 16.2.1.
- */
- PACE_INLINE int pace_pthread_attr_destroy (pace_pthread_attr_t * attr);
-
- /**
- PACE's implementation of the POSIX function pthread_attr_getdetachstate.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 16.2.1.
- */
- PACE_INLINE int pace_pthread_attr_getdetachstate (const pace_pthread_attr_t * attr,
- int * detachstate);
-
- /**
- PACE's implementation of the POSIX function pthread_attr_getinheritsched.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 13.5.1.
- */
- PACE_INLINE int pace_pthread_attr_getinheritsched (const pace_pthread_attr_t * attr,
- int * inheritsched);
-
- /**
- PACE's implementation of the POSIX function pthread_attr_getschedparam.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 13.5.1.
- */
- PACE_INLINE int pace_pthread_attr_getschedparam (const pace_pthread_attr_t * attr,
- pace_sched_param * param);
-
- /**
- PACE's implementation of the POSIX function pthread_attr_getschedpolicy.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 13.5.1.
- */
- PACE_INLINE int pace_pthread_attr_getschedpolicy (const pace_pthread_attr_t * attr,
- int * policy);
-
- /**
- PACE's implementation of the POSIX function pthread_attr_getscope.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 13.5.1.
- */
- PACE_INLINE int pace_pthread_attr_getscope (const pace_pthread_attr_t * attr,
- int * contentionscope);
-
- /**
- PACE's implementation of the POSIX function pthread_attr_getstackaddr.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 16.2.1.
- */
- PACE_INLINE int pace_pthread_attr_getstackaddr (const pace_pthread_attr_t * attr,
- void ** stackaddr);
-
- /**
- PACE's implementation of the POSIX function pthread_attr_getstacksize.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 16.2.1.
- */
- PACE_INLINE int pace_pthread_attr_getstacksize (const pace_pthread_attr_t * attr,
- size_t * stacksize);
-
- /**
- PACE's implementation of the POSIX function pthread_attr_init.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 16.2.1.
- */
- PACE_INLINE int pace_pthread_attr_init (pace_pthread_attr_t * attr);
-
- /**
- PACE's implementation of the POSIX function pthread_attr_setdetachstate.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 16.2.1.
- */
- PACE_INLINE int pace_pthread_attr_setdetachstate (pace_pthread_attr_t * attr,
- int detachstate);
-
- /**
- PACE's implementation of the POSIX function pthread_attr_setinheritsched.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 13.5.1.
- */
- PACE_INLINE int pace_pthread_attr_setinheritsched (pace_pthread_attr_t * attr,
- int inheritsched);
-
- /**
- PACE's implementation of the POSIX function pthread_attr_setschedparam.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 13.5.1.
- */
- PACE_INLINE int pace_pthread_attr_setschedparam (pace_pthread_attr_t * attr,
- const
- pace_sched_param * param);
-
- /**
- PACE's implementation of the POSIX function pthread_attr_setschedpolicy.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 13.5.1.
- */
- PACE_INLINE int pace_pthread_attr_setschedpolicy (pace_pthread_attr_t * attr,
- int policy);
-
- /**
- PACE's implementation of the POSIX function pthread_attr_setscope.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 13.5.1.
- */
- PACE_INLINE int pace_pthread_attr_setscope (pace_pthread_attr_t * attr,
- int contentionscope);
-
- /**
- PACE's implementation of the POSIX function pthread_attr_setstackaddr.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 16.2.1.
- */
- PACE_INLINE int pace_pthread_attr_setstackaddr (pace_pthread_attr_t * attr,
- void * stackaddr);
-
- /**
- PACE's implementation of the POSIX function pthread_attr_setstacksize.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 16.2.1.
- */
- PACE_INLINE int pace_pthread_attr_setstacksize (pace_pthread_attr_t * attr,
- size_t stacksize);
-
- /**
- PACE's implementation of the POSIX function pthread_cancel.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 18.2.1.
- */
- PACE_INLINE int pace_pthread_cancel (pace_pthread_t thread);
-
- /**
- PACE's implementation of the POSIX function pthread_cleanup_push.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 18.2.3.
- */
-# define pace_pthread_cleanup_push(routine, arg) \
- pthread_cleanup_push (routine, arg)
-
- /**
- PACE's implementation of the POSIX function pthread_cleanup_pop.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 18.2.3.
- */
-# define pace_pthread_cleanup_pop(execute) \
- pthread_cleanup_pop (execute)
-
-# define PACE_PTHREAD_COND_INITIALIZER PTHREAD_COND_INITIALIZER
-
- /**
- PACE's implementation of the POSIX function pthread_cond_broadcast.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 11.4.3.
- */
- PACE_INLINE int pace_pthread_cond_broadcast (pace_pthread_cond_t * cond);
-
- /**
- PACE's implementation of the POSIX function pthread_cond_destroy.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 11.4.2.
- */
- PACE_INLINE int pace_pthread_cond_destroy (pace_pthread_cond_t * cond);
-
- /**
- PACE's implementation of the POSIX function pthread_cond_init.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 11.4.2.
- */
- PACE_INLINE int pace_pthread_cond_init (pace_pthread_cond_t * cond,
- const pace_pthread_condattr_t * attr);
-
- /**
- PACE's implementation of the POSIX function pthread_cond_signal.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 11.4.3.
- */
- PACE_INLINE int pace_pthread_cond_signal (pace_pthread_cond_t * cond);
-
- /**
- PACE's implementation of the POSIX function pthread_cond_timedwait.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 11.4.4.
- */
- PACE_INLINE int pace_pthread_cond_timedwait (pthread_cond_t * cond,
- pace_pthread_mutex_t * mutex,
- const pace_timespec * abstime);
-
- /**
- PACE's implementation of the POSIX function pthread_cond_wait.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 11.4.4.
- */
- PACE_INLINE int pace_pthread_cond_wait (pace_pthread_cond_t * cond,
- pace_pthread_mutex_t * mutex);
-
- /**
- PACE's implementation of the POSIX function pthread_condattr_destroy.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 11.4.1.
- */
- PACE_INLINE int pace_pthread_condattr_destroy (pace_pthread_condattr_t * attr);
-
- /**
- PACE's implementation of the POSIX function pthread_condattr_getpshared.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 11.4.1.
- */
- PACE_INLINE int pace_pthread_condattr_getpshared (const pace_pthread_condattr_t * attr,
- int * pshared);
-
- /**
- PACE's implementation of the POSIX function pthread_condattr_init.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 11.4.1.
- */
- PACE_INLINE int pace_pthread_condattr_init (pace_pthread_condattr_t * attr);
-
- /**
- PACE's implementation of the POSIX function pthread_condattr_setpshared.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 11.4.1.
- */
- PACE_INLINE int pace_pthread_condattr_setpshared (pace_pthread_condattr_t * attr,
- int pshared);
-
- /**
- PACE's implementation of the POSIX function pthread_create.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 16.2.2.
- */
- PACE_INLINE int pace_pthread_create (pace_pthread_t * thread,
- const pace_pthread_attr_t * attr,
- void * (*start_routine) (void*),
- void * arg);
-
- /**
- PACE's implementation of the POSIX function pthread_detach.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 16.2.4.
- */
- PACE_INLINE int pace_pthread_detach (pace_pthread_t thread);
-
- /**
- PACE's implementation of the POSIX function pthread_equal.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 16.2.7.
- */
- PACE_INLINE int pace_pthread_equal (pace_pthread_t t1, pthread_t t2);
-
- /**
- PACE's implementation of the POSIX function pthread_exit.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 16.2.5.
- */
- PACE_INLINE void pace_pthread_exit (void * value_ptr);
-
- /**
- PACE's implementation of the POSIX function pthread_getschedparam.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 13.2.5.
- */
- PACE_INLINE int pace_pthread_getschedparam (pace_pthread_t thread,
- int * policy,
- pace_sched_param * param);
-
- /**
- PACE's implementation of the POSIX function pthread_getspecific.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 17.1.2.
- */
- PACE_INLINE void * pace_pthread_getspecific (pace_pthread_key_t key);
-
- /**
- PACE's implementation of the POSIX function pthread_join.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 16.2.3.
- */
- PACE_INLINE int pace_pthread_join (pace_pthread_t thread, void ** value_ptr);
-
- /**
- PACE's implementation of the POSIX function pthread_key_create.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 17.1.1.
- */
- PACE_INLINE int pace_pthread_key_create (pace_pthread_key_t * key,
- void (*destructor)(void*));
-
- /**
- PACE's implementation of the POSIX function pthread_key_delete.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 17.1.3.
- */
- PACE_INLINE int pace_pthread_key_delete (pace_pthread_key_t key);
-
- /**
- PACE's implementation of the POSIX function pthread_kill.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 3.3.10.
- */
- PACE_INLINE int pace_pthread_kill (pace_pthread_t thread, int sig);
-
- # define PACE_PTHREAD_MUTEX_INITIALIZER PTHREAD_MUTEX_INITIALIZER
-
- /**
- PACE's implementation of the POSIX function pthread_mutex_destroy.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 11.3.2.
- */
- PACE_INLINE int pace_pthread_mutex_destroy (pace_pthread_mutex_t * mutex);
-
- /**
- PACE's implementation of the POSIX function pthread_mutex_getprioceiling.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 13.6.2.
- */
- PACE_INLINE int pace_pthread_mutex_getprioceiling (pace_pthread_mutex_t * mutex,
- int * prioceiling);
-
- /**
- PACE's implementation of the POSIX function pthread_mutex_init.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 11.3.2.
- */
- PACE_INLINE int pace_pthread_mutex_init (pace_pthread_mutex_t * mutex,
- const pace_pthread_mutexattr_t * attr);
-
- /**
- PACE's implementation of the POSIX function pthread_mutex_lock.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 11.3.3.
- */
- PACE_INLINE int pace_pthread_mutex_lock (pace_pthread_mutex_t * mutex);
-
- /**
- PACE's implementation of the POSIX function pthread_mutex_setprioceiling.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 13.6.2.
- */
- PACE_INLINE int pace_pthread_mutex_setprioceiling (pace_pthread_mutex_t * mutex,
- int prioceiling,
- int * old_ceiling);
-
- /**
- PACE's implementation of the POSIX function pthread_mutex_trylock.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 11.3.3.
- */
- PACE_INLINE int pace_pthread_mutex_trylock (pthread_mutex_t * mutex);
-
- /**
- PACE's implementation of the POSIX function pthread_mutex_unlock.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 11.3.3.
- */
- PACE_INLINE int pace_pthread_mutex_unlock (pace_pthread_mutex_t * mutex);
-
- /**
- PACE's implementation of the POSIX function pthread_mutexattr_destroy.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 11.3.1.
- */
- PACE_INLINE int pace_pthread_mutexattr_destroy (pace_pthread_mutexattr_t * sttr);
-
- /**
- PACE's implementation of the POSIX function
- pthread_mutexattr_getprioceiling.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 13.6.1.
- */
- PACE_INLINE int pace_pthread_mutexattr_getprioceiling (pace_pthread_mutexattr_t * attr,
- int * prioceiling);
-
- /**
- PACE's implementation of the POSIX function pthread_mutexattr_getprotocol.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 13.6.1.
- */
- PACE_INLINE int pace_pthread_mutexattr_getprotocol
- (const pace_pthread_mutexattr_t * attr, int * protocol);
-
- /**
- PACE's implementation of the POSIX function
- pthread_mutexattr_setprioceiling.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 13.6.1.
- */
- PACE_INLINE int pace_pthread_mutexattr_setprioceiling (pace_pthread_mutexattr_t * attr,
- int prioceiling);
-
- /**
- PACE's implementation of the POSIX function pthread_mutexattr_setprotocol.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 13.6.1.
- */
- PACE_INLINE int pace_pthread_mutexattr_setprotocol (pace_pthread_mutexattr_t * attr,
- int protocol);
- /**
- PACE's implementation of the POSIX function pthread_mutexattr_getpshared.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 11.3.1.
- */
- PACE_INLINE int
- pace_pthread_mutexattr_getpshared (const pace_pthread_mutexattr_t * attr,
- int * pshared);
-
- /**
- PACE's implementation of the POSIX function pthread_mutexattr_init.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 11.3.1.
- */
- PACE_INLINE int pace_pthread_mutexattr_init (pace_pthread_mutexattr_t * attr);
-
- /**
- PACE's implementation of the POSIX function pthread_mutexattr_setpshared.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 11.3.1.
- */
- PACE_INLINE int pace_pthread_mutexattr_setpshared (pace_pthread_mutexattr_t * attr,
- int pshared);
-
- /**
- PACE's implementation of the POSIX function pthread_once.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 16.2.8.
- */
- PACE_INLINE int pace_pthread_once (pace_pthread_once_t * once_control,
- void (*void_routine) ());
-
-# define PACE_PTHREAD_ONCE_INIT PTHREAD_ONCE_INIT
-
- /**
- PACE's implementation of the POSIX function pthread_self.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 16.2.6.
- */
- PACE_INLINE pace_pthread_t pace_pthread_self ();
-
- /**
- PACE's implementation of the POSIX function pthread_setcancelstate.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 18.2.2.
- */
- PACE_INLINE int pace_pthread_setcancelstate (int state, int * oldstate);
-
- /**
- PACE's implementation of the POSIX function pthread_setcanceltype.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 18.2.2.
- */
- PACE_INLINE int pace_pthread_setcanceltype (int type, int * oldtype);
-
- /**
- PACE's implementation of the POSIX function pthread_setschedparam.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 13.5.2.
- */
- PACE_INLINE int pace_pthread_setschedparam (pace_pthread_t thread,
- int policy,
- const pace_sched_param * param);
-
- /**
- PACE's implementation of the POSIX function pthread_setspecific.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 17.1.2.
- */
- PACE_INLINE int pace_pthread_setspecific (pace_pthread_key_t key, const void * value);
-
- /**
- PACE's implementation of the POSIX function pthread_sigmask.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 3.3.5.
- */
- PACE_INLINE int pace_pthread_sigmask (int how,
- const sigset_t * set,
- sigset_t * oset);
-
- /**
- PACE's implementation of the POSIX function pthread_testcancel.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 18.2.2.
- */
- PACE_INLINE void pace_pthread_testcancel ();
-
#if defined (PACE_HAS_CPLUSPLUS)
}
#endif /* PACE_HAS_CPLUSPLUS */
-#if defined (PACE_HAS_INLINE)
-# include "pace/posix/pthread.inl"
-#endif /* PACE_HAS_INLINE */
-
-#endif /* PACE_PTHREAD_H */
+#endif /* PACE_PTHREAD_H_POSIX */
diff --git a/PACE/pace/posix/pwd.h b/PACE/pace/posix/pwd.h
index b805a54d8ac..70398e0871c 100644
--- a/PACE/pace/posix/pwd.h
+++ b/PACE/pace/posix/pwd.h
@@ -13,8 +13,8 @@
*
* ============================================================================ */
-#ifndef PACE_PWD_H
-#define PACE_PWD_H
+#ifndef PACE_PWD_H_POSIX
+#define PACE_PWD_H_POSIX
#include <pwd.h>
#include "pace/sys/types.h"
@@ -28,50 +28,8 @@ extern "C" {
typedef struct passwd pace_passwd;
#endif /* PACE_PASSWD */
- /**
- PACE's implementation of the POSIX function getpwuid.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 9.2.2.
- */
- PACE_INLINE pace_passwd * pace_getpwuid (pace_uid_t uid);
-
- /**
- PACE's implementation of the POSIX function getpwuid_r.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 9.2.2.
- */
- PACE_INLINE int pace_getpwuid_r (pace_uid_t uid,
- pace_passwd * pwd,
- char * buffer,
- pace_size_t bufsize,
- pace_passwd ** result);
- /* Requires PACE_HAS_POSIX_PTHREAD_SEMANTICS. */
-
- /**
- PACE's implementation of the POSIX function getpwnam.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 9.2.2.
- */
- PACE_INLINE pace_passwd * pace_getpwnam (const char * name);
-
- /**
- PACE's implementation of the POSIX function getpwnam_r.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 9.2.2.
- */
- PACE_INLINE int pace_getpwnam_r (const char * name,
- pace_passwd * pwd,
- char * buffer,
- pace_size_t bufsize,
- pace_passwd ** result);
- /* Requires PACE_HAS_POSIX_PTHREAD_SEMANTICS. */
-
#if defined (PACE_HAS_CPLUSPLUS)
}
#endif /* PACE_HAS_CPLUSPLUS */
-#if defined (PACE_HAS_INLINE)
-# include "pace/posix/pwd.inl"
-#endif /* PACE_HAS_INLINE */
-
-#endif /* PACE_PWD_H */
+#endif /* PACE_PWD_H_POSIX */
diff --git a/PACE/pace/posix/sched.h b/PACE/pace/posix/sched.h
index 58432ebb3b5..a3405d2bbd1 100644
--- a/PACE/pace/posix/sched.h
+++ b/PACE/pace/posix/sched.h
@@ -13,8 +13,8 @@
*
* ============================================================================ */
-#ifndef PACE_SCHED_H
-#define PACE_SCHED_H
+#ifndef PACE_SCHED_H_POSIX
+#define PACE_SCHED_H_POSIX
#include <sched.h>
#include "pace/time.h"
@@ -30,73 +30,9 @@ extern "C" {
#define PACE_SCHED_PARAM
typedef struct sched_param pace_sched_param;
#endif /* PACE_SCHED_PARAM */
- /**
- PACE's implementation of the POSIX function sched_get_priority_max.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 13.3.6.
- */
- PACE_INLINE int pace_sched_get_priority_max (int policy);
-
- /**
- PACE's implementation of the POSIX function sched_get_priority_min.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 13.3.6.
- */
- PACE_INLINE int pace_sched_get_priority_min (int policy);
-
- /**
- PACE's implementation of the POSIX function sched_getparam.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 13.3.2.
- */
- PACE_INLINE int pace_sched_getparam (pace_pid_t pid,
- pace_sched_param * param);
-
- /**
- PACE's implementation of the POSIX function sched_rr_get_interval.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 13.3.6.
- */
- PACE_INLINE int pace_sched_rr_get_interval (pace_pid_t pid,
- pace_timespec * interval);
-
- /**
- PACE's implementation of the POSIX function sched_setparam.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 13.3.1.
- */
- PACE_INLINE int pace_sched_setparam (pace_pid_t pid,
- const pace_sched_param * param);
-
- /**
- PACE's implementation of the POSIX function sched_getscheduler.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 13.3.4.
- */
- PACE_INLINE int pace_sched_getscheduler (pace_pid_t pid);
-
- /**
- PACE's implementation of the POSIX function sched_setscheduler.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 13.3.3.
- */
- PACE_INLINE int pace_sched_setscheduler (pace_pid_t pid,
- int policy,
- const pace_sched_param * param);
-
- /**
- PACE's implementation of the POSIX function sched_yield.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 13.3.5.
- */
- PACE_INLINE int pace_sched_yield ();
#if defined (PACE_HAS_CPLUSPLUS)
}
#endif /* PACE_HAS_CPLUSPLUS */
-#if defined (PACE_HAS_INLINE)
-# include "pace/posix/sched.inl"
-#endif /* PACE_HAS_INLINE */
-
-#endif /* PACE_SCHED_H */
+#endif /* PACE_SCHED_H_POSIX */
diff --git a/PACE/pace/posix/semaphore.h b/PACE/pace/posix/semaphore.h
index 26f33f81e24..4cdf0d3dd04 100644
--- a/PACE/pace/posix/semaphore.h
+++ b/PACE/pace/posix/semaphore.h
@@ -13,8 +13,8 @@
*
* ============================================================================ */
-#ifndef PACE_SEMAPHORE_H
-#define PACE_SEMAPHORE_H
+#ifndef PACE_SEMAPHORE_H_POSIX
+#define PACE_SEMAPHORE_H_POSIX
#include <semaphore.h>
@@ -24,81 +24,8 @@ extern "C" {
typedef sem_t pace_sem_t;
- /**
- PACE's implementation of the POSIX function sem_close.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 11.2.4.
- */
- PACE_INLINE int pace_sem_close (pace_sem_t * sem);
-
- /**
- PACE's implementation of the POSIX function sem_destroy.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 11.2.2.
- */
- PACE_INLINE int pace_sem_destroy (pace_sem_t * sem);
-
- /**
- PACE's implementation of the POSIX function sem_getvalue.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 11.2.8.
- */
- PACE_INLINE int pace_sem_getvalue (pace_sem_t * sem, int * sval);
-
- /**
- PACE's implementation of the POSIX function sem_init.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 11.2.1.
- */
- PACE_INLINE int pace_sem_init (pace_sem_t * sem, int pshared, unsigned int value);
-
- /**
- PACE's implementation of the POSIX function sem_open.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 11.2.3.
- */
- # define pace_sem_open(X) sem_open X
- /* int fprintf (FILE *stream, const char *format, (*//* args *//*) ... );
- *
- * PLEASE PAY SPECIAL ATTENTION HERE!
- * This is a macro and requires an additional set of parenthesis
- * surrounding the arguments.
- */
-
- /**
- PACE's implementation of the POSIX function sem_post.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 11.2.7.
- */
- PACE_INLINE int pace_sem_post (pace_sem_t * sem);
-
- /**
- PACE's implementation of the POSIX function sem_trywait.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 11.2.6.
- */
- PACE_INLINE int pace_sem_trywait (pace_sem_t * sem);
-
- /**
- PACE's implementation of the POSIX function sem_unlink.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 11.2.5.
- */
- PACE_INLINE int pace_sem_unlink (const char * name);
-
- /**
- PACE's implementation of the POSIX function sem_wait.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 11.2.6.
- */
- PACE_INLINE int pace_sem_wait (pace_sem_t * sem);
-
#if defined (PACE_HAS_CPLUSPLUS)
}
#endif /* PACE_HAS_CPLUSPLUS */
-#if defined (PACE_HAS_INLINE)
-# include "pace/posix/semaphore.inl"
-#endif /* PACE_HAS_INLINE */
-
-#endif /* PACE_SEMAPHORE_H */
+#endif /* PACE_SEMAPHORE_H_POSIX */
diff --git a/PACE/pace/posix/setjmp.h b/PACE/pace/posix/setjmp.h
index 3310e066535..30221f2e74d 100644
--- a/PACE/pace/posix/setjmp.h
+++ b/PACE/pace/posix/setjmp.h
@@ -13,8 +13,8 @@
*
* ============================================================================ */
-#ifndef PACE_SETJMP_H
-#define PACE_SETJMP_H
+#ifndef PACE_SETJMP_H_POSIX
+#define PACE_SETJMP_H_POSIX
#include <setjmp.h>
@@ -25,40 +25,8 @@ extern "C" {
typedef jmp_buf pace_jmp_buf;
typedef sigjmp_buf pace_sigjmp_buf;
- /**
- PACE's implementation of the POSIX function setjmp.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.3.1.
- */
- PACE_INLINE int pace_setjmp (pace_jmp_buf env);
-
- /**
- PACE's implementation of the POSIX function sigsetjmp.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.3.1.
- */
- PACE_INLINE int pace_sigsetjmp (pace_sigjmp_buf env, int savemask);
-
- /**
- PACE's implementation of the POSIX function longjmp.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.3.1.
- */
- PACE_INLINE void pace_longjmp (pace_jmp_buf env, int val);
-
- /**
- PACE's implementation of the POSIX function siglongjmp.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 8.3.1.
- */
- PACE_INLINE void pace_siglongjmp (pace_sigjmp_buf env, int val);
-
#if defined (PACE_HAS_CPLUSPLUS)
}
#endif /* PACE_HAS_CPLUSPLUS */
-#if defined (PACE_HAS_INLINE)
-# include "pace/posix/setjmp.inl"
-#endif /* PACE_HAS_INLINE */
-
-#endif /* PACE_SETJMP_H */
+#endif /* PACE_SETJMP_H_POSIX */
diff --git a/PACE/pace/posix/signal.h b/PACE/pace/posix/signal.h
index 23226994fe0..7c6e676ac5a 100644
--- a/PACE/pace/posix/signal.h
+++ b/PACE/pace/posix/signal.h
@@ -13,8 +13,8 @@
*
* ============================================================================= */
-#ifndef PACE_SIGNAL_H
-#define PACE_SIGNAL_H
+#ifndef PACE_SIGNAL_H_POSIX
+#define PACE_SIGNAL_H_POSIX
#include <signal.h>
#include "pace/sys/types.h"
@@ -59,129 +59,8 @@ extern "C" {
typedef struct timespec pace_timespec;
#endif /* PACE_TIMESPEC */
- /**
- PACE's implementation of the POSIX function kill.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 3.3.2.
- */
- PACE_INLINE int pace_kill (pace_pid_t pid, int sig);
-
- /**
- C std 7.14.2.1
- */
- PACE_INLINE int pace_raise (int sig);
-
- /**
- PACE's implementation of the POSIX function sigaction.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 3.3.4.
- */
- PACE_INLINE int pace_sigaction (int sig,
- const pace_s_sigaction * act,
- pace_s_sigaction * oact);
-
- /**
- PACE's implementation of the POSIX function sigaddset.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 3.3.3.
- */
- PACE_INLINE int pace_sigaddset (pace_sigset_t * set, int signo);
-
- /**
- PACE's implementation of the POSIX function sigemptyset.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 3.3.3.
- */
- PACE_INLINE int pace_sigemptyset (pace_sigset_t * set);
-
- /**
- PACE's implementation of the POSIX function sigdelset.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 3.3.3.
- */
- PACE_INLINE int pace_sigdelset (pace_sigset_t * set, int signo);
-
- /**
- PACE's implementation of the POSIX function sigfillset.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 3.3.3.
- */
- PACE_INLINE int pace_sigfillset (pace_sigset_t * set);
-
- /**
- PACE's implementation of the POSIX function sigismember.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 3.3.3.
- */
- PACE_INLINE int pace_sigismember (const pace_sigset_t * set, int signo);
-
- /**
- C std 7.14.1.1
- */
- PACE_INLINE void (*pace_signal(int sig, void (*func)(int)))(int);
-
- /**
- PACE's implementation of the POSIX function sigpending.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 3.3.6.
- */
- PACE_INLINE int pace_sigpending (pace_sigset_t * set);
-
- /**
- PACE's implementation of the POSIX function sigprocmask.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 3.3.5.
- */
- PACE_INLINE int pace_sigprocmask (int how,
- const pace_sigset_t * set,
- pace_sigset_t * oset);
-
- /**
- PACE's implementation of the POSIX function sigqueue.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 3.3.9.
- */
- PACE_INLINE int pace_sigqueue (pace_pid_t pid,
- int signo,
- const pace_sigval value);
-
- /**
- PACE's implementation of the POSIX function sigsuspend.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 3.3.7.
- */
- PACE_INLINE int pace_sigsuspend (const pace_sigset_t * sigmask);
-
- /**
- PACE's implementation of the POSIX function sigtimedwait.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 3.3.8.
- */
- PACE_INLINE int pace_sigtimedwait (const pace_sigset_t * set,
- pace_siginfo_t * info,
- const pace_timespec * timeout);
-
- /**
- PACE's implementation of the POSIX function sigwait.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 3.3.8.
- */
- PACE_INLINE int pace_sigwait (const pace_sigset_t * set, int * sig);
- /* Requires PACE_HAS_POSIX_PTHREAD_SEMANTICS. */
-
- /**
- PACE's implementation of the POSIX function sigwaitinfo.
- See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
- IEEE Std 1003.1, 1996 Edition), Section 3.3.8.
- */
- PACE_INLINE int pace_sigwaitinfo (const pace_sigset_t * set, pace_siginfo_t * info);
-
#if defined (PACE_HAS_CPLUSPLUS)
}
#endif /* PACE_HAS_CPLUSPLUS */
-#if defined (PACE_HAS_INLINE)
-# include "pace/posix/signal.inl"
-#endif /* PACE_HAS_INLINE */
-
-#endif /* PACE_SIGNAL_H */
+#endif /* PACE_SIGNAL_H_POSIX */
diff --git a/PACE/pace/pthread.h b/PACE/pace/pthread.h
index fa04ba07c9a..90e5bdbb7e3 100644
--- a/PACE/pace/pthread.h
+++ b/PACE/pace/pthread.h
@@ -13,17 +13,530 @@
*
* ============================================================================ */
-#ifndef PACE_PTHREAD_H_INDIRECT
-#define PACE_PTHREAD_H_INDIRECT
+#ifndef PACE_PTHREAD_H
+#define PACE_PTHREAD_H
#include "pace/config/defines.h"
-#if defined (PACE_HAS_POSIX)
+#if (PACE_HAS_POSIX)
# include "pace/posix/pthread.h"
-#elif defined (PACE_VXWORKS)
+#elif (PACE_VXWORKS)
# include "pace/vxworks/pthread.h"
-#elif defined (PACE_WIN32)
+#elif (PACE_WIN32)
# include "pace/win32/pthread.h"
#endif
-#endif /* PACE_PTHREAD_H_INDIRECT */
+#if defined (PACE_HAS_CPLUSPLUS)
+extern "C" {
+#endif /* PACE_HAS_CPLUSPLUS */
+
+ /**
+ PACE's implementation of the POSIX function pthread_atfork.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 3.1.3.
+ */
+ PACE_INLINE int pace_pthread_atfork (void (*prepare) (),
+ void (*parent) (),
+ void (*child) ());
+
+ /**
+ PACE's implementation of the POSIX function pthread_attr_destroy.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 16.2.1.
+ */
+ PACE_INLINE int pace_pthread_attr_destroy (pace_pthread_attr_t * attr);
+
+ /**
+ PACE's implementation of the POSIX function pthread_attr_getdetachstate.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 16.2.1.
+ */
+ PACE_INLINE int pace_pthread_attr_getdetachstate (const pace_pthread_attr_t * attr,
+ int * detachstate);
+
+ /**
+ PACE's implementation of the POSIX function pthread_attr_getinheritsched.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 13.5.1.
+ */
+ PACE_INLINE int pace_pthread_attr_getinheritsched (const pace_pthread_attr_t * attr,
+ int * inheritsched);
+
+ /**
+ PACE's implementation of the POSIX function pthread_attr_getschedparam.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 13.5.1.
+ */
+ PACE_INLINE int pace_pthread_attr_getschedparam (const pace_pthread_attr_t * attr,
+ pace_sched_param * param);
+
+ /**
+ PACE's implementation of the POSIX function pthread_attr_getschedpolicy.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 13.5.1.
+ */
+ PACE_INLINE int pace_pthread_attr_getschedpolicy (const pace_pthread_attr_t * attr,
+ int * policy);
+
+ /**
+ PACE's implementation of the POSIX function pthread_attr_getscope.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 13.5.1.
+ */
+ PACE_INLINE int pace_pthread_attr_getscope (const pace_pthread_attr_t * attr,
+ int * contentionscope);
+
+ /**
+ PACE's implementation of the POSIX function pthread_attr_getstackaddr.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 16.2.1.
+ */
+ PACE_INLINE int pace_pthread_attr_getstackaddr (const pace_pthread_attr_t * attr,
+ void ** stackaddr);
+
+ /**
+ PACE's implementation of the POSIX function pthread_attr_getstacksize.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 16.2.1.
+ */
+ PACE_INLINE int pace_pthread_attr_getstacksize (const pace_pthread_attr_t * attr,
+ size_t * stacksize);
+
+ /**
+ PACE's implementation of the POSIX function pthread_attr_init.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 16.2.1.
+ */
+ PACE_INLINE int pace_pthread_attr_init (pace_pthread_attr_t * attr);
+
+ /**
+ PACE's implementation of the POSIX function pthread_attr_setdetachstate.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 16.2.1.
+ */
+ PACE_INLINE int pace_pthread_attr_setdetachstate (pace_pthread_attr_t * attr,
+ int detachstate);
+
+ /**
+ PACE's implementation of the POSIX function pthread_attr_setinheritsched.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 13.5.1.
+ */
+ PACE_INLINE int pace_pthread_attr_setinheritsched (pace_pthread_attr_t * attr,
+ int inheritsched);
+
+ /**
+ PACE's implementation of the POSIX function pthread_attr_setschedparam.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 13.5.1.
+ */
+ PACE_INLINE int pace_pthread_attr_setschedparam (pace_pthread_attr_t * attr,
+ const
+ pace_sched_param * param);
+
+ /**
+ PACE's implementation of the POSIX function pthread_attr_setschedpolicy.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 13.5.1.
+ */
+ PACE_INLINE int pace_pthread_attr_setschedpolicy (pace_pthread_attr_t * attr,
+ int policy);
+
+ /**
+ PACE's implementation of the POSIX function pthread_attr_setscope.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 13.5.1.
+ */
+ PACE_INLINE int pace_pthread_attr_setscope (pace_pthread_attr_t * attr,
+ int contentionscope);
+
+ /**
+ PACE's implementation of the POSIX function pthread_attr_setstackaddr.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 16.2.1.
+ */
+ PACE_INLINE int pace_pthread_attr_setstackaddr (pace_pthread_attr_t * attr,
+ void * stackaddr);
+
+ /**
+ PACE's implementation of the POSIX function pthread_attr_setstacksize.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 16.2.1.
+ */
+ PACE_INLINE int pace_pthread_attr_setstacksize (pace_pthread_attr_t * attr,
+ size_t stacksize);
+
+ /**
+ PACE's implementation of the POSIX function pthread_cancel.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 18.2.1.
+ */
+ PACE_INLINE int pace_pthread_cancel (pace_pthread_t thread);
+
+ /**
+ PACE's implementation of the POSIX function pthread_cleanup_push.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 18.2.3.
+ */
+# define pace_pthread_cleanup_push(routine, arg) \
+ pthread_cleanup_push (routine, arg)
+
+ /**
+ PACE's implementation of the POSIX function pthread_cleanup_pop.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 18.2.3.
+ */
+# define pace_pthread_cleanup_pop(execute) \
+ pthread_cleanup_pop (execute)
+
+# define PACE_PTHREAD_COND_INITIALIZER PTHREAD_COND_INITIALIZER
+
+ /**
+ PACE's implementation of the POSIX function pthread_cond_broadcast.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 11.4.3.
+ */
+ PACE_INLINE int pace_pthread_cond_broadcast (pace_pthread_cond_t * cond);
+
+ /**
+ PACE's implementation of the POSIX function pthread_cond_destroy.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 11.4.2.
+ */
+ PACE_INLINE int pace_pthread_cond_destroy (pace_pthread_cond_t * cond);
+
+ /**
+ PACE's implementation of the POSIX function pthread_cond_init.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 11.4.2.
+ */
+ PACE_INLINE int pace_pthread_cond_init (pace_pthread_cond_t * cond,
+ const pace_pthread_condattr_t * attr);
+
+ /**
+ PACE's implementation of the POSIX function pthread_cond_signal.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 11.4.3.
+ */
+ PACE_INLINE int pace_pthread_cond_signal (pace_pthread_cond_t * cond);
+
+ /**
+ PACE's implementation of the POSIX function pthread_cond_timedwait.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 11.4.4.
+ */
+ PACE_INLINE int pace_pthread_cond_timedwait (pthread_cond_t * cond,
+ pace_pthread_mutex_t * mutex,
+ const pace_timespec * abstime);
+
+ /**
+ PACE's implementation of the POSIX function pthread_cond_wait.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 11.4.4.
+ */
+ PACE_INLINE int pace_pthread_cond_wait (pace_pthread_cond_t * cond,
+ pace_pthread_mutex_t * mutex);
+
+ /**
+ PACE's implementation of the POSIX function pthread_condattr_destroy.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 11.4.1.
+ */
+ PACE_INLINE int pace_pthread_condattr_destroy (pace_pthread_condattr_t * attr);
+
+ /**
+ PACE's implementation of the POSIX function pthread_condattr_getpshared.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 11.4.1.
+ */
+ PACE_INLINE int pace_pthread_condattr_getpshared (const pace_pthread_condattr_t * attr,
+ int * pshared);
+
+ /**
+ PACE's implementation of the POSIX function pthread_condattr_init.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 11.4.1.
+ */
+ PACE_INLINE int pace_pthread_condattr_init (pace_pthread_condattr_t * attr);
+
+ /**
+ PACE's implementation of the POSIX function pthread_condattr_setpshared.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 11.4.1.
+ */
+ PACE_INLINE int pace_pthread_condattr_setpshared (pace_pthread_condattr_t * attr,
+ int pshared);
+
+ /**
+ PACE's implementation of the POSIX function pthread_create.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 16.2.2.
+ */
+ PACE_INLINE int pace_pthread_create (pace_pthread_t * thread,
+ const pace_pthread_attr_t * attr,
+ void * (*start_routine) (void*),
+ void * arg);
+
+ /**
+ PACE's implementation of the POSIX function pthread_detach.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 16.2.4.
+ */
+ PACE_INLINE int pace_pthread_detach (pace_pthread_t thread);
+
+ /**
+ PACE's implementation of the POSIX function pthread_equal.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 16.2.7.
+ */
+ PACE_INLINE int pace_pthread_equal (pace_pthread_t t1, pthread_t t2);
+
+ /**
+ PACE's implementation of the POSIX function pthread_exit.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 16.2.5.
+ */
+ PACE_INLINE void pace_pthread_exit (void * value_ptr);
+
+ /**
+ PACE's implementation of the POSIX function pthread_getschedparam.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 13.2.5.
+ */
+ PACE_INLINE int pace_pthread_getschedparam (pace_pthread_t thread,
+ int * policy,
+ pace_sched_param * param);
+
+ /**
+ PACE's implementation of the POSIX function pthread_getspecific.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 17.1.2.
+ */
+ PACE_INLINE void * pace_pthread_getspecific (pace_pthread_key_t key);
+
+ /**
+ PACE's implementation of the POSIX function pthread_join.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 16.2.3.
+ */
+ PACE_INLINE int pace_pthread_join (pace_pthread_t thread, void ** value_ptr);
+
+ /**
+ PACE's implementation of the POSIX function pthread_key_create.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 17.1.1.
+ */
+ PACE_INLINE int pace_pthread_key_create (pace_pthread_key_t * key,
+ void (*destructor)(void*));
+
+ /**
+ PACE's implementation of the POSIX function pthread_key_delete.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 17.1.3.
+ */
+ PACE_INLINE int pace_pthread_key_delete (pace_pthread_key_t key);
+
+ /**
+ PACE's implementation of the POSIX function pthread_kill.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 3.3.10.
+ */
+ PACE_INLINE int pace_pthread_kill (pace_pthread_t thread, int sig);
+
+ # define PACE_PTHREAD_MUTEX_INITIALIZER PTHREAD_MUTEX_INITIALIZER
+
+ /**
+ PACE's implementation of the POSIX function pthread_mutex_destroy.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 11.3.2.
+ */
+ PACE_INLINE int pace_pthread_mutex_destroy (pace_pthread_mutex_t * mutex);
+
+ /**
+ PACE's implementation of the POSIX function pthread_mutex_getprioceiling.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 13.6.2.
+ */
+ PACE_INLINE int pace_pthread_mutex_getprioceiling (pace_pthread_mutex_t * mutex,
+ int * prioceiling);
+
+ /**
+ PACE's implementation of the POSIX function pthread_mutex_init.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 11.3.2.
+ */
+ PACE_INLINE int pace_pthread_mutex_init (pace_pthread_mutex_t * mutex,
+ const pace_pthread_mutexattr_t * attr);
+
+ /**
+ PACE's implementation of the POSIX function pthread_mutex_lock.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 11.3.3.
+ */
+ PACE_INLINE int pace_pthread_mutex_lock (pace_pthread_mutex_t * mutex);
+
+ /**
+ PACE's implementation of the POSIX function pthread_mutex_setprioceiling.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 13.6.2.
+ */
+ PACE_INLINE int pace_pthread_mutex_setprioceiling (pace_pthread_mutex_t * mutex,
+ int prioceiling,
+ int * old_ceiling);
+
+ /**
+ PACE's implementation of the POSIX function pthread_mutex_trylock.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 11.3.3.
+ */
+ PACE_INLINE int pace_pthread_mutex_trylock (pthread_mutex_t * mutex);
+
+ /**
+ PACE's implementation of the POSIX function pthread_mutex_unlock.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 11.3.3.
+ */
+ PACE_INLINE int pace_pthread_mutex_unlock (pace_pthread_mutex_t * mutex);
+
+ /**
+ PACE's implementation of the POSIX function pthread_mutexattr_destroy.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 11.3.1.
+ */
+ PACE_INLINE int pace_pthread_mutexattr_destroy (pace_pthread_mutexattr_t * sttr);
+
+ /**
+ PACE's implementation of the POSIX function
+ pthread_mutexattr_getprioceiling.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 13.6.1.
+ */
+ PACE_INLINE int pace_pthread_mutexattr_getprioceiling (pace_pthread_mutexattr_t * attr,
+ int * prioceiling);
+
+ /**
+ PACE's implementation of the POSIX function pthread_mutexattr_getprotocol.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 13.6.1.
+ */
+ PACE_INLINE int pace_pthread_mutexattr_getprotocol
+ (const pace_pthread_mutexattr_t * attr, int * protocol);
+
+ /**
+ PACE's implementation of the POSIX function
+ pthread_mutexattr_setprioceiling.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 13.6.1.
+ */
+ PACE_INLINE int pace_pthread_mutexattr_setprioceiling (pace_pthread_mutexattr_t * attr,
+ int prioceiling);
+
+ /**
+ PACE's implementation of the POSIX function pthread_mutexattr_setprotocol.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 13.6.1.
+ */
+ PACE_INLINE int pace_pthread_mutexattr_setprotocol (pace_pthread_mutexattr_t * attr,
+ int protocol);
+ /**
+ PACE's implementation of the POSIX function pthread_mutexattr_getpshared.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 11.3.1.
+ */
+ PACE_INLINE int
+ pace_pthread_mutexattr_getpshared (const pace_pthread_mutexattr_t * attr,
+ int * pshared);
+
+ /**
+ PACE's implementation of the POSIX function pthread_mutexattr_init.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 11.3.1.
+ */
+ PACE_INLINE int pace_pthread_mutexattr_init (pace_pthread_mutexattr_t * attr);
+
+ /**
+ PACE's implementation of the POSIX function pthread_mutexattr_setpshared.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 11.3.1.
+ */
+ PACE_INLINE int pace_pthread_mutexattr_setpshared (pace_pthread_mutexattr_t * attr,
+ int pshared);
+
+ /**
+ PACE's implementation of the POSIX function pthread_once.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 16.2.8.
+ */
+ PACE_INLINE int pace_pthread_once (pace_pthread_once_t * once_control,
+ void (*void_routine) ());
+
+# define PACE_PTHREAD_ONCE_INIT PTHREAD_ONCE_INIT
+
+ /**
+ PACE's implementation of the POSIX function pthread_self.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 16.2.6.
+ */
+ PACE_INLINE pace_pthread_t pace_pthread_self ();
+
+ /**
+ PACE's implementation of the POSIX function pthread_setcancelstate.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 18.2.2.
+ */
+ PACE_INLINE int pace_pthread_setcancelstate (int state, int * oldstate);
+
+ /**
+ PACE's implementation of the POSIX function pthread_setcanceltype.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 18.2.2.
+ */
+ PACE_INLINE int pace_pthread_setcanceltype (int type, int * oldtype);
+
+ /**
+ PACE's implementation of the POSIX function pthread_setschedparam.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 13.5.2.
+ */
+ PACE_INLINE int pace_pthread_setschedparam (pace_pthread_t thread,
+ int policy,
+ const pace_sched_param * param);
+
+ /**
+ PACE's implementation of the POSIX function pthread_setspecific.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 17.1.2.
+ */
+ PACE_INLINE int pace_pthread_setspecific (pace_pthread_key_t key, const void * value);
+
+ /**
+ PACE's implementation of the POSIX function pthread_sigmask.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 3.3.5.
+ */
+ PACE_INLINE int pace_pthread_sigmask (int how,
+ const sigset_t * set,
+ sigset_t * oset);
+
+ /**
+ PACE's implementation of the POSIX function pthread_testcancel.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 18.2.2.
+ */
+ PACE_INLINE void pace_pthread_testcancel ();
+
+#if defined (PACE_HAS_CPLUSPLUS)
+}
+#endif /* PACE_HAS_CPLUSPLUS */
+
+#if defined (PACE_HAS_INLINE)
+# if (PACE_HAS_POSIX)
+# include "pace/posix/pthread.inl"
+# elif (PACE_VXWORKS)
+# include "pace/vxworks/pthread.inl"
+# elif (PACE_WIN32)
+# include "pace/win32/pthread.inl"
+# endif
+#endif /* PACE_HAS_INLINE */
+
+#endif /* PACE_PTHREAD_H */
diff --git a/PACE/pace/pwd.h b/PACE/pace/pwd.h
index f258de1f1fc..4af1d3702d0 100644
--- a/PACE/pace/pwd.h
+++ b/PACE/pace/pwd.h
@@ -13,17 +13,73 @@
*
* ============================================================================ */
-#ifndef PACE_PWD_H_INDIRECT
-#define PACE_PWD_H_INDIRECT
+#ifndef PACE_PWD_H
+#define PACE_PWD_H
#include "pace/config/defines.h"
-#if defined (PACE_HAS_POSIX)
+#if (PACE_HAS_POSIX)
# include "pace/posix/pwd.h"
-#elif defined (PACE_VXWORKS)
+#elif (PACE_VXWORKS)
# include "pace/vxworks/pwd.h"
-#elif defined (PACE_WIN32)
+#elif (PACE_WIN32)
# include "pace/win32/pwd.h"
#endif
-#endif /* PACE_PWD_H_INDIRECT */
+#if defined (PACE_HAS_CPLUSPLUS)
+extern "C" {
+#endif /* PACE_HAS_CPLUSPLUS */
+
+ /**
+ PACE's implementation of the POSIX function getpwuid.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 9.2.2.
+ */
+ PACE_INLINE pace_passwd * pace_getpwuid (pace_uid_t uid);
+
+ /**
+ PACE's implementation of the POSIX function getpwuid_r.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 9.2.2.
+ */
+ PACE_INLINE int pace_getpwuid_r (pace_uid_t uid,
+ pace_passwd * pwd,
+ char * buffer,
+ pace_size_t bufsize,
+ pace_passwd ** result);
+ /* Requires PACE_HAS_POSIX_PTHREAD_SEMANTICS. */
+
+ /**
+ PACE's implementation of the POSIX function getpwnam.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 9.2.2.
+ */
+ PACE_INLINE pace_passwd * pace_getpwnam (const char * name);
+
+ /**
+ PACE's implementation of the POSIX function getpwnam_r.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 9.2.2.
+ */
+ PACE_INLINE int pace_getpwnam_r (const char * name,
+ pace_passwd * pwd,
+ char * buffer,
+ pace_size_t bufsize,
+ pace_passwd ** result);
+ /* Requires PACE_HAS_POSIX_PTHREAD_SEMANTICS. */
+
+#if defined (PACE_HAS_CPLUSPLUS)
+}
+#endif /* PACE_HAS_CPLUSPLUS */
+
+#if defined (PACE_HAS_INLINE)
+# if (PACE_HAS_POSIX)
+# include "pace/posix/pwd.inl"
+# elif (PACE_VXWORKS)
+# include "pace/vxworks/pwd.inl"
+# elif (PACE_WIN32)
+# include "pace/win32/pwd.inl"
+# endif
+#endif /* PACE_HAS_INLINE */
+
+#endif /* PACE_PWD_H */
diff --git a/PACE/pace/sched.h b/PACE/pace/sched.h
index 747cd8f561b..fc0300a4fcc 100644
--- a/PACE/pace/sched.h
+++ b/PACE/pace/sched.h
@@ -13,17 +13,96 @@
*
* ============================================================================ */
-#ifndef PACE_SCHED_H_INDIRECT
-#define PACE_SCHED_H_INDIRECT
+#ifndef PACE_SCHED_H
+#define PACE_SCHED_H
#include "pace/config/defines.h"
-#if defined (PACE_HAS_POSIX)
+#if (PACE_HAS_POSIX)
# include "pace/posix/sched.h"
-#elif defined (PACE_VXWORKS)
+#elif (PACE_VXWORKS)
# include "pace/vxworks/sched.h"
-#elif defined (PACE_WIN32)
+#elif (PACE_WIN32)
# include "pace/win32/sched.h"
#endif
-#endif /* PACE_SCHED_H_INDIRECT */
+#if defined (PACE_HAS_CPLUSPLUS)
+extern "C" {
+#endif /* PACE_HAS_CPLUSPLUS */
+
+ /**
+ PACE's implementation of the POSIX function sched_get_priority_max.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 13.3.6.
+ */
+ PACE_INLINE int pace_sched_get_priority_max (int policy);
+
+ /**
+ PACE's implementation of the POSIX function sched_get_priority_min.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 13.3.6.
+ */
+ PACE_INLINE int pace_sched_get_priority_min (int policy);
+
+ /**
+ PACE's implementation of the POSIX function sched_getparam.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 13.3.2.
+ */
+ PACE_INLINE int pace_sched_getparam (pace_pid_t pid,
+ pace_sched_param * param);
+
+ /**
+ PACE's implementation of the POSIX function sched_rr_get_interval.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 13.3.6.
+ */
+ PACE_INLINE int pace_sched_rr_get_interval (pace_pid_t pid,
+ pace_timespec * interval);
+
+ /**
+ PACE's implementation of the POSIX function sched_setparam.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 13.3.1.
+ */
+ PACE_INLINE int pace_sched_setparam (pace_pid_t pid,
+ const pace_sched_param * param);
+
+ /**
+ PACE's implementation of the POSIX function sched_getscheduler.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 13.3.4.
+ */
+ PACE_INLINE int pace_sched_getscheduler (pace_pid_t pid);
+
+ /**
+ PACE's implementation of the POSIX function sched_setscheduler.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 13.3.3.
+ */
+ PACE_INLINE int pace_sched_setscheduler (pace_pid_t pid,
+ int policy,
+ const pace_sched_param * param);
+
+ /**
+ PACE's implementation of the POSIX function sched_yield.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 13.3.5.
+ */
+ PACE_INLINE int pace_sched_yield ();
+
+#if defined (PACE_HAS_CPLUSPLUS)
+}
+#endif /* PACE_HAS_CPLUSPLUS */
+
+#if defined (PACE_HAS_INLINE)
+# if (PACE_HAS_POSIX)
+# include "pace/posix/sched.inl"
+# elif (PACE_VXWORKS)
+# include "pace/vxworks/sched.inl"
+# elif (PACE_WIN32)
+# include "pace/win32/sched.inl"
+# endif
+#endif /* PACE_HAS_INLINE */
+
+#endif /* PACE_SCHED_H */
diff --git a/PACE/pace/semaphore.h b/PACE/pace/semaphore.h
index be96c10ffd0..67554909b68 100644
--- a/PACE/pace/semaphore.h
+++ b/PACE/pace/semaphore.h
@@ -13,17 +13,104 @@
*
* ============================================================================ */
-#ifndef PACE_SEMAPHORE_H_INDIRECT
-#define PACE_SEMAPHORE_H_INDIRECT
+#ifndef PACE_SEMAPHORE_H
+#define PACE_SEMAPHORE_H
#include "pace/config/defines.h"
-#if defined (PACE_HAS_POSIX)
+#if (PACE_HAS_POSIX)
# include "pace/posix/semaphore.h"
-#elif defined (PACE_VXWORKS)
+#elif (PACE_VXWORKS)
# include "pace/vxworks/semaphore.h"
-#elif defined (PACE_WIN32)
+#elif (PACE_WIN32)
# include "pace/win32/semaphore.h"
#endif
-#endif /* PACE_SEMAPHORE_H_INDIRECT */
+#if defined (PACE_HAS_CPLUSPLUS)
+extern "C" {
+#endif /* PACE_HAS_CPLUSPLUS */
+
+ /**
+ PACE's implementation of the POSIX function sem_close.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 11.2.4.
+ */
+ PACE_INLINE int pace_sem_close (pace_sem_t * sem);
+
+ /**
+ PACE's implementation of the POSIX function sem_destroy.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 11.2.2.
+ */
+ PACE_INLINE int pace_sem_destroy (pace_sem_t * sem);
+
+ /**
+ PACE's implementation of the POSIX function sem_getvalue.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 11.2.8.
+ */
+ PACE_INLINE int pace_sem_getvalue (pace_sem_t * sem, int * sval);
+
+ /**
+ PACE's implementation of the POSIX function sem_init.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 11.2.1.
+ */
+ PACE_INLINE int pace_sem_init (pace_sem_t * sem, int pshared, unsigned int value);
+
+ /**
+ PACE's implementation of the POSIX function sem_open.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 11.2.3.
+ */
+ # define pace_sem_open(X) sem_open X
+ /* int fprintf (FILE *stream, const char *format, (*//* args *//*) ... );
+ *
+ * PLEASE PAY SPECIAL ATTENTION HERE!
+ * This is a macro and requires an additional set of parenthesis
+ * surrounding the arguments.
+ */
+
+ /**
+ PACE's implementation of the POSIX function sem_post.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 11.2.7.
+ */
+ PACE_INLINE int pace_sem_post (pace_sem_t * sem);
+
+ /**
+ PACE's implementation of the POSIX function sem_trywait.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 11.2.6.
+ */
+ PACE_INLINE int pace_sem_trywait (pace_sem_t * sem);
+
+ /**
+ PACE's implementation of the POSIX function sem_unlink.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 11.2.5.
+ */
+ PACE_INLINE int pace_sem_unlink (const char * name);
+
+ /**
+ PACE's implementation of the POSIX function sem_wait.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 11.2.6.
+ */
+ PACE_INLINE int pace_sem_wait (pace_sem_t * sem);
+
+#if defined (PACE_HAS_CPLUSPLUS)
+}
+#endif /* PACE_HAS_CPLUSPLUS */
+
+#if defined (PACE_HAS_INLINE)
+# if (PACE_HAS_POSIX)
+# include "pace/posix/semaphore.inl"
+# elif (PACE_VXWORKS)
+# include "pace/vxworks/semaphore.inl"
+# elif (PACE_WIN32)
+# include "pace/win32/semaphore.inl"
+# endif
+#endif /* PACE_HAS_INLINE */
+
+#endif /* PACE_SEMAPHORE_H */
diff --git a/PACE/pace/setjmp.h b/PACE/pace/setjmp.h
index 3fb8857389e..d4e0c48a57a 100644
--- a/PACE/pace/setjmp.h
+++ b/PACE/pace/setjmp.h
@@ -13,17 +13,62 @@
*
* ============================================================================ */
-#ifndef PACE_SETJMP_H_INDIRECT
-#define PACE_SETJMP_H_INDIRECT
+#ifndef PACE_SETJMP_H
+#define PACE_SETJMP_H
#include "pace/config/defines.h"
-#if defined (PACE_HAS_POSIX)
+#if (PACE_HAS_POSIX)
# include "pace/posix/setjmp.h"
-#elif defined (PACE_VXWORKS)
+#elif (PACE_VXWORKS)
# include "pace/vxworks/setjmp.h"
-#elif defined (PACE_WIN32)
+#elif (PACE_WIN32)
# include "pace/win32/setjmp.h"
#endif
-#endif /* PACE_SETJMP_H_INDIRECT */
+#if defined (PACE_HAS_CPLUSPLUS)
+extern "C" {
+#endif /* PACE_HAS_CPLUSPLUS */
+ /**
+ PACE's implementation of the POSIX function setjmp.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 8.3.1.
+ */
+ PACE_INLINE int pace_setjmp (pace_jmp_buf env);
+
+ /**
+ PACE's implementation of the POSIX function sigsetjmp.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 8.3.1.
+ */
+ PACE_INLINE int pace_sigsetjmp (pace_sigjmp_buf env, int savemask);
+
+ /**
+ PACE's implementation of the POSIX function longjmp.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 8.3.1.
+ */
+ PACE_INLINE void pace_longjmp (pace_jmp_buf env, int val);
+
+ /**
+ PACE's implementation of the POSIX function siglongjmp.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 8.3.1.
+ */
+ PACE_INLINE void pace_siglongjmp (pace_sigjmp_buf env, int val);
+
+#if defined (PACE_HAS_CPLUSPLUS)
+}
+#endif /* PACE_HAS_CPLUSPLUS */
+
+#if defined (PACE_HAS_INLINE)
+# if (PACE_HAS_POSIX)
+# include "pace/posix/setjmp.inl"
+# elif (PACE_VXWORKS)
+# include "pace/vxworks/setjmp.inl"
+# elif (PACE_WIN32)
+# include "pace/win32/setjmp.inl"
+# endif
+#endif /* PACE_HAS_INLINE */
+
+#endif /* PACE_SETJMP_H */
diff --git a/PACE/pace/signal.h b/PACE/pace/signal.h
index fd24dcfea9a..4d97e3aab54 100644
--- a/PACE/pace/signal.h
+++ b/PACE/pace/signal.h
@@ -13,17 +13,152 @@
*
* ============================================================================= */
-#ifndef PACE_SIGNAL_H_INDIRECT
-#define PACE_SIGNAL_H_INDIRECT
+#ifndef PACE_SIGNAL_H
+#define PACE_SIGNAL_H
#include "pace/config/defines.h"
-#if defined (PACE_HAS_POSIX)
+#if (PACE_HAS_POSIX)
# include "pace/posix/signal.h"
-#elif defined (PACE_VXWORKS)
+#elif (PACE_VXWORKS)
# include "pace/vxworks/signal.h"
-#elif defined (PACE_WIN32)
+#elif (PACE_WIN32)
# include "pace/win32/signal.h"
#endif
-#endif /* PACE_SIGNAL_H_INDIRECT */
+#if defined (PACE_HAS_CPLUSPLUS)
+extern "C" {
+#endif /* PACE_HAS_CPLUSPLUS */
+
+ /**
+ PACE's implementation of the POSIX function kill.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 3.3.2.
+ */
+ PACE_INLINE int pace_kill (pace_pid_t pid, int sig);
+
+ /**
+ C std 7.14.2.1
+ */
+ PACE_INLINE int pace_raise (int sig);
+
+ /**
+ PACE's implementation of the POSIX function sigaction.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 3.3.4.
+ */
+ PACE_INLINE int pace_sigaction (int sig,
+ const pace_s_sigaction * act,
+ pace_s_sigaction * oact);
+
+ /**
+ PACE's implementation of the POSIX function sigaddset.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 3.3.3.
+ */
+ PACE_INLINE int pace_sigaddset (pace_sigset_t * set, int signo);
+
+ /**
+ PACE's implementation of the POSIX function sigemptyset.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 3.3.3.
+ */
+ PACE_INLINE int pace_sigemptyset (pace_sigset_t * set);
+
+ /**
+ PACE's implementation of the POSIX function sigdelset.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 3.3.3.
+ */
+ PACE_INLINE int pace_sigdelset (pace_sigset_t * set, int signo);
+
+ /**
+ PACE's implementation of the POSIX function sigfillset.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 3.3.3.
+ */
+ PACE_INLINE int pace_sigfillset (pace_sigset_t * set);
+
+ /**
+ PACE's implementation of the POSIX function sigismember.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 3.3.3.
+ */
+ PACE_INLINE int pace_sigismember (const pace_sigset_t * set, int signo);
+
+ /**
+ C std 7.14.1.1
+ */
+ PACE_INLINE void (*pace_signal(int sig, void (*func)(int)))(int);
+
+ /**
+ PACE's implementation of the POSIX function sigpending.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 3.3.6.
+ */
+ PACE_INLINE int pace_sigpending (pace_sigset_t * set);
+
+ /**
+ PACE's implementation of the POSIX function sigprocmask.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 3.3.5.
+ */
+ PACE_INLINE int pace_sigprocmask (int how,
+ const pace_sigset_t * set,
+ pace_sigset_t * oset);
+
+ /**
+ PACE's implementation of the POSIX function sigqueue.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 3.3.9.
+ */
+ PACE_INLINE int pace_sigqueue (pace_pid_t pid,
+ int signo,
+ const pace_sigval value);
+
+ /**
+ PACE's implementation of the POSIX function sigsuspend.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 3.3.7.
+ */
+ PACE_INLINE int pace_sigsuspend (const pace_sigset_t * sigmask);
+
+ /**
+ PACE's implementation of the POSIX function sigtimedwait.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 3.3.8.
+ */
+ PACE_INLINE int pace_sigtimedwait (const pace_sigset_t * set,
+ pace_siginfo_t * info,
+ const pace_timespec * timeout);
+
+ /**
+ PACE's implementation of the POSIX function sigwait.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 3.3.8.
+ */
+ PACE_INLINE int pace_sigwait (const pace_sigset_t * set, int * sig);
+ /* Requires PACE_HAS_POSIX_PTHREAD_SEMANTICS. */
+
+ /**
+ PACE's implementation of the POSIX function sigwaitinfo.
+ See POSIX standard (Internation Standard ISO/IEC 9945-1:1996;
+ IEEE Std 1003.1, 1996 Edition), Section 3.3.8.
+ */
+ PACE_INLINE int pace_sigwaitinfo (const pace_sigset_t * set, pace_siginfo_t * info);
+
+#if defined (PACE_HAS_CPLUSPLUS)
+}
+#endif /* PACE_HAS_CPLUSPLUS */
+
+#if defined (PACE_HAS_INLINE)
+# if (PACE_HAS_POSIX)
+# include "pace/posix/signal.inl"
+# elif (PACE_VXWORKS)
+# include "pace/vxworks/signal.inl"
+# elif (PACE_WIN32)
+# include "pace/win32/signal.inl"
+# endif
+#endif /* PACE_HAS_INLINE */
+
+#endif /* PACE_SIGNAL_H */