enum LND_PacketObserverOp;
gboolean (*LND_PacketFunc) (LND_Packet *packet,
LND_ProtoData *pd,
void *user_data);
LND_Packet * libnd_packet_new (LND_TracePart *tp,
guint data_size);
void libnd_packet_free (LND_Packet *packet);
void libnd_packet_remove (LND_Packet *packet);
LND_Trace * libnd_packet_get_trace (const LND_Packet *packet);
void libnd_packet_dump (const LND_Packet *packet,
pcap_dumper_t *dumper);
void libnd_packet_set_data (LND_Packet *packet,
const struct pcap_pkthdr *hdr,
const guchar *data);
LND_Packet * libnd_packet_duplicate (LND_Packet *packet);
void libnd_packet_set_filtered (LND_Packet *packet,
gboolean filtered);
gboolean libnd_packet_is_filtered (LND_Packet *packet);
void libnd_packet_init (LND_Packet *packet);
void libnd_packet_init_from_pcap (LND_Packet *packet,
pcap_t *pcap);
gboolean libnd_packet_is_complete (const LND_Packet *packet);
void libnd_packet_update (LND_Packet *packet,
LND_Protocol *proto,
guint nesting);
guchar * libnd_packet_get_data (const LND_Packet *packet,
const LND_Protocol *proto,
guint nesting);
guchar * libnd_packet_get_data_end (const LND_Packet *packet,
const LND_Protocol *proto,
guint nesting);
void libnd_packet_add_proto_data (LND_Packet *packet,
LND_Protocol *proto,
guchar *data,
guchar *data_end);
LND_ProtoData * libnd_packet_get_proto_data (const LND_Packet *packet,
const LND_Protocol *proto,
guint nesting);
guchar * libnd_packet_get_end (const LND_Packet *packet);
gboolean libnd_packet_has_complete_header (const LND_Packet *packet,
const LND_Protocol *proto,
guint nesting);
gboolean libnd_packet_has_proto (const LND_Packet *packet,
const LND_Protocol *proto);
gboolean libnd_packet_has_proto_nested (const LND_Packet *packet,
const LND_Protocol *proto,
guint nesting);
LND_ProtoData * libnd_packet_get_last_nonraw (const LND_Packet *packet);
void libnd_packet_update_proto_state (LND_Packet *packet,
int index);
void libnd_packet_foreach_proto (LND_Packet *packet,
LND_PacketFunc cb,
void *user_data);
void libnd_packet_foreach_proto_backward (LND_Packet *packet,
LND_PacketFunc cb,
void *user_data);
void libnd_packet_modified (LND_Packet *packet);
int libnd_packet_get_index (const LND_Packet *packet);
int libnd_packet_get_proto_nesting (const LND_Packet *packet,
const LND_Protocol *proto,
guchar *data);
gboolean libnd_packet_fix (LND_Packet *packet);
LND_PacketObserver * libnd_packet_observer_new (void);
void libnd_packet_observer_free (LND_PacketObserver *ob);
void libnd_packet_add_observer (LND_PacketObserver *ob);
void libnd_packet_del_observer (LND_PacketObserver *ob);
void libnd_packet_tell_observers (LND_Packet *packet,
LND_PacketObserverOp op,
void *data); |