diff options
Diffstat (limited to 'falgproto/falgproto.h')
-rw-r--r-- | falgproto/falgproto.h | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/falgproto/falgproto.h b/falgproto/falgproto.h new file mode 100644 index 0000000..0f66fe8 --- /dev/null +++ b/falgproto/falgproto.h @@ -0,0 +1,48 @@ +/* vim: set sw=4 ts=4 sts=4 et: */ +#ifndef FALGPROTO_H +#define FALGPROTO_H + +#include <stdbool.h> +#include <stdio.h> + +typedef enum falgproto_type { + FALGPROTO_TYPE_HTTP, + FALGPROTO_TYPE_HTTPS, + FALGPROTO_TYPE_DNS, + FALGPROTO_TYPE_FTP, + FALGPROTO_TYPE_SSH, + FALGPROTO_TYPE_LDAP, + FALGPROTO_TYPE_MAX +} FalgprotoType; + +typedef enum falgproto_transport { + FALGPROTO_TRANSPORT_TCP, + FALGPROTO_TRANSPORT_UDP +} FalgprotoTransport; + +typedef struct falgproto_param { + char* param; + size_t len; + bool dup; + int result; +} FalgprotoParam; + +#define FALGPROTO_PARAM_RESULT_ERROR -1 +#define FALGPROTO_PARAM_RESULT_OK 0 +#define FALGPROTO_PARAM_RESULT_NOT_FOUND 1 +#define FALGPROTO_PARAM_RESULT_INCOMPLETE 2 + +typedef FalgprotoParam (*FalgprotoParamGetter) (const char *pkt); +typedef void (*FalgprotoPrinter) (const char *pkt, FILE *fp); + + +unsigned falgproto_get_count (void); +int falgproto_get_protocol (const char *name); +const char* falgproto_get_name (FalgprotoType protocol); +const char* falgproto_get_description (FalgprotoType protocol); +FalgprotoTransport falgproto_get_transport (FalgprotoType protocol); +FalgprotoParamGetter falgproto_get_param_getter (FalgprotoType protocol); +FalgprotoPrinter falgproto_get_printer (FalgprotoType protocol); + + +#endif /* FALGPROTO_H */ |