mbgtools-lx  4.2.8
eXtended Binary Protocol definitions

Data Structures

struct  XBP_ADDR
 An XBP address specifier. More...
 
struct  XBP_LIMITS
 A structure used to report XBP features and limits. More...
 
struct  XBP_NODE_LIMITS
 Information on available XBP nodes. More...
 
struct  XBP_NODE_INFO
 Information on a specific XBP node. More...
 
struct  XBP_NODE_INFO_IDX
 Information on an XBP node with specific index. More...
 

Macros

#define XBP_PORT_RESERVED   ( (XBP_PORT) -1 )
 An identifier used to mark an XBP port unused. More...
 
#define MAX_XBP_CASC_LVL   7
 Maximum XBP bus/controller cascading level. More...
 
#define _mbg_swab_xbp_addr(_p)   _nop_macro_fnc()
 
#define _mbg_swab_xbp_limits(_p)
 
#define _mbg_swab_xbp_node_limits(_p)
 
#define XBP_SLOT_TYPE_STRS
 
#define XBP_MAX_SLOT_NAME   5
 
#define _mbg_swab_xbp_node_info(_p)
 
#define _mbg_swab_xbp_node_info_idx(_p)
 

Typedefs

typedef uint8_t XBP_PORT
 An XBP port specifier. More...
 

Enumerations

enum  XBP_FEAT_BITS { XBP_FEAT_BIT_NODES, N_XBP_FEAT_BITS }
 Enumeration of bits used to define XBP_FEAT_MASKS. More...
 
enum  XBP_FEAT_MASKS { XBP_FEAT_MASK_NODES = ( 1UL << XBP_FEAT_BIT_NODES ) }
 XBP feature masks used with XBP_LIMITS::features. More...
 
enum  XBP_DEVICE_STATES {
  XBP_DEVICE_STATE_UNKNOWN, XBP_DEVICE_STATE_NOT_AVAILABLE, XBP_DEVICE_STATE_INITIALIZING, XBP_DEVICE_STATE_AVAILABLE,
  XBP_DEVICE_STATE_DISCONNECTED, N_XBP_DEVICE_STATES
}
 Possible states of an XBP device. More...
 
enum  XBP_SLOT_TYPES {
  XBP_SLOT_TYPE_UNKNOWN, XBP_SLOT_TYPE_PWR, XBP_SLOT_TYPE_CLK, XBP_SLOT_TYPE_SCU,
  XBP_SLOT_TYPE_CPU, XBP_SLOT_TYPE_MRI, XBP_SLOT_TYPE_ESI, XBP_SLOT_TYPE_IO,
  N_XBP_SLOT_TYPES
}
 Possible IMS slot types of an XBP device. More...
 

Detailed Description

Note
These structures are only supported if GPS_HAS_XBP is set in RECEIVER_INFO::features.

Macro Definition Documentation

◆ _mbg_swab_xbp_addr

#define _mbg_swab_xbp_addr (   _p)    _nop_macro_fnc()

Definition at line 17868 of file gpsdefs.h.

◆ _mbg_swab_xbp_limits

#define _mbg_swab_xbp_limits (   _p)
Value:
do \
{ \
_mbg_swab32( &(_p)->features ); \
_mbg_swab32( &(_p)->flags ); \
_mbg_swab32( &(_p)->reserved_0 ); \
_mbg_swab32( &(_p)->reserved_1 ); \
_mbg_swab32( &(_p)->reserved_2 ); \
_mbg_swab32( &(_p)->reserved_3 ); \
} while ( 0 )

Definition at line 17886 of file gpsdefs.h.

Referenced by mbgextio_get_xbp_limits().

◆ _mbg_swab_xbp_node_info

#define _mbg_swab_xbp_node_info (   _p)
Value:
do \
{ \
_mbg_swab_xbp_addr( &(_p)->addr ); \
_mbg_swab_receiver_info( &(_p)->ri ); \
_mbg_swab8( &(_p)->state ); \
_mbg_swab8( &(_p)->slot_type ); \
_mbg_swab8( &(_p)->slot_type_id ); \
_mbg_swab8( &(_p)->reserved ); \
_mbg_swab16( &(_p)->flags ); \
} while ( 0 )

Definition at line 18025 of file gpsdefs.h.

◆ _mbg_swab_xbp_node_info_idx

#define _mbg_swab_xbp_node_info_idx (   _p)
Value:
do \
{ \
_mbg_swab32( &(_p)->idx ); \
_mbg_swab_xbp_node_info( &(_p)->node_info ); \
} while ( 0 )

Definition at line 18051 of file gpsdefs.h.

Referenced by mbgextio_get_xbp_node_info_idx().

◆ _mbg_swab_xbp_node_limits

#define _mbg_swab_xbp_node_limits (   _p)
Value:
do \
{ \
_mbg_swab32( &(_p)->node_count ); \
_mbg_swab32( &(_p)->reserved_0 ); \
_mbg_swab32( &(_p)->reserved_1 ); \
} while ( 0 )

Definition at line 17935 of file gpsdefs.h.

Referenced by mbgextio_get_xbp_node_limits().

◆ MAX_XBP_CASC_LVL

#define MAX_XBP_CASC_LVL   7

Maximum XBP bus/controller cascading level.

Should be 7 so the total size of XBP_ADDR is 8 bytes.

Definition at line 17853 of file gpsdefs.h.

Referenced by handle_xbp_node(), and mbgextio_setup_xbp_node_list().

◆ XBP_MAX_SLOT_NAME

#define XBP_MAX_SLOT_NAME   5

Maximum string length (including terminating zero) of a full XBP slot name which consists of XBP_NODE_INFO::slot_type and XBP_NODE_INFO::slot_type_id Examples: "CLK1", "MRI2", ...

Definition at line 17996 of file gpsdefs.h.

◆ XBP_PORT_RESERVED

#define XBP_PORT_RESERVED   ( (XBP_PORT) -1 )

An identifier used to mark an XBP port unused.

Definition at line 17845 of file gpsdefs.h.

◆ XBP_SLOT_TYPE_STRS

#define XBP_SLOT_TYPE_STRS
Value:
{ \
"Unknown", \
"PWR", \
"CLK", \
"SCU", \
"CPU", \
"MRI", \
"ESI", \
"IO" \
}

Definition at line 17980 of file gpsdefs.h.

Typedef Documentation

◆ XBP_PORT

typedef uint8_t XBP_PORT

An XBP port specifier.

Each controller can provide up to 255 ports with numbers 0..254. XBP port number XBP_PORT_RESERVED is reserved to mark unused ports.

Definition at line 17839 of file gpsdefs.h.

Enumeration Type Documentation

◆ XBP_DEVICE_STATES

Possible states of an XBP device.

Used with XBP_NODE_INFO::state.

Enumerator
XBP_DEVICE_STATE_UNKNOWN 
XBP_DEVICE_STATE_NOT_AVAILABLE 
XBP_DEVICE_STATE_INITIALIZING 
XBP_DEVICE_STATE_AVAILABLE 
XBP_DEVICE_STATE_DISCONNECTED 
N_XBP_DEVICE_STATES 

Definition at line 17950 of file gpsdefs.h.

◆ XBP_FEAT_BITS

Enumeration of bits used to define XBP_FEAT_MASKS.

Enumerator
XBP_FEAT_BIT_NODES 

Supports XBP_NODE_LIMITS and associated structures.

N_XBP_FEAT_BITS 

Definition at line 17902 of file gpsdefs.h.

◆ XBP_FEAT_MASKS

XBP feature masks used with XBP_LIMITS::features.

See also
XBP_FEAT_BITS
Enumerator
XBP_FEAT_MASK_NODES 

See XBP_FEAT_BIT_NODES.

Definition at line 17914 of file gpsdefs.h.

◆ XBP_SLOT_TYPES

Possible IMS slot types of an XBP device.

Used with XBP_NODE_INFO::slot_type.

Enumerator
XBP_SLOT_TYPE_UNKNOWN 

Unknown slot type, i.e. slot type not supp.

XBP_SLOT_TYPE_PWR 

Slot for power supply units.

XBP_SLOT_TYPE_CLK 

Slot for reference clocks.

XBP_SLOT_TYPE_SCU 

Slot for switch card units.

XBP_SLOT_TYPE_CPU 

Slot for processing units.

XBP_SLOT_TYPE_MRI 

Slot for MRI (multi reference input) cards.

XBP_SLOT_TYPE_ESI 

Slot for ESI (extended reference input) cards.

XBP_SLOT_TYPE_IO 

Slot for all other input/output cards.

N_XBP_SLOT_TYPES 

Definition at line 17966 of file gpsdefs.h.