RTEMS CPU Kit with SuperCore  4.11.2
Macros | Typedefs | Enumerations | Functions
coresemimpl.h File Reference

Inlined Routines Associated with the SuperCore Semaphore. More...

#include <rtems/score/coresem.h>
#include <rtems/score/objectimpl.h>
#include <rtems/score/threaddispatch.h>
#include <rtems/score/threadqimpl.h>
#include <rtems/score/statesimpl.h>
Include dependency graph for coresemimpl.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define CORE_SEMAPHORE_STATUS_LAST   CORE_SEMAPHORE_MAXIMUM_COUNT_EXCEEDED
 Core semaphore last status value. More...
 

Typedefs

typedef void(* CORE_semaphore_API_mp_support_callout) (Thread_Control *, Objects_Id)
 The following type defines the callout which the API provides to support global/multiprocessor operations on semaphores.
 

Enumerations

enum  CORE_semaphore_Status {
  CORE_SEMAPHORE_STATUS_SUCCESSFUL, CORE_SEMAPHORE_STATUS_UNSATISFIED_NOWAIT, CORE_SEMAPHORE_WAS_DELETED, CORE_SEMAPHORE_TIMEOUT,
  CORE_SEMAPHORE_MAXIMUM_COUNT_EXCEEDED
}
 Core Semaphore handler return statuses. More...
 

Functions

void _CORE_semaphore_Initialize (CORE_semaphore_Control *the_semaphore, const CORE_semaphore_Attributes *the_semaphore_attributes, uint32_t initial_value)
 Initialize the semaphore based on the parameters passed. More...
 
RTEMS_INLINE_ROUTINE void _CORE_semaphore_Destroy (CORE_semaphore_Control *the_semaphore)
 
RTEMS_INLINE_ROUTINE CORE_semaphore_Status _CORE_semaphore_Surrender (CORE_semaphore_Control *the_semaphore, Objects_Id id, CORE_semaphore_API_mp_support_callout api_semaphore_mp_support, ISR_lock_Context *lock_context)
 Surrender a unit to a semaphore. More...
 
RTEMS_INLINE_ROUTINE void _CORE_semaphore_Flush (CORE_semaphore_Control *the_semaphore, Thread_queue_Flush_callout remote_extract_callout, uint32_t status)
 Core semaphore flush. More...
 
RTEMS_INLINE_ROUTINE bool _CORE_semaphore_Is_priority (const CORE_semaphore_Attributes *the_attribute)
 This function returns true if the priority attribute is enabled in the attribute_set and false otherwise. More...
 
RTEMS_INLINE_ROUTINE uint32_t _CORE_semaphore_Get_count (CORE_semaphore_Control *the_semaphore)
 This routine returns the current count associated with the semaphore. More...
 
RTEMS_INLINE_ROUTINE void _CORE_semaphore_Seize (CORE_semaphore_Control *the_semaphore, Thread_Control *executing, Objects_Id id, bool wait, Watchdog_Interval timeout, ISR_lock_Context *lock_context)
 This routine attempts to receive a unit from the_semaphore. More...
 

Detailed Description

Inlined Routines Associated with the SuperCore Semaphore.

This include file contains all of the inlined routines associated with the SuperCore semaphore.