summaryrefslogtreecommitdiffstats
path: root/src/host/layer23/src/mobile/main.c
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2011-05-22 12:36:55 +0200
committerHarald Welte <laforge@gnumonks.org>2011-05-22 12:36:55 +0200
commit308f9e506e6ae2f30a4b49895f80aa26605e50c0 (patch)
treea88bdc521c92de44dbe78fdde8f415c6b625637c /src/host/layer23/src/mobile/main.c
parent8226b8eae946c70bb7d23730029146f2cd320ad8 (diff)
layer23: update to new GSMTAP API in libosmocore >= 0.3.1
Diffstat (limited to 'src/host/layer23/src/mobile/main.c')
-rw-r--r--src/host/layer23/src/mobile/main.c16
1 files changed, 7 insertions, 9 deletions
diff --git a/src/host/layer23/src/mobile/main.c b/src/host/layer23/src/mobile/main.c
index 1f156697..01c2b2e9 100644
--- a/src/host/layer23/src/mobile/main.c
+++ b/src/host/layer23/src/mobile/main.c
@@ -28,6 +28,7 @@
#include <osmocom/core/talloc.h>
#include <osmocom/core/linuxlist.h>
#include <osmocom/core/gsmtap_util.h>
+#include <osmocom/core/gsmtap.h>
#include <osmocom/core/signal.h>
#include <arpa/inet.h>
@@ -48,7 +49,8 @@ struct log_target *stderr_target;
void *l23_ctx = NULL;
struct llist_head ms_list;
-static uint32_t gsmtap_ip = 0;
+static char *gsmtap_ip = 0;
+struct gsmtap_inst *gsmtap_inst = NULL;
unsigned short vty_port = 4247;
int debug_set = 0;
char *config_dir = NULL;
@@ -85,7 +87,6 @@ static void print_help()
static void handle_options(int argc, char **argv)
{
- struct sockaddr_in gsmtap;
while (1) {
int option_index = 0, c;
static struct option long_options[] = {
@@ -108,11 +109,7 @@ static void handle_options(int argc, char **argv)
exit(0);
break;
case 'i':
- if (!inet_aton(optarg, &gsmtap.sin_addr)) {
- perror("inet_aton");
- exit(2);
- }
- gsmtap_ip = ntohl(gsmtap.sin_addr.s_addr);
+ gsmtap_ip = optarg;
break;
case 'v':
vty_port = atoi(optarg);
@@ -171,11 +168,12 @@ int main(int argc, char **argv)
log_set_log_level(stderr_target, LOGL_INFO);
if (gsmtap_ip) {
- rc = gsmtap_init(gsmtap_ip);
- if (rc < 0) {
+ gsmtap_inst = gsmtap_source_init(gsmtap_ip, GSMTAP_UDP_PORT, 1);
+ if (!gsmtap_inst) {
fprintf(stderr, "Failed during gsmtap_init()\n");
exit(1);
}
+ gsmtap_source_add_sink(gsmtap_inst);
}
home = getenv("HOME");