mbgtools-lx  4.2.8
Meinberg TLV feature definitions

Data Structures

struct  MBG_TLV_FEAT_BUFFER
 A structure used to store a bit mask of supported TLV context types. More...
 

Macros

#define MAX_MBG_TLV_FEAT_TYPES   128
 The maximum number of TLV feature types. More...
 
#define MBG_TLV_FEAT_TYPE_NAMES
 Names of TLV API features. More...
 
#define MAX_MBG_TLV_FEAT_BYTES   ( MAX_MBG_TLV_FEAT_TYPES / 8 )
 Array size required to store up to MAX_MBG_TLV_FEAT_TYPES bits. More...
 
#define _set_tlv_feat_bit(_tlv_feat_type, _tlv_feat_buffp)   _set_array_bit( _tlv_feat_type, (_tlv_feat_buffp)->supp_tlv_feat.b, MAX_MBG_TLV_FEAT_BYTES )
 Set a TLV context type bit in a MBG_TLV_FEAT_BUFFER. More...
 

Enumerations

enum  MBG_TLV_FEAT_TYPES {
  MBG_TLV_FEAT_TYPE_FW_UPDATE, MBG_TLV_FEAT_TYPE_DIAG_FILE, MBG_TLV_FEAT_TYPE_FW_ROLLBACK, MBG_TLV_FEAT_TYPE_FILE_TRANSFER,
  MBG_TLV_FEAT_TYPE_EXEC_CMD, MBG_TLV_FEAT_TYPE_LICENSE_UPGRADE, MBG_TLV_FEAT_TYPE_LICENSE_LIMITS, MBG_TLV_FEAT_TYPE_LICENSE_PTPV2_IDX,
  MBG_TLV_FEAT_TYPE_LICENSE_NTP_IDX, MBG_TLV_FEAT_TYPE_FILE_REQUEST, MBG_TLV_FEAT_TYPE_LICENSE_PTPV1_IDX, MBG_TLV_FEAT_TYPE_LICENSE_TIME_MONITOR_IDX,
  MBG_TLV_FEAT_TYPE_TIMEMON_FULL_STATUS, MBG_TLV_FEAT_TYPE_UFU, N_MBG_TLV_FEAT_TYPES
}
 Enumeration of known TLV feature types. More...
 

Detailed Description

Macro Definition Documentation

◆ _set_tlv_feat_bit

#define _set_tlv_feat_bit (   _tlv_feat_type,
  _tlv_feat_buffp 
)    _set_array_bit( _tlv_feat_type, (_tlv_feat_buffp)->supp_tlv_feat.b, MAX_MBG_TLV_FEAT_BYTES )

Set a TLV context type bit in a MBG_TLV_FEAT_BUFFER.

Should be used by the firmware only to set one of the MBG_TLV_FEAT_TYPES bits in an MBG_TLV_FEAT_BUFFER after power-up.

Parameters
[in]_tlv_feat_typeOne of the MBG_TLV_FEAT_TYPES
[in]_tlv_feat_buffpPointer to a MBG_TLV_FEAT_BUFFER

Definition at line 18249 of file gpsdefs.h.

Referenced by check_receiver_info_and_features().

◆ MAX_MBG_TLV_FEAT_BYTES

#define MAX_MBG_TLV_FEAT_BYTES   ( MAX_MBG_TLV_FEAT_TYPES / 8 )

Array size required to store up to MAX_MBG_TLV_FEAT_TYPES bits.

The number of bytes required to store up to MAX_MBG_TLV_FEAT_TYPES feature bits in a byte array.

Definition at line 18216 of file gpsdefs.h.

◆ MAX_MBG_TLV_FEAT_TYPES

#define MAX_MBG_TLV_FEAT_TYPES   128

The maximum number of TLV feature types.

Warning: Changing this number breaks API compatibility!

See also
MBG_TLV_FEAT_TYPES

Definition at line 18108 of file gpsdefs.h.

Referenced by dump_tlv_info().

◆ MBG_TLV_FEAT_TYPE_NAMES

#define MBG_TLV_FEAT_TYPE_NAMES
Value:
{ \
"TLV Firmware Update", \
"TLV Diagnostics File", \
"TLV Firmware Rollback", \
"TLV File Transfer", \
"TLV Execute Command", \
"TLV License Upgrade", \
"TLV License Limits", \
"TLV License PTPV2", \
"TLV License NTP", \
"TLV File Request", \
"TLV License PTPV1 IDX", \
"TLV License Sync Monitor", \
"TLV Sync Monitor Full Status", \
"TLV Unified Firmware Update" \
}

Names of TLV API features.

Can be used to initialize a string array of N_MBG_TLV_FEAT_TYPES entries, so the number of strings must correspond to N_MBG_TLV_FEAT_TYPES.

See also
MBG_TLV_FEAT_TYPES

Definition at line 18190 of file gpsdefs.h.

Referenced by dump_tlv_info().

Enumeration Type Documentation

◆ MBG_TLV_FEAT_TYPES

Enumeration of known TLV feature types.

TLV feature types are used to specify the content of a binary TLV message so that the receiver knows how to interpret the content.

Used with MBG_TLV_INFO::supp_tlv_feat and MBG_TLV_DATA::type. ### TODO

See also
MBG_TLV_FEAT_BUFFER
MBG_TLV_FEAT_TYPE_NAMES
MBG_TLV_TYPES
MBG_TLV_TYPE
Enumerator
MBG_TLV_FEAT_TYPE_FW_UPDATE 

Expects two TLV types in order: 1) MBG_TLV_TYPE_STR => Firmware version as string 2) MBG_TLV_TYPE_FILE => Firmware file as data blob

MBG_TLV_FEAT_TYPE_DIAG_FILE 

If announce message's total bytes are 0, it is a diagnostics file request. If its total bytes are not 0, TLV type MBG_TLV_TYPE_FILE is expected and it should contain a file as data blob.

MBG_TLV_FEAT_TYPE_FW_ROLLBACK 

Only used as action trigger on a remote site, expects no data.

MBG_TLV_FEAT_TYPE_FILE_TRANSFER 

Expects two TLV types in order: 1) MBG_TLV_TYPE_STR => Full qualified path including filename on target system 2) MBG_TLV_TYPE_FILE => File as data blob

MBG_TLV_FEAT_TYPE_EXEC_CMD 

1) MBG_TLV_TYPE_STR => Command line call as string

MBG_TLV_FEAT_TYPE_LICENSE_UPGRADE 

1) MBG_TLV_TYPE_FILE => Encrypted license file as data blob

MBG_TLV_FEAT_TYPE_LICENSE_LIMITS 

1) MBG_TLV_TYPE_BLOB => MBG_LICENSE_LIMITS, see License information

MBG_TLV_FEAT_TYPE_LICENSE_PTPV2_IDX 

1) MBG_TLV_TYPE_BLOB => MBG_LICENSE_PTPV2_IDX, see License information

MBG_TLV_FEAT_TYPE_LICENSE_NTP_IDX 

1) MBG_TLV_TYPE_BLOB => MBG_LICENSE_NTP_IDX, see License information

MBG_TLV_FEAT_TYPE_FILE_REQUEST 

Expects two TLV types in order: 1) MBG_TLV_TYPE_STR => Full qualified path including filename on target system

MBG_TLV_FEAT_TYPE_LICENSE_PTPV1_IDX 

1) MBG_TLV_TYPE_BLOB => MBG_LICENSE_PTPV1_IDX, see License information

MBG_TLV_FEAT_TYPE_LICENSE_TIME_MONITOR_IDX 

1) MBG_TLV_TYPE_BLOB => MBG_LICENSE_TIME_MONITOR_IDX, see License information

MBG_TLV_FEAT_TYPE_TIMEMON_FULL_STATUS 

used to receive full TimeMon Status structure

MBG_TLV_FEAT_TYPE_UFU 

1) MBG_TLV_TYPE_BLOB => Unified Firmware Update (UFU) file, see mbg_ufu.h

N_MBG_TLV_FEAT_TYPES 

Definition at line 18124 of file gpsdefs.h.