RTEMS CPU Kit with SuperCore  4.10.99.0
sem.h
Go to the documentation of this file.
1 
22 /* COPYRIGHT (c) 1989-2008.
23  * On-Line Applications Research Corporation (OAR).
24  *
25  * The license and distribution terms for this file may be
26  * found in the file LICENSE in this distribution or at
27  * http://www.rtems.org/license/LICENSE.
28  */
29 
30 #ifndef _RTEMS_RTEMS_SEM_H
31 #define _RTEMS_RTEMS_SEM_H
32 
33 #include <rtems/rtems/types.h>
34 #include <rtems/rtems/options.h>
35 #include <rtems/rtems/support.h>
36 #include <rtems/rtems/tasks.h>
37 #include <rtems/rtems/attr.h>
38 #include <rtems/score/coremutex.h>
39 #include <rtems/score/object.h>
40 #include <rtems/score/coresem.h>
41 #include <rtems/score/mrsp.h>
42 
43 #ifdef __cplusplus
44 extern "C" {
45 #endif
46 
60 typedef struct {
63 
70 
80  union {
86 
92 
93 #if defined(RTEMS_SMP)
94  MRSP_Control mrsp;
95 #endif
96  } Core_control;
98 
111  rtems_name name,
112  uint32_t count,
113  rtems_attribute attribute_set,
114  rtems_task_priority priority_ceiling,
115  rtems_id *id
116 );
117 
137  rtems_name name,
138  uint32_t node,
139  rtems_id *id
140 );
141 
155  rtems_id id
156 );
157 
178  rtems_id id,
179  rtems_option option_set,
180  rtems_interval timeout
181 );
182 
195  rtems_id id
196 );
197 
213  rtems_id id
214 );
215 
251  rtems_id semaphore_id,
252  rtems_id scheduler_id,
253  rtems_task_priority new_priority,
254  rtems_task_priority *old_priority
255 );
256 
259 #ifdef __cplusplus
260 }
261 #endif
262 
263 #endif
264 /* end of include file */
rtems_status_code rtems_semaphore_set_priority(rtems_id semaphore_id, rtems_id scheduler_id, rtems_task_priority new_priority, rtems_task_priority *old_priority)
Sets the priority value with respect to the specified scheduler of a semaphore.
uint32_t rtems_attribute
This defines the type used to contain Classic API attributes.
Definition: attr.h:44
The following defines the Object Control Block used to manage each object local to this node...
Definition: object.h:233
Objects_Id rtems_id
Used to manage and manipulate RTEMS object identifiers.
Definition: types.h:80
The following defines the control block used to manage each counting semaphore.
Definition: coresem.h:69
Constants and Structures Associated with the Object Handler.
rtems_attribute attribute_set
This is the Classic API attribute provided to the create directive.
Definition: sem.h:69
rtems_status_code rtems_semaphore_delete(rtems_id id)
RTEMS Delete Semaphore.
Objects_Control Object
This field is the object management portion of a Semaphore instance.
Definition: sem.h:62
Watchdog_Interval rtems_interval
Used to manage and manipulate intervals specified by clock ticks.
Definition: types.h:119
rtems_status_code rtems_semaphore_ident(rtems_name name, uint32_t node, rtems_id *id)
RTEMS Semaphore Name to Id.
Priority_Control rtems_task_priority
Define the type for an RTEMS API task priority.
Definition: tasks.h:79
rtems_status_code
Classic API Status.
Definition: status.h:46
rtems_status_code rtems_semaphore_release(rtems_id id)
RTEMS Semaphore Release.
uint32_t rtems_name
Classic API object name type.
Definition: types.h:74
rtems_status_code rtems_semaphore_obtain(rtems_id id, rtems_option option_set, rtems_interval timeout)
RTEMS Obtain Semaphore.
The following defines the control block used to manage each semaphore.
Definition: sem.h:60
uint32_t rtems_option
The following type defines the control block used to manage option sets.
Definition: options.h:45
CORE_semaphore_Control semaphore
This is the SuperCore Semaphore instance associated with this Classic API Semaphore instance...
Definition: sem.h:91
rtems_status_code rtems_semaphore_flush(rtems_id id)
RTEMS Semaphore Flush.
rtems_status_code rtems_semaphore_create(rtems_name name, uint32_t count, rtems_attribute attribute_set, rtems_task_priority priority_ceiling, rtems_id *id)
rtems_semaphore_create
Control block used to manage each mutex.
Definition: coremutex.h:149
CORE_mutex_Control mutex
This is the SuperCore Mutex instance associated with this Classic API Semaphore instance.
Definition: sem.h:85
CORE Mutex API.
Data Associated with the Counting Semaphore Handler.