source: rtems/cpukit/rtems/include/rtems/rtems/signalmp.h @ 4b487363

4.104.114.84.95
Last change on this file since 4b487363 was 4b487363, checked in by Ralf Corsepius <ralf.corsepius@…>, on 11/02/04 at 09:39:02

2004-10-02 Ralf Corsepius <ralf_corsepiu@…>

  • rtems/include/rtems.h, rtems/include/rtems/rtems/asr.h, rtems/include/rtems/rtems/attr.h, rtems/include/rtems/rtems/cache.h, rtems/include/rtems/rtems/clock.h, rtems/include/rtems/rtems/config.h, rtems/include/rtems/rtems/dpmem.h, rtems/include/rtems/rtems/event.h, rtems/include/rtems/rtems/eventmp.h, rtems/include/rtems/rtems/eventset.h, rtems/include/rtems/rtems/intr.h, rtems/include/rtems/rtems/message.h, rtems/include/rtems/rtems/modes.h, rtems/include/rtems/rtems/mp.h, rtems/include/rtems/rtems/msgmp.h, rtems/include/rtems/rtems/options.h, rtems/include/rtems/rtems/part.h, rtems/include/rtems/rtems/partmp.h, rtems/include/rtems/rtems/ratemon.h, rtems/include/rtems/rtems/region.h, rtems/include/rtems/rtems/regionmp.h, rtems/include/rtems/rtems/rtemsapi.h, rtems/include/rtems/rtems/sem.h, rtems/include/rtems/rtems/semmp.h, rtems/include/rtems/rtems/signal.h, rtems/include/rtems/rtems/signalmp.h, rtems/include/rtems/rtems/status.h, rtems/include/rtems/rtems/support.h, rtems/include/rtems/rtems/taskmp.h, rtems/include/rtems/rtems/tasks.h, rtems/include/rtems/rtems/timer.h, rtems/include/rtems/rtems/types.h: Add doxygen preamble.
  • Property mode set to 100644
File size: 3.1 KB
Line 
1/**
2 * @file rtems/rtems/signalmp.h
3 */
4
5/*
6 *  This include file contains all the constants and structures associated
7 *  with the Multiprocessing Support in the Signal Manager.
8 *
9 *  COPYRIGHT (c) 1989-1999.
10 *  On-Line Applications Research Corporation (OAR).
11 *
12 *  The license and distribution terms for this file may be
13 *  found in the file LICENSE in this distribution or at
14 *  http://www.rtems.com/license/LICENSE.
15 *
16 *  $Id$
17 */
18
19#ifndef __RTEMS_SIGNAL_MP_h
20#define __RTEMS_SIGNAL_MP_h
21
22#ifdef __cplusplus
23extern "C" {
24#endif
25
26#include <rtems/rtems/asr.h>
27#include <rtems/score/mppkt.h>
28#include <rtems/score/object.h>
29#include <rtems/score/thread.h>
30#include <rtems/score/watchdog.h>
31
32/*
33 *  The following enumerated type defines the list of
34 *  remote signal operations.
35 */
36
37typedef enum {
38  SIGNAL_MP_SEND_REQUEST  = 0,
39  SIGNAL_MP_SEND_RESPONSE = 1
40}   Signal_MP_Remote_operations;
41
42/*
43 *  The following data structure defines the packet used to perform
44 *  remote signal operations.
45 */
46
47typedef struct {
48  rtems_packet_prefix          Prefix;
49  Signal_MP_Remote_operations  operation;
50  rtems_signal_set             signal_in;
51}   Signal_MP_Packet;
52
53/*
54 *  _Signal_MP_Send_process_packet
55 *
56 *  DESCRIPTION:
57 *
58 *  This routine performs a remote procedure call so that a
59 *  process operation can be performed on another node.
60 *
61 *  This routine is not needed since there are no process
62 *  packets to be sent by this manager.
63 */
64
65/*
66 *  _Signal_MP_Send_request_packet
67 *
68 *  DESCRIPTION:
69 *
70 *  This routine performs a remote procedure call so that a
71 *  directive operation can be initiated on another node.
72 */
73
74rtems_status_code _Signal_MP_Send_request_packet (
75  Signal_MP_Remote_operations operation,
76  Objects_Id                  task_id,
77  rtems_signal_set      signal_in
78);
79
80/*
81 *  _Signal_MP_Send_response_packet
82 *
83 *  DESCRIPTION:
84 *
85 *  This routine performs a remote procedure call so that a
86 *  directive can be performed on another node.
87 */
88
89void _Signal_MP_Send_response_packet (
90  Signal_MP_Remote_operations  operation,
91  Thread_Control              *the_thread
92);
93
94/*
95 *
96 *  _Signal_MP_Process_packet
97 *
98 *  DESCRIPTION:
99 *
100 *  This routine performs the actions specific to this package for
101 *  the request from another node.
102 */
103
104void _Signal_MP_Process_packet (
105  rtems_packet_prefix *the_packet_prefix
106);
107
108/*
109 *  _Signal_MP_Send_object_was_deleted
110 *
111 *  DESCRIPTION:
112 *
113 *  This routine is invoked indirectly by the thread queue
114 *  when a proxy has been removed from the thread queue and
115 *  the remote node must be informed of this.
116 *
117 *  This routine is not needed since there are no objects
118 *  deleted by this manager.
119 */
120
121/*
122 *  _Signal_MP_Send_extract_proxy
123 *
124 *  DESCRIPTION:
125 *
126 *  This routine is invoked when a task is deleted and it
127 *  has a proxy which must be removed from a thread queue and
128 *  the remote node must be informed of this.
129 *
130 *  This routine is not needed since there are no objects
131 *  deleted by this manager.
132 */
133
134/*
135 *  _Signal_MP_Get_packet
136 *
137 *  DESCRIPTION:
138 *
139 *  This function is used to obtain a signal mp packet.
140 */
141
142Signal_MP_Packet *_Signal_MP_Get_packet ( void );
143
144#ifdef __cplusplus
145}
146#endif
147
148#endif
149/* end of file */
Note: See TracBrowser for help on using the repository browser.