diff options
author | Holger Hans Peter Freyther <zecke@selfish.org> | 2011-02-16 23:56:55 +0100 |
---|---|---|
committer | Holger Hans Peter Freyther <zecke@selfish.org> | 2011-02-17 19:34:28 +0100 |
commit | 2d4891ff8cbf3cf139a0e15db5b259930041f913 (patch) | |
tree | 90f50eb6c6d48d6f9c2c65fa198cb18df67a679d /src/main.c | |
parent | 289436f8b69934a9df9ccb83d7e4bfdcea3c6e42 (diff) |
bsc: Move the option parsing into the common code in bsc.c
Diffstat (limited to 'src/main.c')
-rw-r--r-- | src/main.c | 83 |
1 files changed, 2 insertions, 81 deletions
@@ -22,7 +22,6 @@ #include <mtp_data.h> #include <msc_connection.h> #include <mtp_level3.h> -#include <mtp_pcap.h> #include <thread.h> #include <bss_patch.h> #include <bssap_sccp.h> @@ -39,37 +38,15 @@ #include <sys/stat.h> #include <sys/types.h> -#include <fcntl.h> #include <signal.h> -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#include <assert.h> -#include <unistd.h> - -#ifndef _GNU_SOURCE -#define _GNU_SOURCE -#endif -#include <getopt.h> - -#undef PACKAGE_NAME -#undef PACKAGE_VERSION -#undef PACKAGE_BUGREPORT -#undef PACKAGE_TARNAME -#undef PACKAGE_STRING -#include <cellmgr_config.h> static struct log_target *stderr_target; -static char *config = "cellmgr_ng.cfg"; +char *config = "cellmgr_ng.cfg"; struct bsc_data *bsc; extern void cell_vty_init(void); - -static void print_usage() -{ - printf("Usage: cellmgr_ng\n"); -} +extern void handle_options(int argc, char **argv); static void sigint() { @@ -106,62 +83,6 @@ static void sigusr2() msc_close_connection(msc); } -static void print_help() -{ - printf(" Some useful help...\n"); - printf(" -h --help this text\n"); - printf(" -c --config=CFG The config file to use.\n"); - printf(" -p --pcap=FILE. Write MSUs to the PCAP file.\n"); - printf(" -c --once. Send the SLTM msg only once.\n"); - printf(" -v --version. Print the version number\n"); -} - -static void handle_options(int argc, char **argv) -{ - while (1) { - int option_index = 0, c; - static struct option long_options[] = { - {"help", 0, 0, 'h'}, - {"config", 1, 0, 'c'}, - {"pcap", 1, 0, 'p'}, - {"version", 0, 0, 0}, - {0, 0, 0, 0}, - }; - - c = getopt_long(argc, argv, "hc:p:v", - long_options, &option_index); - if (c == -1) - break; - - switch (c) { - case 'h': - print_usage(); - print_help(); - exit(0); - case 'p': - if (bsc->pcap_fd >= 0) - close(bsc->pcap_fd); - bsc->pcap_fd = open(optarg, O_WRONLY | O_TRUNC | O_CREAT, S_IRUSR | S_IWUSR | S_IRGRP| S_IROTH); - if (bsc->pcap_fd < 0) { - fprintf(stderr, "Failed to open PCAP file.\n"); - exit(0); - } - mtp_pcap_write_header(bsc->pcap_fd); - break; - case 'c': - config = optarg; - break; - case 'v': - printf("This is %s version %s.\n", PACKAGE, VERSION); - exit(0); - break; - default: - fprintf(stderr, "Unknown option.\n"); - break; - } - } -} - static void bsc_msc_forward_init(struct msc_connection *msc) { msc->ip = talloc_strdup(msc, "127.0.0.1"); |