MP Packet Handler


Data Structures

struct  MP_packet_Prefix

Defines

#define MP_PACKET_CLASSES_FIRST   MP_PACKET_MPCI_INTERNAL
#define MP_PACKET_CLASSES_LAST   MP_PACKET_SIGNAL
#define MP_PACKET_MINIMUM_PACKET_SIZE   64
#define MP_PACKET_MINIMUN_HETERO_CONVERSION   ( sizeof( MP_packet_Prefix ) / sizeof( uint32_t ) )

Enumerations

enum  MP_packet_Classes {
  MP_PACKET_MPCI_INTERNAL = 0, MP_PACKET_TASKS = 1, MP_PACKET_MESSAGE_QUEUE = 2, MP_PACKET_SEMAPHORE = 3,
  MP_PACKET_PARTITION = 4, MP_PACKET_REGION = 5, MP_PACKET_EVENT = 6, MP_PACKET_SIGNAL = 7
}

Functions

RTEMS_INLINE_ROUTINE boolean _Mp_packet_Is_valid_packet_class (MP_packet_Classes the_packet_class)
RTEMS_INLINE_ROUTINE boolean _Mp_packet_Is_null (MP_packet_Prefix *the_packet)

Detailed Description

This handler encapsulates the primary definition of MPCI packets. This handler defines the part of the packet that is common to all remote operations.

Define Documentation

#define MP_PACKET_CLASSES_FIRST   MP_PACKET_MPCI_INTERNAL

This constant defines the first entry in the MP_packet_Classes enumeration.

#define MP_PACKET_CLASSES_LAST   MP_PACKET_SIGNAL

This constant defines the last entry in the MP_packet_Classes enumeration.

Referenced by _Mp_packet_Is_valid_packet_class().

#define MP_PACKET_MINIMUM_PACKET_SIZE   64

An MPCI must support packets of at least this size.

#define MP_PACKET_MINIMUN_HETERO_CONVERSION   ( sizeof( MP_packet_Prefix ) / sizeof( uint32_t ) )

The following constant defines the number of uint32_t 's in a packet which must be converted to native format in a heterogeneous system. In packets longer than MP_PACKET_MINIMUN_HETERO_CONVERSION uint32_t 's, some of the "extra" data may a user message buffer which is not automatically endian swapped.


Enumeration Type Documentation

The following enumerated type defines the packet classes.

Note:
In general, each class corresponds to a manager which supports global operations. Each manager defines the set of supported operations.


Function Documentation

RTEMS_INLINE_ROUTINE boolean _Mp_packet_Is_null ( MP_packet_Prefix the_packet  ) 

This function returns TRUE if the the_packet_class is null, and FALSE otherwise.

RTEMS_INLINE_ROUTINE boolean _Mp_packet_Is_valid_packet_class ( MP_packet_Classes  the_packet_class  ) 

This function returns TRUE if the the_packet_class is valid, and FALSE otherwise.

Note:
Check for lower bounds (MP_PACKET_CLASSES_FIRST ) is unnecessary because this enum starts at lower bound of zero.

References MP_PACKET_CLASSES_LAST.


Generated on Fri Jul 4 12:16:45 2008 for RTEMSSuperCore by  doxygen 1.5.6