annotate miscutil/fc-pulse-dtr.c @ 1011:6d9b10633f10 default tip

etmsync Pirelli IMEI retrieval: fix poor use of printf() Bug reported by Vadim Yanitskiy <fixeria@osmocom.org>: the construct where a static-allocated string was passed to printf() without any format arguments causes newer compilers to report a security problem. Given that formatted output is not needed here, just fixed string output, change printf() to fputs(), and direct the error message to stderr while at it.
author Mychaela Falconia <falcon@freecalypso.org>
date Thu, 23 May 2024 17:29:57 +0000
parents 5b8287c655cf
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
735
5b8287c655cf fc-pulse-dtr and fc-pulse-rts utilities implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
1 /*
5b8287c655cf fc-pulse-dtr and fc-pulse-rts utilities implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
2 * This utility opens a serial port, asserts DTR for 50 ms, then negates it
5b8287c655cf fc-pulse-dtr and fc-pulse-rts utilities implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
3 * and exits. It is intended for use with FreeCalypso DUART28C adapters.
5b8287c655cf fc-pulse-dtr and fc-pulse-rts utilities implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
4 */
5b8287c655cf fc-pulse-dtr and fc-pulse-rts utilities implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
5
5b8287c655cf fc-pulse-dtr and fc-pulse-rts utilities implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
6 #include <sys/types.h>
5b8287c655cf fc-pulse-dtr and fc-pulse-rts utilities implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
7 #include <sys/file.h>
5b8287c655cf fc-pulse-dtr and fc-pulse-rts utilities implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
8 #include <sys/ioctl.h>
5b8287c655cf fc-pulse-dtr and fc-pulse-rts utilities implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
9 #include <stdio.h>
5b8287c655cf fc-pulse-dtr and fc-pulse-rts utilities implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
10 #include <stdlib.h>
5b8287c655cf fc-pulse-dtr and fc-pulse-rts utilities implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
11 #include <unistd.h>
5b8287c655cf fc-pulse-dtr and fc-pulse-rts utilities implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
12
5b8287c655cf fc-pulse-dtr and fc-pulse-rts utilities implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
13 main(argc, argv)
5b8287c655cf fc-pulse-dtr and fc-pulse-rts utilities implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
14 char **argv;
5b8287c655cf fc-pulse-dtr and fc-pulse-rts utilities implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
15 {
5b8287c655cf fc-pulse-dtr and fc-pulse-rts utilities implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
16 int target_fd;
5b8287c655cf fc-pulse-dtr and fc-pulse-rts utilities implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
17 int mctl_arg = TIOCM_DTR;
5b8287c655cf fc-pulse-dtr and fc-pulse-rts utilities implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
18
5b8287c655cf fc-pulse-dtr and fc-pulse-rts utilities implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
19 if (argc != 2) {
5b8287c655cf fc-pulse-dtr and fc-pulse-rts utilities implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
20 fprintf(stderr, "usage: %s ttyname\n", argv[0]);
5b8287c655cf fc-pulse-dtr and fc-pulse-rts utilities implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
21 exit(1);
5b8287c655cf fc-pulse-dtr and fc-pulse-rts utilities implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
22 }
5b8287c655cf fc-pulse-dtr and fc-pulse-rts utilities implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
23 target_fd = open(argv[1], O_RDWR|O_NONBLOCK);
5b8287c655cf fc-pulse-dtr and fc-pulse-rts utilities implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
24 if (target_fd < 0) {
5b8287c655cf fc-pulse-dtr and fc-pulse-rts utilities implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
25 perror(argv[1]);
5b8287c655cf fc-pulse-dtr and fc-pulse-rts utilities implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
26 exit(1);
5b8287c655cf fc-pulse-dtr and fc-pulse-rts utilities implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
27 }
5b8287c655cf fc-pulse-dtr and fc-pulse-rts utilities implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
28 ioctl(target_fd, TIOCMBIS, &mctl_arg);
5b8287c655cf fc-pulse-dtr and fc-pulse-rts utilities implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
29 usleep(50000);
5b8287c655cf fc-pulse-dtr and fc-pulse-rts utilities implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
30 ioctl(target_fd, TIOCMBIC, &mctl_arg);
5b8287c655cf fc-pulse-dtr and fc-pulse-rts utilities implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
31 exit(0);
5b8287c655cf fc-pulse-dtr and fc-pulse-rts utilities implemented
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
32 }