SpiNNFrontEndCommon 7.1.1
Common support code for user-facing front end systems.
Loading...
Searching...
No Matches
Data Structures | Enumerations
eieio.h File Reference

EIEIO message header description. More...

#include <common-typedefs.h>

Go to the source code of this file.

Data Structures

union  eieio_header_bitfields
 The header of an EIEIO packet. More...
 
struct  eieio_header_bitfields.__unnamed1__
 
struct  eieio_header_bitfields.__unnamed3__
 

Enumerations

enum  eieio_bit_offsets {
  APPLY_PREFIX = 15 , PREFIX_UPPER = 14 , APPLY_PAYLOAD_PREFIX = 13 , PAYLOAD_IS_TIMESTAMP = 12 ,
  PACKET_TYPE = 10 , COUNT = 0 , PACKET_CLASS = 14 , PACKET_COMMAND = 0
}
 
enum  eieio_bit_masks {
  APPLY_PREFIX_MASK = 0x1 , PREFIX_UPPER_MASK = 0x1 , APPLY_PAYLOAD_PREFIX_MASK = 0x1 , PAYLOAD_IS_TIMESTAMP_MASK = 0x3 ,
  PACKET_TYPE_MASK = 0x3 , COUNT_MASK = 0xFF , PACKET_CLASS_MASK = 0x3 , PACKET_COMMAND_MASK = 0x3FFF
}
 
enum  eieio_data_message_types { KEY_16_BIT , KEY_PAYLOAD_16_BIT , KEY_32_BIT , KEY_PAYLOAD_32_bIT }
 The EIEIO basic message types. More...
 
enum  eieio_prefix_types { PREFIX_TYPE_LOWER_HALF_WORD , PREFIX_TYPE_UPPER_HALF_WORD }
 The EIEIO prefix types. More...
 

Detailed Description

EIEIO message header description.

Definition in file eieio.h.


Data Structure Documentation

◆ eieio_header_bitfields

union eieio_header_bitfields

The header of an EIEIO packet.

Definition at line 65 of file eieio.h.

Data Fields
struct eieio_header_bitfields.__unnamed1__ __unnamed__
struct eieio_header_bitfields.__unnamed3__ __unnamed__
uint16_t overall_value

◆ eieio_header_bitfields.__unnamed1__

struct eieio_header_bitfields.__unnamed1__

Definition at line 66 of file eieio.h.

Data Fields
uint16_t count: 8 The count.
uint16_t packet_type: 2 The type of the packet (see eieio_data_message_types)
uint16_t payload_is_timestamp: 1 Whether the payload is a timestamp.
uint16_t apply_payload_prefix: 1 Whether to apply the current prefix to the payload.
uint16_t prefix_upper: 1 Whether the prefix is applied to the upper or lower half of the payload.
uint16_t apply_prefix: 1 Whether to apply the prefix.

◆ eieio_header_bitfields.__unnamed3__

struct eieio_header_bitfields.__unnamed3__

Definition at line 83 of file eieio.h.

Data Fields
uint16_t packet_command: 14 What command is encoded in the packet.
uint16_t packet_class: 2 What is the class of the packet.

Enumeration Type Documentation

◆ eieio_bit_offsets

Offsets into the eieio_header_bitfields structure.

These are bit offsets into a 16 bit unsigned integer.

Enumerator
APPLY_PREFIX 

eieio_header_bitfields::apply_prefix

PREFIX_UPPER 

eieio_header_bitfields::prefix_upper

APPLY_PAYLOAD_PREFIX 

eieio_header_bitfields::apply_payload_prefix

PAYLOAD_IS_TIMESTAMP 

eieio_header_bitfields::payload_is_timestamp

PACKET_TYPE 

eieio_header_bitfields::packet_type

COUNT 

eieio_header_bitfields::count

PACKET_CLASS 

eieio_header_bitfields::packet_class

PACKET_COMMAND 

eieio_header_bitfields::packet_command

Definition at line 29 of file eieio.h.

◆ eieio_bit_masks

Masks for the eieio_header_bitfields structure.

These apply after the value has been shifted into the low bits by the offset.

Enumerator
APPLY_PREFIX_MASK 

eieio_header_bitfields::apply_prefix

PREFIX_UPPER_MASK 

eieio_header_bitfields::prefix_upper

APPLY_PAYLOAD_PREFIX_MASK 

eieio_header_bitfields::apply_payload_prefix

PAYLOAD_IS_TIMESTAMP_MASK 

eieio_header_bitfields::payload_is_timestamp

PACKET_TYPE_MASK 

eieio_header_bitfields::packet_type

COUNT_MASK 

eieio_header_bitfields::count

PACKET_CLASS_MASK 

eieio_header_bitfields::packet_class

PACKET_COMMAND_MASK 

eieio_header_bitfields::packet_command

Definition at line 44 of file eieio.h.

◆ eieio_data_message_types

The EIEIO basic message types.

Enumerator
KEY_16_BIT 

Message is just a key, 16 bits long.

KEY_PAYLOAD_16_BIT 

Message is a key and a payload, each 16 bits long.

KEY_32_BIT 

Message is just a key, 32 bits long.

KEY_PAYLOAD_32_bIT 

Message is a key and a payload, each 32 bits long.

Definition at line 93 of file eieio.h.

◆ eieio_prefix_types

The EIEIO prefix types.

Definition at line 105 of file eieio.h.