80 #if !defined( MBG_TGT_KERNEL ) 85 #if defined( _PRELIMINARY_CODE ) 86 #if defined( MBG_TGT_POSIX ) 89 #endif // MBG_TGT_POSIX 91 #if defined( MBG_TGT_LINUX ) 92 #include <sys/sysinfo.h> 93 #endif // MBG_TGT_LINUX 95 #endif // _PRELIMINARY_CODE 112 #if 1 // ### TODO cleanup 114 #define N_SUPP_DEV_BUS 16 115 #define N_SUPP_DEV_EXT 1 117 #define N_SUPP_DEV_TOTAL ( N_SUPP_DEV_BUS + N_SUPP_DEV_EXT ) 136 #define MAX_PARM_PORT 10 140 #define MAX_PARM_STR_TYPE 20 143 #define MAX_PARM_POUT 10 146 #define MAX_PARM_GNSS_SAT N_GNSS_TYPES 149 #define MAX_PARM_PTP_UC_MASTER 3 152 #define MAX_PARM_EXT_NTP_SRVR 20 155 #define MAX_PARM_GPIO 10 158 #define MAX_PARM_XMR 10 161 #define MAX_EXT_NTP_SERVERS 20 166 #define MAX_MBG_TIME_MON_MODULES 10 171 #define MAX_MBG_TIME_MON_TARGETS 100 594 #ifndef MAX_UCAP_ENTRIES 599 #define MAX_UCAP_ENTRIES 585 772 #define MBG_EXT_SYS_INFO_CPU_CODECS \ 774 {HPS_USB_HOST_G1_V0, "microSYNC HSXXX"}, \ 775 {HPS_USB_DEVICE_G1_V0, "HPS100"}, \ 776 {HPS_USB_DEVICE_G1_V1, "SSP100"} \ 867 #define DEFAULT_MAX_STR_TYPE 2 // DEFAULT_N_STR_TYPE_GPS ? 886 #define _get_gpio_type_name( _i ) \ 887 ( ( (_i) < N_MBG_GPIO_TYPES ) ? mbg_gpio_type_names[_i] : str_unknown ) 897 #define _get_gpio_port_state_name( _i ) \ 898 ( ( (_i) < N_MBG_GPIO_PORT_STATES ) ? mbg_gpio_port_state_names[_i] : str_unknown ) 908 #define _get_gpio_signal_shape_name( _i ) \ 909 ( ( (_i) < N_MBG_GPIO_SIGNAL_SHAPES ) ? mbg_gpio_signal_shape_names[_i] : str_unknown ) 919 #define _get_gpio_fixed_freq_str( _i ) \ 920 ( ( (_i) < N_MBG_GPIO_FIXED_FREQ ) ? mbg_gpio_fixed_freq_strs[_i] : str_unknown ) 930 #define _get_xmr_holdover_status_mode_name( _i ) \ 931 ( ( (_i) < N_XMR_HOLDOVER_STATUS_MODES ) ? xmr_holdover_status_mode_names[_i] : str_unknown ) 941 #define _get_ptp_role_str_dflt( _i, _dflt ) \ 942 ( ( (_i) < N_PTP_ROLES ) ? ptp_role_strs[_i] : _dflt ) 944 #define _get_ptp_role_str( _i ) \ 945 _get_ptp_role_str_dflt( _i, str_unknown ) 955 #define _get_ptp_nw_protocol_str_dflt( _i, _dflt ) \ 956 ( ( (_i) < N_PTP_NW_PROT ) ? ptp_nw_protocol_strs[_i] : _dflt ) 958 #define _get_ptp_nw_protocol_str( _i ) \ 959 _get_ptp_nw_protocol_str_dflt(_i, str_unknown ) 969 #define _get_ptp_port_state_str_dflt( _i, _dflt ) \ 970 ( ( (_i) < N_PTP_PORT_STATE ) ? ptp_port_state_strs[_i] : _dflt ) 972 #define _get_ptp_port_state_str( _i ) \ 973 _get_ptp_port_state_str_dflt( _i, str_unknown ) 983 #define _get_ptp_clock_accuracy_str_dflt( _i, _dflt ) \ 984 ( ( ( (_i) >= PTP_CLOCK_ACCURACY_NUM_BIAS ) && ( (_i) < N_PTP_CLOCK_ACCURACY ) ) ? \ 985 ptp_clock_accuracy_strs[(_i) - PTP_CLOCK_ACCURACY_NUM_BIAS] : _dflt ) 987 #define _get_ptp_clock_accuracy_str( _i ) \ 988 _get_ptp_clock_accuracy_str( _i, str_unknown ) 998 #define _get_ptp_delay_mechanism_str_dflt( _i, _dflt ) \ 999 ( ( (_i) < N_PTP_DELAY_MECH ) ? ptp_delay_mechanism_strs[_i] : _dflt ) 1001 #define _get_ptp_delay_mechanism_str( _i ) \ 1002 _get_ptp_delay_mechanism_str_dflt( _i, str_unknown ) 1029 for ( i = 0; i < ( 8 *
sizeof( val ) ); i++ )
1043 #if !defined( MBG_TGT_KERNEL ) 1057 #if defined( MBG_TGT_NO_TGT ) 1059 #elif defined( MBG_TGT_WIN32 ) 1062 return strstr( dev_id,
"COM" ) != NULL;
1063 #elif defined( MBG_TGT_LINUX ) 1064 return strstr( dev_id,
"/dev/ttyS" ) != NULL
1065 || strstr( dev_id,
"/dev/ttyUSB" ) != NULL;
1066 #elif defined( MBG_TGT_FREEBSD ) 1067 return strstr( dev_id,
"/dev/ttyu" ) != NULL
1068 || strstr( dev_id,
"/dev/cuau" ) != NULL
1069 || strstr( dev_id,
"/dev/ttyd" ) != NULL
1070 || strstr( dev_id,
"/dev/cuad" ) != NULL;
1071 #elif defined( MBG_TGT_NETBSD ) 1076 return strstr( dev_id,
"/dev/tty0" ) != NULL
1077 || strstr( dev_id,
"/dev/dty0" ) != NULL;
1078 #elif defined( MBG_TGT_QNX_NTO ) 1079 return strstr( dev_id,
"/dev/ser" ) != NULL;
1080 #elif defined( MBG_TGT_DOS ) 1081 return strstr( dev_id,
"COM" ) != NULL;
1083 #error device_id_is_serial() needs to be implemented for this platform 1100 return strstr( dev_id,
"LAN" ) != NULL;
1104 #endif // !defined( MBG_TGT_KERNEL ) 1108 #if defined( _PRELIMINARY_CODE ) 1113 #if defined( MBG_TGT_LINUX ) 1114 struct sysinfo info; 1118 return ( (
MBG_TLV_UID) ( ( time( NULL ) >> 16 ) | (
info.uptime << 16 ) ) );
1124 #endif // defined( _PRELIMINARY_CODE ) 1128 #if !defined( MBG_TGT_KERNEL ) 1153 int get_str_idx(
const char *search,
const char *str_table[],
int n_entries ) ;
1305 int mbg_snprint_revision(
char *buf,
size_t buflen,
const char *prefix,
const char *suffix, uint32_t rev) ;
1620 #endif // !defined( MBG_TGT_KERNEL ) void mbg_tlv_announce_init(MBG_TLV_ANNOUNCE *tlv, MBG_TLV_UID uid, MBG_TLV_TYPE tlv_feat_type, uint32_t total_bytes)
Initializes a MBG_TLV_ANNOUNCE structure.
void free_all_svc_info(ALL_SERVICE_INFO *p)
Free an ALL_SERVICE_INFO structure.
const struct mbg_firmware * firmware
Backref to firmware.
PCPS_TIME_EXT_FLAG_BITS
Flag bits indicating if some extended status is available.
PTP_CFG_INFO ptp_cfg_info
int32_t BAUD_RATE
A data type to configure a serial port's baud rate.
NTP_REFCLK_STATE_IDX * refclk_states
MBG_IMS_FDM_STATE * fdm_state
NTP trusted key info, with index.
MBG_SYSLOG_SERVER * servers
MBG_GPIO_STATUS_IDX * states
void free_all_ucap_net_info(ALL_UCAP_NET_INFO *p)
Free an ALL_UCAP_NET_INFO structure.
unsigned char has_metrics
An entry for a table of parameters which can not be accessed by an enumerated index.
void free_all_net_cfg_info(ALL_NET_CFG_INFO *p)
Free an ALL_NET_CFG_INFO structure.
void free_all_user_info(ALL_USER_INFO *p)
Free an ALL_USER_INFO structure.
_NO_MBG_API_ATTR int _MBG_API chk_dev_xbp_supp_nodes(const ALL_XBP_INFO *info)
void free_all_snmp_info(ALL_SNMP_INFO *p)
Free an ALL_SNMP_INFO structure.
_NO_MBG_API_ATTR int _MBG_API chk_dev_ntp_supp_server(const ALL_NTP_CFG_INFO *info)
XMULTI_REF_INFO_IDX * infos
#define MBG_BAUD_RATES
An initializer for a table of baud rate values.
Structure that represents a timestamp in NTP Timestamp Format.
MBG_IO_PORT_LIMITS limits
Structure that contains an index value and the NTP peer state.
XMR_EXT_SRC_INFO_IDX * ext_src_infos
A The structure used to store the configuration of two serial ports.
const char * str_undefined
int mbg_snprint_revision(char *buf, size_t buflen, const char *prefix, const char *suffix, uint32_t rev)
XMR_HOLDOVER_STATUS * holdover_status
Information on a supported string format.
MBG_GPIO_CFG_LIMITS cfg_limits
All XBP information of a XBP supporting device.
MBG_SNMP_V12_INFO_IDX * v12_infos
#define MAX_PARM_POUT
The max number of programmable pulse outputs supported by configuration programs. ...
MBG_NET_INTF_ADDR_INFO_IDX * addr_infos
int valid_port_info(const PORT_INFO *p_pi, const STR_TYPE_INFO_IDX str_type_info_idx[], int n_str_type)
void free_all_gpio_info(ALL_GPIO_INFO *p)
Free memory allocated by mbgextio_get_all_gpio_info.
PTPv1 current dataset containing information about the synchronization status of the device...
A timestamp with nanosecond resolution, but 64 bit size.
_NO_MBG_API_ATTR int _MBG_API chk_dev_ims_is_volt_out_overload(const ALL_IMS_STATE *ims_state, unsigned idx)
PTP_UC_MASTER_CFG_LIMITS ptp_uc_master_cfg_limits
#define MAX_PARM_GPIO
The max number of GPIO ports supported by configuration programs.
Status information on a ref time source at a specific priority level.
#define PTP_ROLE_STRS
Name strings for defined PTP roles.
struct mbg_syslog_server MBG_SYSLOG_SERVER
All monitoring syslog data.
void chk_free_dev_hw_id(DEVICE_INFO *p)
struct mbg_firmware_ufu * ufus
Array of MBG_FW_INFO::num_ufus.
All monitoring event data.
void free_all_ptp_v1_common_datasets(ALL_PTP_V1_COMMON_DATASETS *p)
Free an ALL_PTP_V1_COMMON_DATASETS structure allocated by mbgextio_get_all_ptp_v1_common_datasets.
MBG_IMS_FDM_OUTPUT_INFO_IDX * fdm_outinfo_idx
Configuration settings of a serial port.
const char * ptp_nw_protocol_strs[N_PTP_NW_PROT]
GNSS_SAT_INFO_IDX ALL_GNSS_SAT_INFO_IDX[N_GNSS_TYPES]
An array of configuration settings for all programmable pulse outputs.
ALL_NET_CFG_INFO ALL_NET_STATUS_INFO
#define MAX_PARM_PORT
The max number of serial ports supported by configuration programs.
ALL_NTP_PEER_SETTINGS all_ntp_peer_settings
XMR_METRICS_IDX * metrics_idx
number of defined protocols
Information on available XBP nodes.
NTP refclock info, with index.
static __mbg_inline int num_bits_set(long val)
Count the number of bits which are not 0.
Peer settings for NTP devices to configure an upload NTP server.
MBG_GNSS_MODE_INFO gnss_mode_info
void free_all_ims_state(ALL_IMS_STATE *p)
Free memory allocated by mbgextio_get_all_ims_state.
MBG_NET_NAME_IDX * dns_srch_doms
XMR timing metrics for a particular source, with index.
PTPv1 parent dataset containing information about the master (parent) of the device.
Query MBG_NET_INTF_LINK_INFO by its index.
void port_parm_from_port_settings(PORT_PARM *p_pp, int port_idx, const PORT_SETTINGS *p_ps, int cap_str_idx)
Set up a a legacy PORT_PARM structure from a PORT_SETTINGS structure.
_NO_MBG_API_ATTR int _MBG_API chk_dev_xmulti_ref_supp_ext_src_info(const ALL_XMULTI_REF_INFO *info)
Current settings and general capabilities of a specific unicast master.
Query MBG_NET_INTF_ROUTE_INFO by its index.
Information on an XBP node with specific index.
_NO_MBG_API_ATTR int _MBG_API chk_dev_xmulti_ref_supp_ext_source_stats(const ALL_XMULTI_REF_INFO *info, int type)
MBG_PTP_V1_PORT_DATASET_IDX * port_datasets
NTP_SRV_MODE_INFO * srv_info
MBG_IO_PORT_STATUS status
MBG_PTP_V2_CURRENT_DATASET current_dataset
MBG_SNMP_V12_TRAP_INFO_IDX * v12_trap_infos
static __mbg_inline bool device_id_is_serial(const char *dev_id)
Check if a device ID refers to a serial port.
void port_parm_mode_from_port_settings(uint8_t *pp_mode, const PORT_SETTINGS *p_ps, int cap_str_idx)
Convert a PORT_SETTINGS::mode to a legacy PORT_PARM::mode.
#define DEFAULT_STR_MODES
void free_all_ims_info(ALL_IMS_INFO *p)
Free memory allocated by mbgextio_get_all_ims_info.
struct mbg_database MBG_DATABASE
General GPIO config info to be read from a device.
MBG_USER_MNGMNT_INFO user_mngmnt_info
uint32_t MBG_TLV_TYPE
A data type to hold one of the MBG_TLV_TYPES or MBG_TLV_FEAT_TYPES.
PCPS_TIME_EXT_FLAGS
Flag masks used with PCPS_TIME_EXT::flags.
void free_all_net_status_info(ALL_NET_STATUS_INFO *p)
Free an ALL_NET_STATUS_INFO structure.
A generic structure used to specify FDM limits.
NTP_CLNT_MODE_INFO * clnt_info
MBG_PTP_V1_CURRENT_DATASET current_dataset
XMR statistics for a particular source, with index.
NTP_REFCLK_CFG_INFO_IDX * refclk_info_idx
number of predefined fixed frequencies
MBG_UCAP_NET_RECV_INFO_IDX * recv_infos
#define PTP_NW_PROT_STRS
Name strings for the protocols possibly used with PTP.
All monitoring information.
Structure that represents the current system status of an NTP device.
void free_all_database_info(ALL_DATABASE_INFO *p)
Free an ALL_DATABASE_INFO structure.
void(* release_priv)(struct mbg_firmware *)
PTPv2 time properties dataset.
struct mbg_firmware MBG_FIRMWARE
_NO_MBG_API_ATTR int _MBG_API chk_dev_ntp_supp_client(const ALL_NTP_CFG_INFO *info)
const char * ptp_clock_accuracy_strs[N_PTP_CLOCK_ACCURACY - PTP_CLOCK_ACCURACY_NUM_BIAS]
MBG_PTP_V1_DEFAULT_DATASET default_dataset
_NO_MBG_API_ATTR int _MBG_API chk_dev_ims_is_volt_out_enabled(const ALL_IMS_STATE *ims_state, unsigned idx)
void free_all_ucap_info(ALL_UCAP_INFO *p)
Free memory allocated by mbgextio_get_all_ucap_info.
Summary information on all supported GNSS systems.
#define DEFAULT_GPIO_PORT_STATE_NAMES
String initializers for GPIO port state names.
A GPIO port's current settings and limits, plus port index.
NTP symm key info, with index.
TLV structure containing information on current TLV transaction and its current data.
void mbg_tlv_rcv_state_init(MBG_TLV_RCV_STATE *state, MBG_TLV_UID uid, uint32_t total_bytes)
Initializes MBG_TLV_RCV_STATE structure.
MBG_IMS_FDM_INFO * fdm_info
int chk_set_n_gnss_supp(ALL_GNSS_INFO *p_agi)
void free_all_xbp_info(ALL_XBP_INFO *p)
Free an ALL_XBP_INFO structure.
#define MAX_PARM_GNSS_SAT
The max number of GNSS settings supported by configuration programs.
Information on a specific supported string format.
MBG_IO_PORT_SETTINGS * setts
XMR_STATS_IDX * stats_idx
#define MAX_PARM_PTP_UC_MASTER
The max number of PTP unicast masters supported by configuration programs.
Settings, features and flags for receivers of user captures via network.
the number of known modes
NTP_PEER_SETTINGS_IDX * peer_settings_idx
Client settings info of an NTP device.
const char * mbg_gpio_type_names[N_MBG_GPIO_TYPES]
#define MBG_BAUD_STRS
An initializer for a table of baud rate strings.
const char * mbg_gpio_signal_shape_names[N_MBG_GPIO_SIGNAL_SHAPES]
#define DEFAULT_GPIO_TYPES_SHORT_STRS
const char * ptp_role_strs[N_PTP_ROLES]
ALL_PTP_UC_MASTER_INFO_IDX all_ptp_uc_master_info_idx
XBP_NODE_LIMITS * node_limits
MBG_SNMP_V3_TRAP_INFO_IDX * v3_trap_infos
DEVICE_INFO device_list[(16+1)]
A structure to used to query the current configuration and capabilities of a PTP port.
number of known signal shapes
#define DEFAULT_MAX_STR_TYPE
const char * get_hw_id_from_fw_id(const char *fw_id)
Specific FDM settings and limits.
void free_all_io_ports(ALL_MBG_IO_PORTS *p)
Free memory allocated by mbgextio_get_all_io_ports.
Index structure for PTPv2 port dataset.
A structure used to transmit information on date and time.
Index structure for PTPv1 port dataset.
MBG_IMS_FDM_OUTPUT_STATE_IDX * fdm_output_state_idx
struct mbg_event MBG_EVENT
All monitoring event data.
MBG_EVENT_VALUE * dict_entries
MBG_NET_INTF_LINK_INFO_IDX * link_infos
Generic state of an IMS device.
All network configuration parameters.
All PTPv2 common datasets for a PTP device.
number of known port states
XMULTI_REF_INSTANCES instances
int setup_default_str_type_info_idx(STR_TYPE_INFO_IDX stii[], const RECEIVER_INFO *p_ri)
static __mbg_inline MBG_TLV_UID mbg_tlv_create_id(void)
MBG_NET_GLB_CFG_INFO glb_cfg_info
XBP_NODE_INFO_IDX * node_infos
void(* release_backref)(struct mbg_event *)
Global configuration info of an NTP device (client/server)
Limits to be considered when specifying PTP unicast masters.
_NO_MBG_API_ATTR int _MBG_API chk_dev_xmulti_ref_supp_mrf_none(const ALL_XMULTI_REF_INFO *info)
#define PTP_DELAY_MECH_NAMES
Name strings for the PTP delay mechanisms.
const char * mbg_gpio_port_state_names[N_MBG_GPIO_PORT_STATES]
ALL_SYSLOG_INFO * all_syslog_info
NTP_PEER_STATE_IDX * peer_states
const char * mbg_baud_rate_strs[N_MBG_BAUD_RATES]
struct mbg_service MBG_SERVICE
An IPv4 or IPv6 network address, plus index.
All PTP configuration parameters.
MBG_GPIO_STATUS_IDX ALL_GPIO_STATUS_IDX[10]
Status information on all GPIO ports.
Structure containing state information while reading TLV data.
MBG_PTP_V2_TIME_PROPERTIES_DATASET time_properties_dataset
MBG_PTP_V2_DEFAULT_DATASET default_dataset
_NO_MBG_API_ATTR int _MBG_API chk_dev_gpio_dep_on_ass_idx(const ALL_GPIO_INFO *gpio_info, unsigned idx)
void free_all_xmulti_ref_status(ALL_XMULTI_REF_STATUS *p)
Free an ALL_XMULTI_REF_STATUS structure.
Global settings, features and flags for user captures via network.
All PTPv1 common datasets for a PTP device.
XMULTI_REF_STATUS_IDX ALL_XMULTI_REF_STATUS_IDX[10]
Status of all XMR inputs.
General info on supported XMR sources and instances.
ALL_GNSS_SAT_INFO_IDX gnss_sat_info_idx
_NO_MBG_API_ATTR int _MBG_API chk_dev_gpio_supp_ass_idx(const ALL_GPIO_INFO *gpio_info, unsigned idx)
Network host or domain name, plus index.
const char * ptp_delay_mechanism_strs[N_PTP_DELAY_MECH]
_NO_MBG_API_ATTR int _MBG_API chk_dev_ims_has_fdm(const ALL_IMS_INFO *info)
NTP_MISC_LIMITS * misc_limits
MBG_PTP_V2_PORT_DATASET_IDX * port_datasets
Current settings and general capabilities of a serial port.
void free_all_gpio_state(ALL_GPIO_STATE *p)
Free memory allocated by mbgextio_get_all_gpio_state.
int setup_gps_only_gnss_info_from_statinfo(ALL_GNSS_INFO *p_agi)
Setup GNSS info from stat_info so we can use the same printing routine.
PORT_PARM tmp_pp
used internally only, for compatibility
NTP_TRUSTED_KEY_INFO_IDX * trusted_key_info_idx
struct mbg_io_port MBG_IO_PORT
MBG_UCAP_NET_GLB_INFO glb_info
#define MBG_FRAMING_STRS
An initializer for a table of known framing strings.
One of several sets of satellite information for a particular GNSS type.
ALL_SNMP_INFO * all_snmp_info
the number of known baud rates
struct _DEVICE_INFO DEVICE_INFO
const PTP_TABLE ptp_time_source_table[]
MBG_SNMP_GLB_INFO glb_info
XMULTI_REF_INFO_IDX ALL_XMULTI_REF_INFO_IDX[10]
Configuration settings for all XMR inputs.
Peer settings for NTP devices.
MBG_IMS_FDM_LIMITS * fdm_limits
#define PTP_PORT_STATE_STRS
Name strings for the PTP port states.
void setup_gps_only_sat_info_idx_from_statinfo(ALL_GNSS_INFO *p_agi)
Setup GNSS info from stat_info so we can use the same printing routine
Generic state of an IMS sensor, with sensor index.
Reference source capabilities and current configuration for a specific priority level.
NTP_SYMM_KEY_LIMITS * symm_key_limits
POUT_INFO_IDX ALL_POUT_INFO_IDX[10]
An array of configuration settings for all programmable pulse outputs.
MBG_IO_PORT_TYPE_INFO * pt_infos
_NO_MBG_API_ATTR int _MBG_API chk_dev_xmulti_ref_supp_ext_source_metrics(const ALL_XMULTI_REF_INFO *info, int type)
Status information on a specific GPIO port.
const char * mbg_gpio_fixed_freq_strs[N_MBG_GPIO_FIXED_FREQ]
int get_str_idx(const char *search, const char *str_table[], int n_entries)
PTPv1 default dataset containing global information about the device.
#define MBG_GPIO_FIXED_FREQ_STRS
Initializers for an array of GPIO fixed frequency name strings.
MBG_PTP_V1_TIME_PROPERTIES_DATASET time_properties_dataset
_NO_MBG_API_ATTR int _MBG_API chk_dev_net_cfg_supp_stage_2(const ALL_NET_CFG_INFO *info)
MBG_SERVICE_STATUS status
uint32_t MBG_TLV_UID
A data type used to hold a unique ID (UID) for a TLV transaction.
void free_all_events(ALL_EVENTS *p)
Free an ALL_EVENTS structure.
A structure initiating a TLV transfer.
const char * mbg_framing_strs[N_MBG_FRAMINGS]
MBG_PTP_V2_PARENT_DATASET parent_dataset
MBG_SNMP_V3_INFO_IDX * v3_infos
const char * xmr_holdover_status_mode_names[N_XMR_HOLDOVER_STATUS_MODES]
_NO_MBG_API_ATTR int _MBG_API chk_dev_receiver_info(const RECEIVER_INFO *p)
void free_all_syslog_info(ALL_SYSLOG_INFO *p)
Free an ALL_SYSLOG_INFO structure.
NTP_PEER_SETTINGS ALL_NTP_PEER_SETTINGS[20]
Configuration settings for all NTP server associations.
MBG_SYSLOG_GLB_INFO glb_info
uint32_t check_valid_port_info(const PORT_INFO *p_pi, const STR_TYPE_INFO_IDX str_type_info_idx[], int n_str_type)
void free_all_monitoring_info(ALL_MONITORING_INFO *p)
Free an ALL_MONITORING_INFO structure.
void str_ntp_hex_to_ntp_tstamp(const char *s, NTP_TSTAMP *p)
Set up a NTP_TSTAMP structure from a hex string with a time in seconds and binary fractions...
int chk_sw_rev_name(SW_REV *p, int verbose)
Check if a software revision name should be displayed.
void free_all_ntp_cfg_info(ALL_NTP_CFG_INFO *p)
Free an ALL_NTP_CFG_INFO structure.
#define PTP_CLOCK_ACCURACY_STRS
Name strings for PTP accuracy classes.
void(* release_priv)(struct mbg_firmware_ufu *)
MBG_GPIO_INFO_IDX * infos
Satellite receiver status information.
MBG_GPIO_INFO_IDX ALL_GPIO_INFO_IDX[10]
Configuration settings for all GPIO ports.
MBG_NET_INTF_ROUTE_INFO_IDX * route_infos
see PCPS_TIME_EXT_FLAG_BIT_UTC_VALID
number of defined delay mechanisms
Software revision information.
A structure used to report XBP features and limits.
Current settings and general capabilities of a specific serial port.
MBG_IO_PORT_TYPE_INFO * get_io_port_type_info(const MBG_IO_PORT *port, uint16_t port_type)
Returns the currently used MBG_IO_PORT_TYPE_INFO for the appropriate MBG_IO_PORT. ...
void free_all_ptp_v2_common_datasets(ALL_PTP_V2_COMMON_DATASETS *p)
Free an ALL_PTP_V2_COMMON_DATASETS structure allocated by mbgextio_get_all_ptp_v2_common_datasets.
number of defined port states
All SNMP configuration information.
COMP_SIG_MODES
A mode specifying how to interpret a PCPS_SIG_VAL.
MBG_IMS_SENSOR_STATE_IDX * sensor_state_idx
MBG_IP_ADDR_IDX * dns_srvrs
All NTP configuration parameters.
ALL_PORT_INFO_IDX pii
all serial port configuration settings
MBG_SERVICE_MGMT_INFO mgmt_info
#define DEFAULT_STR_MODES_UCAP
Query MBG_NET_INTF_ADDR_INFO by its index.
All monitoring syslog data.
NTP_MISC_ORPHAN_MODE_INFO * orphan_mode_info
MBG_MONITORING_LIMITS limits
UCAP_ENTRY * calloc_ucap_entry(void)
void str_ntp_hex_to_nano_time_64(const char *s, NANO_TIME_64 *p)
Set up a NANO_TIME_64 structure from a hex string with a time in seconds and binary fractions...
MBG_USER * users
system users for internal authentication
void(* release_backref)(struct mbg_service *)
PTP_UC_MASTER_INFO_IDX ALL_PTP_UC_MASTER_INFO_IDX[3]
Configuration settings for all unicast master specifications.
const char * get_fw_id_from_hw_id(const char *hw_id)
void(* release_backref)(struct mbg_user *)
int get_framing_idx(const char *framing)
BAUD_RATE mbg_baud_rates[N_MBG_BAUD_RATES]
MBG_USER * user_levels
global user levels for external authentication (i.e. radius/tacacs+)
_NO_MBG_API_ATTR int _MBG_API chk_dev_ims_is_pll_locked(const ALL_IMS_STATE *ims_state, unsigned idx)
_NO_MBG_API_ATTR int _MBG_API chk_dev_xmulti_ref_supp_holdover_status(const ALL_XMULTI_REF_INFO *info)
static __mbg_inline bool device_id_is_lan(const char *dev_id)
Check if a device ID refers to a LAN connection.
STR_TYPE_INFO_IDX ALL_STR_TYPE_INFO_IDX[20]
An array of configuration settings for all serial string types.
Specific output settings and limits, plus index.
int alloc_dev_hw_id(DEVICE_INFO *p, size_t len)
int get_baud_rate_idx(BAUD_RATE baud_rate)
PORT_INFO_IDX ALL_PORT_INFO_IDX[10]
An array of configuration settings for all serial ports.
#define MAX_PARM_XMR
The max number of XMR sources supported by configuration programs.
#define PTP_TIME_SOURCE_TABLE
A table of PTP time source codes plus associated name strings.
#define MAX_EXT_NTP_SERVERS
The max number of external NTP servers supported by configuration programs.
#define DEFAULT_GPIO_SIGNAL_SHAPE_NAMES
String initializers for GPIO signal shapes.
MBG_DATABASE_GLB_INFO glb_info
int setup_port_info_from_port_parm(PORT_INFO_IDX pii[], const PORT_PARM *p_pp, const RECEIVER_INFO *p_ri)
Setup an array of PORT_INFO_IDX structures from a PORT_PARM.
const char * ptp_port_state_strs[N_PTP_PORT_STATE]
MBG_PTP_V1_PARENT_DATASET parent_dataset
the number of known framings
Server settings info of an NTP device.
void free_all_xmulti_ref_info(ALL_XMULTI_REF_INFO *p)
Free an ALL_XMULTI_REF_INFO structure.
General NTP symmetric key limits to be read from a device.
PCPS_TIME_EXT::utc_offs field is valid
struct mbg_firmware_ufu MBG_FIRMWARE_UFU
void mbg_tlv_init(MBG_TLV *tlv, MBG_TLV_UID uid, MBG_TLV_TYPE tlv_type, uint32_t total_bytes)
Initializes a MBG_TLV.
A structure used to identify a device type and supported features.
#define XMR_HOLDOVER_STATUS_MODE_NAMES
String initializers for XMR holdover status mode.
STR_TYPE_INFO default_str_type_info[2]
Output state of FDM device plus index.
Global current network settings and supported features.
void port_settings_from_port_parm(PORT_SETTINGS *p_ps, int port_idx, const PORT_PARM *p_pp, int cap_str_idx)
Set up a PORT_SETTINGS structure from a legacy PORT_PARM structure.
_NO_MBG_API_ATTR int _MBG_API chk_dev_gpio_has_status(const ALL_GPIO_INFO *info)
Checks whether GPIO supports status function.
General NTP misc limits to be read from a device.
void port_settings_from_port_parm_mode(PORT_SETTINGS *p_ps, uint8_t pp_mode, int cap_str_idx)
Convert PORT_PARM::mode to PORT_SETTINGS::mode.
#define MAX_PARM_STR_TYPE
The max number of serial string types supported by configuration programs.
void free_all_firmware_info(ALL_FIRMWARE_INFO *p)
Free an ALL_FIRMWARE_INFO structure.
void free_all_ntp_status(ALL_NTP_STATUS *p)
Free an ALL_NTP_STATUS structure.
ALL_STR_TYPE_INFO_IDX stii
all supported serial string types
Current settings and general capabilities of a specific programmable pulse output.
void ntp_tstamp_to_nanotime_64(const NTP_TSTAMP *p_nts, NANO_TIME_64 *p_nt64)
Convert a NTP_TSTAMP structure to a NANO_TIME_64 structure.
NTP_SYMM_KEY_INFO_IDX * symm_key_info_idx
XMULTI_REF_STATUS_IDX * status
All configuration parameters for all serial ports.