diff options
Diffstat (limited to 'monitor/packet.h')
-rw-r--r-- | monitor/packet.h | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/monitor/packet.h b/monitor/packet.h index 3a6b9f7a1..b07d5d18c 100644 --- a/monitor/packet.h +++ b/monitor/packet.h @@ -63,7 +63,20 @@ void packet_print_channel_map_ll(const uint8_t *map); void packet_print_io_capability(uint8_t capability); void packet_print_io_authentication(uint8_t authentication); void packet_print_codec_id(const char *label, uint8_t codec); -void packet_print_ltv(const char *label, const uint8_t *data, uint8_t len); + +#define LTV_DEC(_type, _func) \ +{ \ + .type = _type, \ + .func = _func, \ +} + +struct packet_ltv_decoder { + uint8_t type; + void (*func)(const uint8_t *data, uint8_t len); +}; + +void packet_print_ltv(const char *label, const uint8_t *data, uint8_t len, + struct packet_ltv_decoder *decoder, size_t num); void packet_control(struct timeval *tv, struct ucred *cred, uint16_t index, uint16_t opcode, |