static struct ptunit_result decoder_init_null(void) { struct pt_packet_decoder decoder; struct pt_config config; int errcode; errcode = pt_pkt_decoder_init(NULL, &config); ptu_int_eq(errcode, -pte_invalid); errcode = pt_pkt_decoder_init(&decoder, NULL); ptu_int_eq(errcode, -pte_invalid); return ptu_passed(); }
struct pt_packet_decoder *pt_pkt_alloc_decoder(const struct pt_config *config) { struct pt_packet_decoder *decoder; int errcode; decoder = malloc(sizeof(*decoder)); if (!decoder) return NULL; errcode = pt_pkt_decoder_init(decoder, config); if (errcode < 0) { free(decoder); return NULL; } return decoder; }
static struct ptunit_result tfix_init(struct test_fixture *tfix) { struct pt_config *config; uint8_t *buffer; int errcode; config = &tfix->config; buffer = tfix->buffer; memset(buffer, 0, sizeof(tfix->buffer)); pt_config_init(config); config->begin = buffer; config->end = buffer + sizeof(tfix->buffer); errcode = pt_pkt_decoder_init(&tfix->decoder, config); ptu_int_eq(errcode, 0); return ptu_passed(); }
static struct ptunit_result pfix_init(struct packet_fixture *pfix) { int errcode; memset(pfix->buffer, 0, sizeof(pfix->buffer)); memset(pfix->packet, 0, sizeof(pfix->packet)); memset(&pfix->config, 0, sizeof(pfix->config)); pfix->config.size = sizeof(pfix->config); pfix->config.begin = pfix->buffer; pfix->config.end = pfix->buffer + sizeof(pfix->buffer); pfix->config.decode.callback = pfix_decode_unknown; pfix->config.decode.context = pfix; pt_encoder_init(&pfix->encoder, &pfix->config); pt_pkt_decoder_init(&pfix->decoder, &pfix->config); errcode = pt_pkt_sync_set(&pfix->decoder, 0x0ull); ptu_int_eq(errcode, 0); pfix->unknown = 0; return ptu_passed(); }