summaryrefslogtreecommitdiff
path: root/utils.c
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2018-03-26 19:02:08 +0200
committerHarald Welte <laforge@gnumonks.org>2018-03-26 19:02:08 +0200
commit670659c28c298a6383838bdb5c94da36312c26f3 (patch)
tree5cbe04e7c033d857a7bdbb095c97bd558afad2af /utils.c
parent75e95789179b2efac88fd0f8d6555722695e3f94 (diff)
add TITAN support for MNCC/PCU interface decoding
Diffstat (limited to 'utils.c')
-rw-r--r--utils.c25
1 files changed, 22 insertions, 3 deletions
diff --git a/utils.c b/utils.c
index 55499af..4b653f2 100644
--- a/utils.c
+++ b/utils.c
@@ -9,6 +9,11 @@
#define MAX_UNIX_FDS 32
+#ifdef ENABLE_TITAN
+extern void mncc_dissector(int fd, bool is_out, const char *fn, const uint8_t *data, unsigned int len);
+extern void pcu_dissector(int fd, bool is_out, const char *fn, const uint8_t *data, unsigned int len);
+#endif
+
/***********************************************************************
* Utility functions
***********************************************************************/
@@ -60,7 +65,13 @@ static struct sock_state unix_fds[MAX_UNIX_FDS];
__attribute__ ((constructor)) static void udtrace_init(void)
{
int i;
- LOG("Unix Domain Socket Trace initialized\n");
+ LOG("Unix Domain Socket Trace initialized (TITAN support "
+#ifdef ENABLE_TITAN
+ "enabled"
+#else
+ "DISABLED"
+#endif
+ ")\n");
for (i = 0; i < ARRAY_SIZE(unix_fds); i++) {
unix_fds[i] = (struct sock_state) { -1, NULL, NULL };
}
@@ -97,8 +108,16 @@ void udtrace_del_fd(int fd)
static void udtrace_resolve_dissector(struct sock_state *ss)
{
- /* FIXME: actual useful dissectors resovled by path */
- ss->dissector = &default_dissector;
+ /* actual useful dissectors resovled by path */
+ if (0) { }
+#ifdef ENABLE_TITAN
+ else if (strstr(ss->path, "mncc"))
+ ss->dissector = mncc_dissector;
+ else if (strstr(ss->path, "pcu"))
+ ss->dissector = pcu_dissector;
+#endif
+ else
+ ss->dissector = &default_dissector;
}
/* set the path of a given fd */
personal git repositories of Harald Welte. Your mileage may vary