annotate uptools/atcmd/atcmd.c @ 926:6a0aa8d36d06

rvinterf backslash escape: introduce libprint The new helper function library named libprint is meant to replace the badly misnamed libg23, and will soon contain functions for printing all of the same kinds of GPF TST packets that are now handled in libg23. However, we are also moving safe_print_trace() from libasync to this new library, and changing it to emit our new backslash escape format.
author Mychaela Falconia <falcon@freecalypso.org>
date Tue, 23 May 2023 03:47:46 +0000
parents dc2fd8e6f42c
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
348
64dcbabd48ca uptools/atcmd framework started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
1 /*
64dcbabd48ca uptools/atcmd framework started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
2 * This utility allows a single AT command to be issued
64dcbabd48ca uptools/atcmd framework started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
3 * through the atinterf framework.
64dcbabd48ca uptools/atcmd framework started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
4 */
64dcbabd48ca uptools/atcmd framework started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
5
64dcbabd48ca uptools/atcmd framework started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
6 #include <stdio.h>
64dcbabd48ca uptools/atcmd framework started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
7 #include <stdlib.h>
64dcbabd48ca uptools/atcmd framework started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
8 #include <unistd.h>
64dcbabd48ca uptools/atcmd framework started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
9 #include "../../rvinterf/include/exitcodes.h"
64dcbabd48ca uptools/atcmd framework started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
10
64dcbabd48ca uptools/atcmd framework started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
11 extern char at_response[];
64dcbabd48ca uptools/atcmd framework started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
12
64dcbabd48ca uptools/atcmd framework started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
13 int_callback()
64dcbabd48ca uptools/atcmd framework started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
14 {
64dcbabd48ca uptools/atcmd framework started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
15 puts(at_response+1);
64dcbabd48ca uptools/atcmd framework started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
16 }
64dcbabd48ca uptools/atcmd framework started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
17
64dcbabd48ca uptools/atcmd framework started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
18 main(argc, argv)
64dcbabd48ca uptools/atcmd framework started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
19 char **argv;
64dcbabd48ca uptools/atcmd framework started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
20 {
64dcbabd48ca uptools/atcmd framework started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
21 int c;
64dcbabd48ca uptools/atcmd framework started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
22 extern int optind;
64dcbabd48ca uptools/atcmd framework started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
23
64dcbabd48ca uptools/atcmd framework started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
24 while ((c = getopt(argc, argv, "B:np:RX:")) != EOF)
64dcbabd48ca uptools/atcmd framework started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
25 if (!atinterf_cmdline_opt(c)) {
64dcbabd48ca uptools/atcmd framework started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
26 /* error msg already printed */
64dcbabd48ca uptools/atcmd framework started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
27 exit(ERROR_USAGE);
64dcbabd48ca uptools/atcmd framework started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
28 }
64dcbabd48ca uptools/atcmd framework started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
29 if (argc != optind + 1 || strncasecmp(argv[optind], "AT", 2)) {
64dcbabd48ca uptools/atcmd framework started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
30 fprintf(stderr, "usage: %s [options] at-cmd\n", argv[0]);
64dcbabd48ca uptools/atcmd framework started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
31 exit(ERROR_USAGE);
64dcbabd48ca uptools/atcmd framework started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
32 }
64dcbabd48ca uptools/atcmd framework started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
33 atinterf_init();
467
dc2fd8e6f42c uptools/atcmd: null pointer passing fixes
Mychaela Falconia <falcon@freecalypso.org>
parents: 348
diff changeset
34 atinterf_exec_cmd(argv[optind], (char *) 0, int_callback);
348
64dcbabd48ca uptools/atcmd framework started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
35 puts(at_response+1);
64dcbabd48ca uptools/atcmd framework started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
36 exit(0);
64dcbabd48ca uptools/atcmd framework started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
37 }