#include #include typedef union tlv { pad1 *pad1; padn *padn; neighbour_req *neighbour_req; neighbour *neighbour; network_hash *network_hash; network_state_req *network_state_req; node_hash *node_hash; node_state_req *node_state_req; node_state *node_state; warning *warning; } tlv; typedef struct pad1 { unsigned unsigned char type; } pad1; typedef struct padn { unsigned char type; unsigned char length; char *mbz; } padn; typedef struct neighbour_req { unsigned char type; unsigned char length; } neighbour_req; typedef struct neighbour { unsigned char type; unsigned char length; struct in6_addr ip; short port; } neighbour; typedef struct network_hash { unsigned char type; unsigned char length; char *network_hash; } network_hash; typedef struct network_state_req { unsigned char type; unsigned char length; } network_state_req; typedef struct node_hash { unsigned char type; unsigned char length; long node_id; short seqno; char *node_hash; } node_hash; typedef struct node_state_req { unsigned char type; unsigned char length; long node_id; } node_state_req; typedef struct node_state { unsigned char type; unsigned char length; long node_id; short seqno; char *node_hash; char *data; } node_state; typedef struct warning { unsigned char type; unsigned char length; char *message; } warning;