void expert_add_info_format(packet_info *pinfo, proto_item *pi, int group, int severity, const char *format, ...) { va_list ap; va_start(ap, format); expert_set_info_vformat(pinfo, pi, group, severity, format, ap); va_end(ap); }
void expert_add_info(packet_info *pinfo, proto_item *pi, expert_field *expindex) { expert_field_info* eiinfo; /* Look up the item */ EXPERT_REGISTRAR_GET_NTH(expindex->ei, eiinfo); expert_set_info_vformat(pinfo, pi, eiinfo->group, eiinfo->severity, *eiinfo->hf_info.p_id, FALSE, eiinfo->summary, NULL); }
void expert_add_info_format(packet_info *pinfo, proto_item *pi, expert_field *expindex, const char *format, ...) { va_list ap; expert_field_info *eiinfo; /* Look up the item */ EXPERT_REGISTRAR_GET_NTH(expindex->ei, eiinfo); va_start(ap, format); expert_set_info_vformat(pinfo, pi, eiinfo->group, eiinfo->severity, *eiinfo->hf_info.p_id, TRUE, format, ap); va_end(ap); }
/* Helper function for expert_add_info() to work around compiler's special needs on ARM */ static inline void expert_add_info_internal(packet_info *pinfo, proto_item *pi, expert_field *expindex, ...) { /* the va_list is ignored */ va_list unused; expert_field_info *eiinfo; /* Look up the item */ EXPERT_REGISTRAR_GET_NTH(expindex->ei, eiinfo); va_start(unused, expindex); expert_set_info_vformat(pinfo, pi, eiinfo->group, eiinfo->severity, *eiinfo->hf_info.p_id, FALSE, eiinfo->summary, unused); va_end(unused); }
proto_item * proto_tree_add_expert(proto_tree *tree, packet_info *pinfo, expert_field* expindex, tvbuff_t *tvb, gint start, gint length) { expert_field_info* eiinfo; proto_item *ti; /* Look up the item */ EXPERT_REGISTRAR_GET_NTH(expindex->ei, eiinfo); ti = proto_tree_add_text(tree, tvb, start, length, "%s", eiinfo->summary); expert_set_info_vformat(pinfo, ti, eiinfo->group, eiinfo->severity, *eiinfo->hf_info.p_id, FALSE, eiinfo->summary, NULL); return ti; }
/* Helper function for expert_add_expert() to work around compiler's special needs on ARM */ static inline proto_item * proto_tree_add_expert_internal(proto_tree *tree, packet_info *pinfo, expert_field *expindex, tvbuff_t *tvb, gint start, gint length, ...) { expert_field_info *eiinfo; proto_item *ti; va_list unused; /* Look up the item */ EXPERT_REGISTRAR_GET_NTH(expindex->ei, eiinfo); ti = proto_tree_add_text_internal(tree, tvb, start, length, "%s", eiinfo->summary); va_start(unused, length); expert_set_info_vformat(pinfo, ti, eiinfo->group, eiinfo->severity, *eiinfo->hf_info.p_id, FALSE, eiinfo->summary, unused); va_end(unused); return ti; }
proto_item * proto_tree_add_expert_format(proto_tree *tree, packet_info *pinfo, expert_field *expindex, tvbuff_t *tvb, gint start, gint length, const char *format, ...) { va_list ap; expert_field_info *eiinfo; proto_item *ti; /* Look up the item */ EXPERT_REGISTRAR_GET_NTH(expindex->ei, eiinfo); va_start(ap, format); ti = proto_tree_add_text_valist_internal(tree, tvb, start, length, format, ap); va_end(ap); va_start(ap, format); expert_set_info_vformat(pinfo, ti, eiinfo->group, eiinfo->severity, *eiinfo->hf_info.p_id, TRUE, format, ap); va_end(ap); return ti; }