RTEMS  5.0.0
threadmp.h
Go to the documentation of this file.
1 
10 /*
11  * COPYRIGHT (c) 1989-2009.
12  * On-Line Applications Research Corporation (OAR).
13  *
14  * The license and distribution terms for this file may be
15  * found in the file LICENSE in this distribution or at
16  * http://www.rtems.org/license/LICENSE.
17  */
18 
19 #ifndef _RTEMS_SCORE_THREADMP_H
20 #define _RTEMS_SCORE_THREADMP_H
21 
22 #ifndef _RTEMS_SCORE_THREADIMPL_H
23 # error "Never use <rtems/score/threadmp.h> directly; include <rtems/score/threadimpl.h> instead."
24 #endif
25 
26 #include <rtems/score/mpciimpl.h>
27 
28 #ifdef __cplusplus
29 extern "C" {
30 #endif
31 
50  uint32_t maximum_proxies
51 );
52 
64  States_Control the_state
65 );
66 
75  Objects_Id the_id
76 );
77 
85 #define _Thread_MP_Is_receive(_the_thread) \
86  ((_the_thread) == _MPCI_Receive_server_tcb)
87 
92 void _Thread_MP_Free_proxy( Thread_Control *the_thread );
93 
94 RTEMS_INLINE_ROUTINE bool _Thread_MP_Is_remote( Objects_Id id )
95 {
96  Objects_Information *information;
97 
98  information = _Thread_Get_objects_information( id );
99  if ( information == NULL ) {
100  return false;
101  }
102 
103  return _Objects_MP_Is_remote( id, information );
104 }
105 
108 #ifdef __cplusplus
109 }
110 #endif
111 
112 #endif
113 /* end of include file */
#define RTEMS_INLINE_ROUTINE
Definition: basedefs.h:65
void _Thread_MP_Free_proxy(Thread_Control *the_thread)
Definition: threadmp.c:207
Definition: thread.h:728
bool _Objects_MP_Is_remote(Objects_Id id, const Objects_Information *information)
Returns true, if the object identifier is in the global object identifier cache of the specified obje...
Definition: objectmp.c:341
Thread_Control * _Thread_MP_Find_proxy(Objects_Id the_id)
Removes the MP proxy control block for the specified id from the active chain of proxy control blocks...
Definition: threadmp.c:185
The information structure used to manage each API class of objects.
Definition: objectdata.h:160
uint32_t States_Control
Definition: states.h:41
Thread_Control * _Thread_MP_Allocate_proxy(States_Control the_state)
Allocate a MP proxy control block from the inactive chain of free proxy control blocks.
Definition: threadmp.c:126
uint32_t Objects_Id
Definition: object.h:75
void _Thread_MP_Handler_initialization(uint32_t maximum_proxies)
Initialize MP thread handler.
Definition: threadmp.c:44
MPCI Layer Implementation.
#define NULL
Requests a GPIO pin group configuration.
Definition: bestcomm_api.h:77