#define ND_PROTO_MAGICS
enum ND_ProtocolLayer;
void (*ND_ProtoFieldCB) (ND_Packet *packet,
guchar *header,
guchar *data);
enum ND_ProtoFieldType;
enum ND_ProtoFieldState;
ND_Protocol* nd_proto_new (const char *name,
ND_ProtocolLayer layer,
guint64 magic);
void nd_proto_free (ND_Protocol *proto);
void nd_proto_field_set (const ND_ProtoInfo *pinf,
ND_ProtoField *field,
void *data);
void nd_proto_field_set_for_menu (const ND_ProtoInfo *pinf,
ND_ProtoField *field,
void *data,
ND_MenuData *menu,
char *alt_form_str);
const char* nd_proto_field_to_string (const ND_ProtoField *field);
char* nd_proto_get_opt_key (ND_Protocol *proto);
void nd_proto_4bit_hi_cb (ND_Packet *packet,
guchar *header,
guchar *data);
void nd_proto_4bit_lo_cb (ND_Packet *packet,
guchar *header,
guchar *data);
void nd_proto_8bit_cb (ND_Packet *packet,
guchar *header,
guchar *data);
void nd_proto_16bit_cb (ND_Packet *packet,
guchar *header,
guchar *data);
void nd_proto_24bit_cb (ND_Packet *packet,
guchar *header,
guchar *data);
void nd_proto_32bit_cb (ND_Packet *packet,
guchar *header,
guchar *data);
void nd_proto_cb_data_init (ND_ProtoCallbackData *cb_data,
ND_Protocol *proto,
guchar *data,
guint offset,
gboolean update_packet);
void nd_proto_iterate_4bit_hi_cb (ND_Packet *packet,
void *user_data,
guint value);
void nd_proto_iterate_4bit_lo_cb (ND_Packet *packet,
void *user_data,
guint value);
void nd_proto_iterate_8bit_cb (ND_Packet *packet,
void *user_data,
guint value);
void nd_proto_iterate_16bit_cb (ND_Packet *packet,
void *user_data,
guint value);
void nd_proto_iterate_32bit_cb (ND_Packet *packet,
void *user_data,
guint value);
#define DATA_TO_PTR (data) |