libnetdude
#define LND_PROTO_MAGICS enum LND_ProtocolLayer; LND_Protocol * libnd_proto_new (const char *name, LND_ProtocolLayer layer, guint32 magic); void libnd_proto_free (LND_Protocol *proto); gboolean libnd_proto_is_raw (LND_Protocol *proto); const char * libnd_proto_layer_to_string (LND_ProtocolLayer layer);
#define LND_PROTO_MAGICS 3
typedef enum { LND_PROTO_LAYER_LINK = (1 << 0), LND_PROTO_LAYER_NET = (1 << 1), LND_PROTO_LAYER_TRANS = (1 << 2), LND_PROTO_LAYER_APP = (1 << 3), } LND_ProtocolLayer;
LND_Protocol * libnd_proto_new (const char *name, LND_ProtocolLayer layer, guint32 magic);
void libnd_proto_free (LND_Protocol *proto);
gboolean libnd_proto_is_raw (LND_Protocol *proto);
const char * libnd_proto_layer_to_string (LND_ProtocolLayer layer);