source: rtems/cpukit/include/rtems/rtems/taskmp.h @ e07088d9

Last change on this file since e07088d9 was e07088d9, checked in by Sebastian Huber <sebastian.huber@…>, on 11/25/20 at 15:42:08

rtems: Canonicalize implementation Doxygen groups

Rename Classic API top-level group from Classic to RTEMSImplClassic.
Use RTEMSImplClassic as a prefix for the subgroups. Change the group
names to be in line with the API group names. Use common phrases for
the group brief descriptions.

Update #3706.

  • Property mode set to 100644
File size: 3.0 KB
Line 
1/**
2 * @file
3 *
4 * @ingroup RTEMSImplClassicTaskMP
5 *
6 * This include file contains all the constants and structures associated
7 * with the multiprocessing support in the task manager.
8 */
9
10/* COPYRIGHT (c) 1989-2013.
11 * On-Line Applications Research Corporation (OAR).
12 *
13 * The license and distribution terms for this file may be
14 * found in the file LICENSE in this distribution or at
15 * http://www.rtems.org/license/LICENSE.
16 */
17
18#ifndef _RTEMS_RTEMS_TASKMP_H
19#define _RTEMS_RTEMS_TASKMP_H
20
21#ifndef _RTEMS_RTEMS_TASKSIMPL_H
22# error "Never use <rtems/rtems/taskmp.h> directly; include <rtems/rtems/tasksimpl.h> instead."
23#endif
24
25#include <rtems/score/mpciimpl.h>
26
27#ifdef __cplusplus
28extern "C" {
29#endif
30
31/**
32 * @defgroup RTEMSImplClassicTaskMP \
33 *   Task Manager Multiprocessing (MP) Support
34 *
35 * @ingroup RTEMSImplClassicTask
36 *
37 * @brief This group contains the implementation to support the Task Manager
38 *   in multiprocessing (MP) configurations.
39 *
40 * @{
41 */
42
43/**
44 *  The following enumerated type defines the list of
45 *  remote task operations.
46 */
47typedef enum {
48  RTEMS_TASKS_MP_ANNOUNCE_CREATE       =  0,
49  RTEMS_TASKS_MP_ANNOUNCE_DELETE       =  1,
50  RTEMS_TASKS_MP_SUSPEND_REQUEST       =  2,
51  RTEMS_TASKS_MP_SUSPEND_RESPONSE      =  3,
52  RTEMS_TASKS_MP_RESUME_REQUEST        =  4,
53  RTEMS_TASKS_MP_RESUME_RESPONSE       =  5,
54  RTEMS_TASKS_MP_SET_PRIORITY_REQUEST  =  6,
55  RTEMS_TASKS_MP_SET_PRIORITY_RESPONSE =  7,
56}   RTEMS_tasks_MP_Remote_operations;
57
58/**
59 *  @brief RTEMS Tasks MP Send Process Packet
60 *
61 *  Multiprocessing Support for the RTEMS Task Manager
62 *
63 *  This routine performs a remote procedure call so that a
64 *  process operation can be performed on another node.
65 */
66void _RTEMS_tasks_MP_Send_process_packet (
67  RTEMS_tasks_MP_Remote_operations operation,
68  Objects_Id                       task_id,
69  rtems_name                       name
70);
71
72/**
73 * @brief Issues a remote rtems_task_set_priority() request.
74 */
75rtems_status_code _RTEMS_tasks_MP_Set_priority(
76  rtems_id             id,
77  rtems_task_priority  new_priority,
78  rtems_task_priority *old_priority
79);
80
81/**
82 * @brief Issues a remote rtems_task_suspend() request.
83 */
84rtems_status_code _RTEMS_tasks_MP_Suspend( rtems_id id );
85
86/**
87 * @brief Issues a remote rtems_task_resume() request.
88 */
89rtems_status_code _RTEMS_tasks_MP_Resume( rtems_id id );
90
91/**
92 *  @brief _RTEMS_tasks_MP_Send_object_was_deleted
93 *
94 *  This routine is invoked indirectly by the thread queue
95 *  when a proxy has been removed from the thread queue and
96 *  the remote node must be informed of this.
97 *
98 *  This routine is not needed by RTEMS_tasks since a task
99 *  cannot be deleted when segments are in use.
100 */
101
102/*
103 *  _RTEMS_tasks_MP_Send_extract_proxy
104 *
105 *  This routine is invoked when a task is deleted and it
106 *  has a proxy which must be removed from a thread queue and
107 *  the remote node must be informed of this.
108 *
109 *  This routine is not needed since there are no objects
110 *  deleted by this manager.
111 *
112 */
113
114#ifdef __cplusplus
115}
116#endif
117
118/**@}*/
119
120#endif
121/* end of file */
Note: See TracBrowser for help on using the repository browser.