diff options
Diffstat (limited to 'ffd/tlv.h')
-rw-r--r-- | ffd/tlv.h | 15 |
1 files changed, 12 insertions, 3 deletions
@@ -33,14 +33,23 @@ typedef enum _ffd_tlv_type_t { TLV_PAD1 = 0, TLV_PADN, + TLV_ACK_REQ, + TLV_ACK, + TLV_HELLO, + TLV_IHU, + TLV_NODE_ID, + TLV_RESERVED, + TLV_UPDATE, + TLV_INFO_REQ, + TLV_SEQNO_REQ, } ffd_tlv_type_t; -typedef void (*ffd_tlv_cb)(ffd_tlv_type_t type, const void *data, size_t len); +typedef void (*ffd_tlv_cb)(ffd_tlv_type_t type, const void *data, size_t len, void *arg); -bool ffd_tlv_parse(const ffd_packet_t *packet, ffd_tlv_cb cb); -bool ffd_tlv_add(ffd_packet_t *packet, size_t max_len, ffd_tlv_type_t type, void *data, size_t len); +bool ffd_tlv_parse(const ffd_packet_t *packet, ffd_tlv_cb cb, void *arg); +void* ffd_tlv_add(ffd_packet_t *packet, size_t max_len, ffd_tlv_type_t type, size_t len); #endif /* _FFD_TLV_H_ */ |