rtems_status_code _Semaphore_Translate_core_semaphore_return_code ( uint32_t status ) { #if defined(RTEMS_MULTIPROCESSING) if ( _Thread_Is_proxy_blocking(status) ) return RTEMS_PROXY_BLOCKING; #endif /* * Internal consistency check for bad status from SuperCore */ #if defined(RTEMS_DEBUG) if ( status > CORE_SEMAPHORE_STATUS_LAST ) return RTEMS_INTERNAL_ERROR; #endif return _Semaphore_Translate_core_semaphore_return_code_[status]; }
rtems_status_code _Semaphore_Translate_core_mutex_return_code ( uint32_t status ) { /* * If this thread is blocking waiting for a result on a remote operation. */ #if defined(RTEMS_MULTIPROCESSING) if ( _Thread_Is_proxy_blocking(status) ) return RTEMS_PROXY_BLOCKING; #endif /* * Internal consistency check for bad status from SuperCore */ #if defined(RTEMS_DEBUG) if ( status > CORE_MUTEX_STATUS_LAST ) return RTEMS_INTERNAL_ERROR; #endif return _Semaphore_Translate_core_mutex_return_code_[status]; }
rtems_status_code _Message_queue_Translate_core_message_queue_return_code ( uint32_t status ) { /* * Check for proxy blocking first since it is out of range * from the external status codes. */ #if defined(RTEMS_MULTIPROCESSING) if ( _Thread_Is_proxy_blocking(status) ) return RTEMS_PROXY_BLOCKING; #endif /* * Internal consistency check for bad status from SuperCore */ #if defined(RTEMS_DEBUG) if ( status > CORE_MESSAGE_QUEUE_STATUS_TIMEOUT ) return RTEMS_INTERNAL_ERROR; #endif return _Message_queue_Translate_core_return_code_[status]; }