12 #ifndef ECL_IPC_SEMAPHORE_POS_HPP_    13 #define ECL_IPC_SEMAPHORE_POS_HPP_    20 #if defined(ECL_IS_POSIX)    22 #ifdef _POSIX_SEMAPHORES    23 #if _POSIX_SEMAPHORES > 0    29 #ifndef ECL_HAS_POSIX_SEMAPHORES    30   #define ECL_HAS_POSIX_SEMAPHORES    32 #ifndef ECL_HAS_SEMAPHORES    33   #define ECL_HAS_SEMAPHORES    42 #include <semaphore.h>    59 #ifdef ECL_HAS_EXCEPTIONS   123         Semaphore() throw(StandardException);
   136         Semaphore(const std::
string& string_id) ecl_assert_throw_decl(StandardException);
   142         virtual ~Semaphore();
   181         bool trylock( const 
Duration &timeout ) ecl_debug_throw_decl(StandardException);
 Embedded control libraries.