abis_nm: Introduce abis_nm_dump_foh()

This is a more modern way of printing the Abis OML Formatted Object
Header, without assuming that it would be used in a log statement
or prescribing the log level to be used.

Change-Id: I9b2c2afec28882b817d104d5b062651ade7aadd8
This commit is contained in:
Harald Welte 2018-03-17 10:32:07 +01:00
parent c9bebbd325
commit d86055b431
3 changed files with 15 additions and 9 deletions

View File

@ -41,16 +41,14 @@ static inline const char *abis_nm_admin_name(uint8_t admin)
extern const struct tlv_definition abis_nm_osmo_att_tlvdef;
extern const struct tlv_definition abis_nm_att_tlvdef_ipa;
const char *abis_nm_dump_foh(const struct abis_om_fom_hdr *foh);
/*! write a human-readable OML header to the debug log
* \param[in] ss Logging sub-system
* \param[in] foh A-bis OML FOM header
*/
#define abis_nm_debugp_foh(ss, foh) \
DEBUGP(ss, "OC=%s(%02x) INST=(%02x,%02x,%02x) ", \
get_value_string(abis_nm_obj_class_names, (foh)->obj_class), \
(foh)->obj_class, (foh)->obj_inst.bts_nr, (foh)->obj_inst.trx_nr, \
(foh)->obj_inst.ts_nr)
DEBUGP(ss, "%s ", abis_nm_dump_foh(foh))
int abis_nm_chcomb4pchan(enum gsm_phys_chan_config pchan);
enum gsm_phys_chan_config abis_nm_pchan4chcomb(uint8_t chcomb);

View File

@ -928,15 +928,22 @@ enum gsm_phys_chan_config abis_nm_pchan4chcomb(uint8_t chcomb)
return GSM_PCHAN_NONE;
}
const char *abis_nm_dump_foh(const struct abis_om_fom_hdr *foh)
{
static char foh_buf[128];
snprintf(foh_buf, sizeof(foh_buf), "OC=%s(%02x) INST=(%02x,%02x,%02x)",
get_value_string(abis_nm_obj_class_names, foh->obj_class),
foh->obj_class, foh->obj_inst.bts_nr, foh->obj_inst.trx_nr,
foh->obj_inst.ts_nr);
return foh_buf;
}
/* this is just for compatibility reasons, it is now a macro */
#undef abis_nm_debugp_foh
OSMO_DEPRECATED("Use abis_nm_debugp_foh macro instead")
void abis_nm_debugp_foh(int ss, struct abis_om_fom_hdr *foh)
{
DEBUGP(ss, "OC=%s(%02x) INST=(%02x,%02x,%02x) ",
get_value_string(abis_nm_obj_class_names, foh->obj_class),
foh->obj_class, foh->obj_inst.bts_nr, foh->obj_inst.trx_nr,
foh->obj_inst.ts_nr);
DEBUGP(ss, "%s ", abis_nm_dump_foh(foh));
}
/*! @} */

View File

@ -8,6 +8,7 @@ abis_nm_fail_evt_rep;
abis_nm_fail_evt_vrep;
abis_nm_chcomb4pchan;
abis_nm_debugp_foh;
abis_nm_dump_foh;
abis_nm_event_type_name;
abis_nm_nack_cause_name;
abis_nm_nack_name;