RTEMS  5.1
threadmp.h
Go to the documentation of this file.
1 
12 /*
13  * COPYRIGHT (c) 1989-2009.
14  * On-Line Applications Research Corporation (OAR).
15  *
16  * The license and distribution terms for this file may be
17  * found in the file LICENSE in this distribution or at
18  * http://www.rtems.org/license/LICENSE.
19  */
20 
21 #ifndef _RTEMS_SCORE_THREADMP_H
22 #define _RTEMS_SCORE_THREADMP_H
23 
24 #ifndef _RTEMS_SCORE_THREADIMPL_H
25 # error "Never use <rtems/score/threadmp.h> directly; include <rtems/score/threadimpl.h> instead."
26 #endif
27 
28 #include <rtems/score/mpciimpl.h>
29 
30 #ifdef __cplusplus
31 extern "C" {
32 #endif
33 
57  uint32_t maximum_proxies
58 );
59 
73  States_Control the_state
74 );
75 
88  Objects_Id the_id
89 );
90 
98 #define _Thread_MP_Is_receive(_the_thread) \
99  ((_the_thread) == _MPCI_Receive_server_tcb)
100 
105 void _Thread_MP_Free_proxy( Thread_Control *the_thread );
106 
118 {
119  Objects_Information *information;
120 
121  information = _Thread_Get_objects_information( id );
122  if ( information == NULL ) {
123  return false;
124  }
125 
126  return _Objects_MP_Is_remote( id, information );
127 }
128 
131 #ifdef __cplusplus
132 }
133 #endif
134 
135 #endif
136 /* end of include file */
uint32_t States_Control
Definition: states.h:46
Thread_Control * _Thread_MP_Allocate_proxy(States_Control the_state)
Allocates a MP proxy control block from the inactive chain of free proxy control blocks.
Definition: threadmp.c:122
Definition: thread.h:732
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:181
void _Thread_MP_Free_proxy(Thread_Control *the_thread)
Trees a proxy control block to the inactive chain of free proxy control blocks.
Definition: threadmp.c:203
The information structure used to manage each API class of objects.
Definition: objectdata.h:176
RTEMS_INLINE_ROUTINE bool _Thread_MP_Is_remote(Objects_Id id)
Checks if the thread MP with this object id is remote.
Definition: threadmp.h:117
RTEMS_INLINE_ROUTINE Objects_Information * _Thread_Get_objects_information(Objects_Id id)
Gets object information for the object id.
Definition: threadimpl.h:800
void _Thread_MP_Handler_initialization(uint32_t maximum_proxies)
Initialize MP thread handler.
Definition: threadmp.c:43
uint32_t Objects_Id
Definition: object.h:80
#define RTEMS_INLINE_ROUTINE
Definition: basedefs.h:66
MPCI Layer Implementation.
bool _Objects_MP_Is_remote(Objects_Id id, const Objects_Information *information)
Checks if the object identifier is in the global object identifier cache of the specified object info...
Definition: objectmp.c:338
#define NULL
Requests a GPIO pin group configuration.
Definition: bestcomm_api.h:77