summaryrefslogtreecommitdiffstats
path: root/c-user/multiprocessing/directives.rst
blob: fc10640fb555a5b8d2690ed1fe671447052c7453 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
.. SPDX-License-Identifier: CC-BY-SA-4.0

.. Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de)
.. Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)

.. This file is part of the RTEMS quality process and was automatically
.. generated.  If you find something that needs to be fixed or
.. worded better please post a report or patch to an RTEMS mailing list
.. or raise a bug report:
..
.. https://www.rtems.org/bugs.html
..
.. For information on updating and regenerating please refer to the How-To
.. section in the Software Requirements Engineering chapter of the
.. RTEMS Software Engineering manual.  The manual is provided as a part of
.. a release.  For development sources please refer to the online
.. documentation at:
..
.. https://docs.rtems.org

.. _MultiprocessingManagerDirectives:

Directives
==========

This section details the directives of the Multiprocessing Manager. A
subsection is dedicated to each of this manager's directives and lists the
calling sequence, parameters, description, return values, and notes of the
directive.

.. Generated from spec:/rtems/mp/if/announce

.. raw:: latex

    \clearpage

.. index:: rtems_multiprocessing_announce()

.. _InterfaceRtemsMultiprocessingAnnounce:

rtems_multiprocessing_announce()
--------------------------------

Announces the arrival of a packet.

.. rubric:: CALLING SEQUENCE:

.. code-block:: c

    void rtems_multiprocessing_announce( void );

.. rubric:: DESCRIPTION:

This directive informs RTEMS that a multiprocessing communications packet has
arrived from another node.  This directive is called by the user-provided MPCI,
and is only used in multiprocessing configurations.

.. rubric:: NOTES:

This directive is typically called from an :term:`ISR`.

This directive does not generate activity on remote nodes.

.. rubric:: CONSTRAINTS:

The following constraints apply to this directive:

* The directive may be called from within interrupt context.

* The directive may be called from within device driver initialization context.

* The directive may be called from within task context.

* The directive may unblock a task.  This may cause the calling task to be
  preempted.