Lines Matching refs:decoder
40 int pt_pkt_decoder_init(struct pt_packet_decoder *decoder, in pt_pkt_decoder_init() argument
45 if (!decoder || !config) in pt_pkt_decoder_init()
48 memset(decoder, 0, sizeof(*decoder)); in pt_pkt_decoder_init()
50 errcode = pt_config_from_user(&decoder->config, config); in pt_pkt_decoder_init()
59 struct pt_packet_decoder *decoder; in pt_pkt_alloc_decoder() local
62 decoder = malloc(sizeof(*decoder)); in pt_pkt_alloc_decoder()
63 if (!decoder) in pt_pkt_alloc_decoder()
66 errcode = pt_pkt_decoder_init(decoder, config); in pt_pkt_alloc_decoder()
68 free(decoder); in pt_pkt_alloc_decoder()
72 return decoder; in pt_pkt_alloc_decoder()
75 void pt_pkt_decoder_fini(struct pt_packet_decoder *decoder) in pt_pkt_decoder_fini() argument
77 (void) decoder; in pt_pkt_decoder_fini()
82 void pt_pkt_free_decoder(struct pt_packet_decoder *decoder) in pt_pkt_free_decoder() argument
84 pt_pkt_decoder_fini(decoder); in pt_pkt_free_decoder()
85 free(decoder); in pt_pkt_free_decoder()
88 int pt_pkt_sync_forward(struct pt_packet_decoder *decoder) in pt_pkt_sync_forward() argument
93 if (!decoder) in pt_pkt_sync_forward()
96 sync = decoder->sync; in pt_pkt_sync_forward()
97 pos = decoder->pos; in pt_pkt_sync_forward()
99 pos = decoder->config.begin; in pt_pkt_sync_forward()
104 errcode = pt_sync_forward(&sync, pos, &decoder->config); in pt_pkt_sync_forward()
108 decoder->sync = sync; in pt_pkt_sync_forward()
109 decoder->pos = sync; in pt_pkt_sync_forward()
114 int pt_pkt_sync_backward(struct pt_packet_decoder *decoder) in pt_pkt_sync_backward() argument
119 if (!decoder) in pt_pkt_sync_backward()
122 pos = decoder->pos; in pt_pkt_sync_backward()
124 pos = decoder->config.end; in pt_pkt_sync_backward()
126 errcode = pt_sync_backward(&sync, pos, &decoder->config); in pt_pkt_sync_backward()
130 decoder->sync = sync; in pt_pkt_sync_backward()
131 decoder->pos = sync; in pt_pkt_sync_backward()
136 int pt_pkt_sync_set(struct pt_packet_decoder *decoder, uint64_t offset) in pt_pkt_sync_set() argument
140 if (!decoder) in pt_pkt_sync_set()
143 begin = decoder->config.begin; in pt_pkt_sync_set()
144 end = decoder->config.end; in pt_pkt_sync_set()
150 decoder->sync = pos; in pt_pkt_sync_set()
151 decoder->pos = pos; in pt_pkt_sync_set()
156 int pt_pkt_get_offset(const struct pt_packet_decoder *decoder, uint64_t *offset) in pt_pkt_get_offset() argument
160 if (!decoder || !offset) in pt_pkt_get_offset()
163 begin = decoder->config.begin; in pt_pkt_get_offset()
164 pos = decoder->pos; in pt_pkt_get_offset()
173 int pt_pkt_get_sync_offset(const struct pt_packet_decoder *decoder, in pt_pkt_get_sync_offset() argument
178 if (!decoder || !offset) in pt_pkt_get_sync_offset()
181 begin = decoder->config.begin; in pt_pkt_get_sync_offset()
182 sync = decoder->sync; in pt_pkt_get_sync_offset()
192 pt_pkt_get_config(const struct pt_packet_decoder *decoder) in pt_pkt_get_config() argument
194 if (!decoder) in pt_pkt_get_config()
197 return &decoder->config; in pt_pkt_get_config()
221 int pt_pkt_next(struct pt_packet_decoder *decoder, struct pt_packet *packet, in pt_pkt_next() argument
228 if (!packet || !decoder) in pt_pkt_next()
233 errcode = pt_df_fetch(&dfun, decoder->pos, &decoder->config); in pt_pkt_next()
243 size = dfun->packet(decoder, ppkt); in pt_pkt_next()
251 decoder->pos += size; in pt_pkt_next()
256 int pt_pkt_decode_unknown(struct pt_packet_decoder *decoder, in pt_pkt_decode_unknown() argument
261 if (!decoder) in pt_pkt_decode_unknown()
264 size = pt_pkt_read_unknown(packet, decoder->pos, &decoder->config); in pt_pkt_decode_unknown()
271 int pt_pkt_decode_pad(struct pt_packet_decoder *decoder, in pt_pkt_decode_pad() argument
274 (void) decoder; in pt_pkt_decode_pad()
285 int pt_pkt_decode_psb(struct pt_packet_decoder *decoder, in pt_pkt_decode_psb() argument
290 if (!decoder) in pt_pkt_decode_psb()
293 size = pt_pkt_read_psb(decoder->pos, &decoder->config); in pt_pkt_decode_psb()
303 int pt_pkt_decode_tip(struct pt_packet_decoder *decoder, in pt_pkt_decode_tip() argument
308 if (!decoder || !packet) in pt_pkt_decode_tip()
311 size = pt_pkt_read_ip(&packet->payload.ip, decoder->pos, in pt_pkt_decode_tip()
312 &decoder->config); in pt_pkt_decode_tip()
322 int pt_pkt_decode_tnt_8(struct pt_packet_decoder *decoder, in pt_pkt_decode_tnt_8() argument
327 if (!decoder || !packet) in pt_pkt_decode_tnt_8()
330 size = pt_pkt_read_tnt_8(&packet->payload.tnt, decoder->pos, in pt_pkt_decode_tnt_8()
331 &decoder->config); in pt_pkt_decode_tnt_8()
341 int pt_pkt_decode_tnt_64(struct pt_packet_decoder *decoder, in pt_pkt_decode_tnt_64() argument
346 if (!decoder || !packet) in pt_pkt_decode_tnt_64()
349 size = pt_pkt_read_tnt_64(&packet->payload.tnt, decoder->pos, in pt_pkt_decode_tnt_64()
350 &decoder->config); in pt_pkt_decode_tnt_64()
360 int pt_pkt_decode_tip_pge(struct pt_packet_decoder *decoder, in pt_pkt_decode_tip_pge() argument
365 if (!decoder || !packet) in pt_pkt_decode_tip_pge()
368 size = pt_pkt_read_ip(&packet->payload.ip, decoder->pos, in pt_pkt_decode_tip_pge()
369 &decoder->config); in pt_pkt_decode_tip_pge()
379 int pt_pkt_decode_tip_pgd(struct pt_packet_decoder *decoder, in pt_pkt_decode_tip_pgd() argument
384 if (!decoder || !packet) in pt_pkt_decode_tip_pgd()
387 size = pt_pkt_read_ip(&packet->payload.ip, decoder->pos, in pt_pkt_decode_tip_pgd()
388 &decoder->config); in pt_pkt_decode_tip_pgd()
398 int pt_pkt_decode_fup(struct pt_packet_decoder *decoder, in pt_pkt_decode_fup() argument
403 if (!decoder || !packet) in pt_pkt_decode_fup()
406 size = pt_pkt_read_ip(&packet->payload.ip, decoder->pos, in pt_pkt_decode_fup()
407 &decoder->config); in pt_pkt_decode_fup()
417 int pt_pkt_decode_pip(struct pt_packet_decoder *decoder, in pt_pkt_decode_pip() argument
422 if (!decoder || !packet) in pt_pkt_decode_pip()
425 size = pt_pkt_read_pip(&packet->payload.pip, decoder->pos, in pt_pkt_decode_pip()
426 &decoder->config); in pt_pkt_decode_pip()
436 int pt_pkt_decode_ovf(struct pt_packet_decoder *decoder, in pt_pkt_decode_ovf() argument
439 (void) decoder; in pt_pkt_decode_ovf()
450 int pt_pkt_decode_mode(struct pt_packet_decoder *decoder, in pt_pkt_decode_mode() argument
455 if (!decoder || !packet) in pt_pkt_decode_mode()
458 size = pt_pkt_read_mode(&packet->payload.mode, decoder->pos, in pt_pkt_decode_mode()
459 &decoder->config); in pt_pkt_decode_mode()
469 int pt_pkt_decode_psbend(struct pt_packet_decoder *decoder, in pt_pkt_decode_psbend() argument
472 (void) decoder; in pt_pkt_decode_psbend()
483 int pt_pkt_decode_tsc(struct pt_packet_decoder *decoder, in pt_pkt_decode_tsc() argument
488 if (!decoder || !packet) in pt_pkt_decode_tsc()
491 size = pt_pkt_read_tsc(&packet->payload.tsc, decoder->pos, in pt_pkt_decode_tsc()
492 &decoder->config); in pt_pkt_decode_tsc()
502 int pt_pkt_decode_cbr(struct pt_packet_decoder *decoder, in pt_pkt_decode_cbr() argument
507 if (!decoder || !packet) in pt_pkt_decode_cbr()
510 size = pt_pkt_read_cbr(&packet->payload.cbr, decoder->pos, in pt_pkt_decode_cbr()
511 &decoder->config); in pt_pkt_decode_cbr()
521 int pt_pkt_decode_tma(struct pt_packet_decoder *decoder, in pt_pkt_decode_tma() argument
526 if (!decoder || !packet) in pt_pkt_decode_tma()
529 size = pt_pkt_read_tma(&packet->payload.tma, decoder->pos, in pt_pkt_decode_tma()
530 &decoder->config); in pt_pkt_decode_tma()
540 int pt_pkt_decode_mtc(struct pt_packet_decoder *decoder, in pt_pkt_decode_mtc() argument
545 if (!decoder || !packet) in pt_pkt_decode_mtc()
548 size = pt_pkt_read_mtc(&packet->payload.mtc, decoder->pos, in pt_pkt_decode_mtc()
549 &decoder->config); in pt_pkt_decode_mtc()
559 int pt_pkt_decode_cyc(struct pt_packet_decoder *decoder, in pt_pkt_decode_cyc() argument
564 if (!decoder || !packet) in pt_pkt_decode_cyc()
567 size = pt_pkt_read_cyc(&packet->payload.cyc, decoder->pos, in pt_pkt_decode_cyc()
568 &decoder->config); in pt_pkt_decode_cyc()
578 int pt_pkt_decode_stop(struct pt_packet_decoder *decoder, in pt_pkt_decode_stop() argument
581 (void) decoder; in pt_pkt_decode_stop()
592 int pt_pkt_decode_vmcs(struct pt_packet_decoder *decoder, in pt_pkt_decode_vmcs() argument
597 if (!decoder || !packet) in pt_pkt_decode_vmcs()
600 size = pt_pkt_read_vmcs(&packet->payload.vmcs, decoder->pos, in pt_pkt_decode_vmcs()
601 &decoder->config); in pt_pkt_decode_vmcs()
611 int pt_pkt_decode_mnt(struct pt_packet_decoder *decoder, in pt_pkt_decode_mnt() argument
616 if (!decoder || !packet) in pt_pkt_decode_mnt()
619 size = pt_pkt_read_mnt(&packet->payload.mnt, decoder->pos, in pt_pkt_decode_mnt()
620 &decoder->config); in pt_pkt_decode_mnt()
630 int pt_pkt_decode_exstop(struct pt_packet_decoder *decoder, in pt_pkt_decode_exstop() argument
635 if (!decoder || !packet) in pt_pkt_decode_exstop()
638 size = pt_pkt_read_exstop(&packet->payload.exstop, decoder->pos, in pt_pkt_decode_exstop()
639 &decoder->config); in pt_pkt_decode_exstop()
649 int pt_pkt_decode_mwait(struct pt_packet_decoder *decoder, in pt_pkt_decode_mwait() argument
654 if (!decoder || !packet) in pt_pkt_decode_mwait()
657 size = pt_pkt_read_mwait(&packet->payload.mwait, decoder->pos, in pt_pkt_decode_mwait()
658 &decoder->config); in pt_pkt_decode_mwait()
668 int pt_pkt_decode_pwre(struct pt_packet_decoder *decoder, in pt_pkt_decode_pwre() argument
673 if (!decoder || !packet) in pt_pkt_decode_pwre()
676 size = pt_pkt_read_pwre(&packet->payload.pwre, decoder->pos, in pt_pkt_decode_pwre()
677 &decoder->config); in pt_pkt_decode_pwre()
687 int pt_pkt_decode_pwrx(struct pt_packet_decoder *decoder, in pt_pkt_decode_pwrx() argument
692 if (!decoder || !packet) in pt_pkt_decode_pwrx()
695 size = pt_pkt_read_pwrx(&packet->payload.pwrx, decoder->pos, in pt_pkt_decode_pwrx()
696 &decoder->config); in pt_pkt_decode_pwrx()
706 int pt_pkt_decode_ptw(struct pt_packet_decoder *decoder, in pt_pkt_decode_ptw() argument
711 if (!decoder || !packet) in pt_pkt_decode_ptw()
714 size = pt_pkt_read_ptw(&packet->payload.ptw, decoder->pos, in pt_pkt_decode_ptw()
715 &decoder->config); in pt_pkt_decode_ptw()