From fa57683a6e31974e3fbd8f0e6907bc40a87bc715 Mon Sep 17 00:00:00 2001 From: luther Date: Fri, 7 Jul 2000 22:23:13 +0000 Subject: Fri Jul 7 17:22:56 2000 Luther J Baker --- PACE/ChangeLog | 43 ++++ PACE/pace/aio.h | 91 +++++++- PACE/pace/assert.h | 40 +++- PACE/pace/ctype.h | 118 +++++++++- PACE/pace/dirent.h | 67 +++++- PACE/pace/fcntl.h | 57 ++++- PACE/pace/grp.h | 68 +++++- PACE/pace/locale.h | 43 +++- PACE/pace/math.h | 180 ++++++++++++++- PACE/pace/mqueue.h | 102 ++++++++- PACE/pace/posix/aio.h | 71 +----- PACE/pace/posix/assert.h | 17 +- PACE/pace/posix/ctype.h | 101 +-------- PACE/pace/posix/dirent.h | 47 +--- PACE/pace/posix/fcntl.h | 43 +--- PACE/pace/posix/grp.h | 48 +--- PACE/pace/posix/locale.h | 23 +- PACE/pace/posix/math.h | 164 +------------- PACE/pace/posix/mqueue.h | 82 +------ PACE/pace/posix/pthread.h | 506 +----------------------------------------- PACE/pace/posix/pwd.h | 48 +--- PACE/pace/posix/sched.h | 70 +----- PACE/pace/posix/semaphore.h | 79 +------ PACE/pace/posix/setjmp.h | 38 +--- PACE/pace/posix/signal.h | 127 +---------- PACE/pace/pthread.h | 525 +++++++++++++++++++++++++++++++++++++++++++- PACE/pace/pwd.h | 68 +++++- PACE/pace/sched.h | 91 +++++++- PACE/pace/semaphore.h | 99 ++++++++- PACE/pace/setjmp.h | 57 ++++- PACE/pace/signal.h | 147 ++++++++++++- 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 + + * 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 * 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 #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 @@ -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 @@ -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 #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 #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 #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 #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 @@ -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 @@ -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 #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 */ -- cgit v1.2.1