FreeCalypso > hg > fc-rfcal-tools
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 |
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 } |