RTEMS
mppkt.h
Go to the documentation of this file.
1 
15 /*
16  * COPYRIGHT (c) 1989-2011.
17  * On-Line Applications Research Corporation (OAR).
18  *
19  * The license and distribution terms for this file may be
20  * found in the file LICENSE in this distribution or at
21  * http://www.rtems.org/license/LICENSE.
22  */
23 
24 #ifndef _RTEMS_SCORE_MPPKT_H
25 #define _RTEMS_SCORE_MPPKT_H
26 
27 #include <rtems/score/object.h>
28 #include <rtems/score/priority.h>
30 
31 #ifdef __cplusplus
32 extern "C" {
33 #endif
34 
56 typedef enum {
57  MP_PACKET_MPCI_INTERNAL = 0,
58  MP_PACKET_TASKS = 1,
59  MP_PACKET_MESSAGE_QUEUE = 2,
60  MP_PACKET_SEMAPHORE = 3,
61  MP_PACKET_PARTITION = 4,
62  MP_PACKET_REGION = 5,
63  MP_PACKET_EVENT = 6,
64  MP_PACKET_SIGNAL = 7
66 
70 #define MP_PACKET_CLASSES_FIRST MP_PACKET_MPCI_INTERNAL
71 
75 #define MP_PACKET_CLASSES_LAST MP_PACKET_SIGNAL
76 
85 typedef struct {
93  uint32_t source_priority;
95  uint32_t return_code;
97  uint32_t length;
99  uint32_t to_convert;
103 
107 #define MP_PACKET_MINIMUM_PACKET_SIZE 64
108 
116 #define MP_PACKET_MINIMUN_HETERO_CONVERSION \
117  ( sizeof( MP_packet_Prefix ) / sizeof( uint32_t ) )
118 
121 #ifdef __cplusplus
122 }
123 #endif
124 
125 #endif
126 /* end of include file */
MP_packet_Classes the_class
Definition: mppkt.h:87
uint32_t Watchdog_Interval
Type is used to specify the length of intervals.
Definition: watchdogticks.h:38
uint32_t source_priority
Definition: mppkt.h:93
Constants and Structures Associated with the Object Handler.
MP_packet_Classes
Definition: mppkt.h:56
Watchdog_Interval timeout
Definition: mppkt.h:101
Objects_Id source_tid
Definition: mppkt.h:91
Objects_Id id
Definition: mppkt.h:89
uint32_t to_convert
Definition: mppkt.h:99
Priority Handler API.
Constants for the watchdog ticks.
uint32_t Objects_Id
Definition: object.h:80
uint32_t length
Definition: mppkt.h:97
uint32_t return_code
Definition: mppkt.h:95