summaryrefslogtreecommitdiffstats
path: root/falgproto/falgproto.c
diff options
context:
space:
mode:
Diffstat (limited to 'falgproto/falgproto.c')
-rw-r--r--falgproto/falgproto.c22
1 files changed, 20 insertions, 2 deletions
diff --git a/falgproto/falgproto.c b/falgproto/falgproto.c
index b66f7ef..58a611f 100644
--- a/falgproto/falgproto.c
+++ b/falgproto/falgproto.c
@@ -14,32 +14,46 @@ struct proto_info {
char* description;
FalgprotoParamGetter param_getter;
FalgprotoPrinter printer;
+ FalgprotoMatcher matcher;
};
+/* protocol implementation declaraion */
+FALGPROTO_PARAM_GETTER_DECL (dns);
+FALGPROTO_PRINTER_DECL (dns);
+
+/* matcher implementation declaraion */
+FALGPROTO_MATCHER_DECL (hostname);
+
static struct proto_info info[] = {
{ FALGPROTO_TYPE_HTTP, FALGPROTO_TRANSPORT_TCP, "http",
"HTTP",
NULL,
+ NULL,
NULL },
{ FALGPROTO_TYPE_HTTPS, FALGPROTO_TRANSPORT_TCP, "https",
"HTTPS",
NULL,
+ NULL,
NULL },
{ FALGPROTO_TYPE_DNS, FALGPROTO_TRANSPORT_UDP, "dns",
"DNS",
- NULL,
- NULL },
+ FALGPROTO_PARAM_GETTER_NAME (dns),
+ FALGPROTO_PRINTER_NAME (dns),
+ FALGPROTO_MATCHER_NAME (hostname) },
{ FALGPROTO_TYPE_FTP, FALGPROTO_TRANSPORT_TCP, "ftp",
"FTP",
NULL,
+ NULL,
NULL },
{ FALGPROTO_TYPE_SSH, FALGPROTO_TRANSPORT_TCP, "ssh",
"SSH",
NULL,
+ NULL,
NULL },
{ FALGPROTO_TYPE_LDAP, FALGPROTO_TRANSPORT_TCP, "ldap",
"LDAP",
NULL,
+ NULL,
NULL },
{ FALGPROTO_TYPE_MAX, 0, NULL, NULL, NULL, NULL }
};
@@ -76,3 +90,7 @@ FalgprotoParamGetter falgproto_get_param_getter (FalgprotoType protocol) {
FalgprotoPrinter falgproto_get_printer (FalgprotoType protocol) {
return info[protocol].printer;
}
+
+FalgprotoMatcher falgproto_get_matcher (FalgprotoType protocol) {
+ return info[protocol].matcher;
+}