RTEMS CPU Kit with SuperCore  4.11.2
mppkt.h
Go to the documentation of this file.
1 
13 /*
14  * COPYRIGHT (c) 1989-2011.
15  * On-Line Applications Research Corporation (OAR).
16  *
17  * The license and distribution terms for this file may be
18  * found in the file LICENSE in this distribution or at
19  * http://www.rtems.org/license/LICENSE.
20  */
21 
22 #ifndef _RTEMS_SCORE_MPPKT_H
23 #define _RTEMS_SCORE_MPPKT_H
24 
25 #include <rtems/score/object.h>
26 #include <rtems/score/priority.h>
27 #include <rtems/score/watchdog.h>
28 
29 #ifdef __cplusplus
30 extern "C" {
31 #endif
32 
51 typedef enum {
52  MP_PACKET_MPCI_INTERNAL = 0,
53  MP_PACKET_TASKS = 1,
54  MP_PACKET_MESSAGE_QUEUE = 2,
55  MP_PACKET_SEMAPHORE = 3,
56  MP_PACKET_PARTITION = 4,
57  MP_PACKET_REGION = 5,
58  MP_PACKET_EVENT = 6,
59  MP_PACKET_SIGNAL = 7
61 
65 #define MP_PACKET_CLASSES_FIRST MP_PACKET_MPCI_INTERNAL
66 
70 #define MP_PACKET_CLASSES_LAST MP_PACKET_SIGNAL
71 
80 typedef struct {
90  uint32_t return_code;
92  uint32_t length;
94  uint32_t to_convert;
98 
102 #define MP_PACKET_MINIMUM_PACKET_SIZE 64
103 
111 #define MP_PACKET_MINIMUN_HETERO_CONVERSION \
112  ( sizeof( MP_packet_Prefix ) / sizeof( uint32_t ) )
113 
116 #ifdef __cplusplus
117 }
118 #endif
119 
120 #endif
121 /* end of include file */
MP_packet_Classes the_class
This field indicates the API class of the operation being performed.
Definition: mppkt.h:82
Constants and Structures Associated with the Object Handler.
Thread Priority Manipulation Routines.
The following record contains the prefix for every packet passed between nodes in an MP system...
Definition: mppkt.h:80
Priority_Control source_priority
This field is the priority of the originating thread.
Definition: mppkt.h:88
MP_packet_Classes
The following enumerated type defines the packet classes.
Definition: mppkt.h:51
Watchdog_Interval timeout
This field is the requested timeout for this operation.
Definition: mppkt.h:96
Constants and Structures Associated with Watchdog Timers.
Objects_Id source_tid
This field is the ID of the originating thread.
Definition: mppkt.h:86
Objects_Id id
This field is the id of the object to be acted upon.
Definition: mppkt.h:84
uint32_t Priority_Control
The following type defines the control block used to manage thread priorities.
Definition: priority.h:56
uint32_t to_convert
This field is the length of the data which required network conversion.
Definition: mppkt.h:94
uint32_t Watchdog_Interval
Type is used to specify the length of intervals.
Definition: watchdog.h:47
uint32_t length
This field is the length of the data following the prefix.
Definition: mppkt.h:92
uint32_t Objects_Id
The following type defines the control block used to manage object IDs.
Definition: object.h:122
uint32_t return_code
This field is where the status of the operation will be returned.
Definition: mppkt.h:90