annotate autocal/gmagicmain.c @ 42:dcf7cd305e2b

fc-rfcal-gmagic started
author Mychaela Falconia <falcon@freecalypso.org>
date Sat, 27 May 2017 05:04:14 +0000
parents
children 8c7b0ba1e5c4
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
42
dcf7cd305e2b fc-rfcal-gmagic started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
1 /*
dcf7cd305e2b fc-rfcal-gmagic started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
2 * This module contains the main() function for fc-rfcal-gmagic.
dcf7cd305e2b fc-rfcal-gmagic started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
3 */
dcf7cd305e2b fc-rfcal-gmagic started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
4
dcf7cd305e2b fc-rfcal-gmagic started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
5 #include <stdio.h>
dcf7cd305e2b fc-rfcal-gmagic started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
6 #include <stdlib.h>
dcf7cd305e2b fc-rfcal-gmagic started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
7 #include <string.h>
dcf7cd305e2b fc-rfcal-gmagic started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
8 #include <strings.h>
dcf7cd305e2b fc-rfcal-gmagic started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
9 #include <rvinterf/l1tm.h>
dcf7cd305e2b fc-rfcal-gmagic started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
10 #include <rvinterf/exitcodes.h>
dcf7cd305e2b fc-rfcal-gmagic started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
11 #include "stdband.h"
dcf7cd305e2b fc-rfcal-gmagic started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
12
dcf7cd305e2b fc-rfcal-gmagic started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
13 static struct band {
dcf7cd305e2b fc-rfcal-gmagic started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
14 char *name;
dcf7cd305e2b fc-rfcal-gmagic started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
15 unsigned rfpw_std_band;
dcf7cd305e2b fc-rfcal-gmagic started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
16 unsigned default_arfcn;
dcf7cd305e2b fc-rfcal-gmagic started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
17 } bands[] = {
dcf7cd305e2b fc-rfcal-gmagic started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
18 {"850", RFPW_STD_BAND_850, 189},
dcf7cd305e2b fc-rfcal-gmagic started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
19 {"900", RFPW_STD_BAND_900, 37},
dcf7cd305e2b fc-rfcal-gmagic started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
20 {"1800", RFPW_STD_BAND_1800, 698},
dcf7cd305e2b fc-rfcal-gmagic started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
21 {"1900", RFPW_STD_BAND_1900, 661},
dcf7cd305e2b fc-rfcal-gmagic started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
22 {0, 0, 0}
dcf7cd305e2b fc-rfcal-gmagic started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
23 };
dcf7cd305e2b fc-rfcal-gmagic started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
24 static struct band *selected_band;
dcf7cd305e2b fc-rfcal-gmagic started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
25 static unsigned arfcn;
dcf7cd305e2b fc-rfcal-gmagic started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
26
dcf7cd305e2b fc-rfcal-gmagic started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
27 finish_cmdline(argc, argv)
dcf7cd305e2b fc-rfcal-gmagic started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
28 char **argv;
dcf7cd305e2b fc-rfcal-gmagic started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
29 {
dcf7cd305e2b fc-rfcal-gmagic started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
30 extern int optind;
dcf7cd305e2b fc-rfcal-gmagic started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
31 struct band *band;
dcf7cd305e2b fc-rfcal-gmagic started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
32
dcf7cd305e2b fc-rfcal-gmagic started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
33 if (argc - optind < 1 || argc - optind > 2) {
dcf7cd305e2b fc-rfcal-gmagic started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
34 fprintf(stderr, "usage: %s band [arfcn]\n", argv[0]);
dcf7cd305e2b fc-rfcal-gmagic started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
35 exit(ERROR_USAGE);
dcf7cd305e2b fc-rfcal-gmagic started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
36 }
dcf7cd305e2b fc-rfcal-gmagic started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
37 for (band = bands; band->name; band++)
dcf7cd305e2b fc-rfcal-gmagic started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
38 if (!strcmp(band->name, argv[optind]))
dcf7cd305e2b fc-rfcal-gmagic started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
39 break;
dcf7cd305e2b fc-rfcal-gmagic started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
40 if (!band->name) {
dcf7cd305e2b fc-rfcal-gmagic started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
41 fprintf(stderr, "error: \"%s\" is not a known band\n",
dcf7cd305e2b fc-rfcal-gmagic started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
42 argv[optind]);
dcf7cd305e2b fc-rfcal-gmagic started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
43 exit(ERROR_USAGE);
dcf7cd305e2b fc-rfcal-gmagic started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
44 }
dcf7cd305e2b fc-rfcal-gmagic started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
45 selected_band = band;
dcf7cd305e2b fc-rfcal-gmagic started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
46 if (argv[optind+1])
dcf7cd305e2b fc-rfcal-gmagic started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
47 arfcn = atoi(argv[optind+1]);
dcf7cd305e2b fc-rfcal-gmagic started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
48 else
dcf7cd305e2b fc-rfcal-gmagic started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
49 arfcn = band->default_arfcn;
dcf7cd305e2b fc-rfcal-gmagic started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
50 return(0);
dcf7cd305e2b fc-rfcal-gmagic started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
51 }
dcf7cd305e2b fc-rfcal-gmagic started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
52
dcf7cd305e2b fc-rfcal-gmagic started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
53 main(argc, argv)
dcf7cd305e2b fc-rfcal-gmagic started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
54 char **argv;
dcf7cd305e2b fc-rfcal-gmagic started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
55 {
dcf7cd305e2b fc-rfcal-gmagic started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
56 socket_pathname_options(argc, argv);
dcf7cd305e2b fc-rfcal-gmagic started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
57 finish_cmdline(argc, argv);
dcf7cd305e2b fc-rfcal-gmagic started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
58 connect_rvinterf_socket();
dcf7cd305e2b fc-rfcal-gmagic started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
59 connect_tsid_socket();
dcf7cd305e2b fc-rfcal-gmagic started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
60
dcf7cd305e2b fc-rfcal-gmagic started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
61
dcf7cd305e2b fc-rfcal-gmagic started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
62 }