static void test_parser(void) { _cleanup_(sd_lldp_packet_unrefp) tlv_packet *tlv = NULL; /* form a packet */ lldp_build_tlv_packet(&tlv); /* parse the packet */ tlv_packet_parse_pdu(tlv, tlv->length); /* verify */ lldp_parse_tlv_packet(tlv, tlv->length); }
static int lldp_parse_tlv_packet(tlv_packet *m, int len) { uint8_t subtype; assert_se(tlv_packet_parse_pdu(m, len) >= 0); assert_se(lldp_parse_chassis_tlv(m, &subtype) >= 0); assert_se(lldp_parse_port_id_tlv(m) >= 0); assert_se(lldp_parse_system_name_tlv(m) >= 0); assert_se(lldp_parse_ttl_tlv(m) >= 0); assert_se(lldp_parse_system_desc_tlv(m) >= 0); return 0; }
int main(int argc, char *argv[]) { _cleanup_tlv_packet_free_ tlv_packet *tlv = NULL; /* form a packet */ lldp_build_tlv_packet(&tlv); /* parse the packet */ tlv_packet_parse_pdu(tlv, tlv->length); /* verify */ lldp_parse_tlv_packet(tlv, tlv->length); return 0; }