annotate smpp-trx-sa/log.c @ 261:a375639e4190

smpp-trx-sa: refactor time formatting code
author Mychaela Falconia <falcon@freecalypso.org>
date Wed, 11 Oct 2023 17:34:45 -0800
parents 9d6e8d99d2b1
children f1c024b2b835
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
222
9d6e8d99d2b1 smpp-trx-sa: new program
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
1 /*
9d6e8d99d2b1 smpp-trx-sa: new program
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
2 * This module implements smpp-trx-sa log file output.
9d6e8d99d2b1 smpp-trx-sa: new program
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
3 */
9d6e8d99d2b1 smpp-trx-sa: new program
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
4
9d6e8d99d2b1 smpp-trx-sa: new program
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
5 #include <sys/types.h>
9d6e8d99d2b1 smpp-trx-sa: new program
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
6 #include <stdio.h>
9d6e8d99d2b1 smpp-trx-sa: new program
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
7 #include <stdlib.h>
9d6e8d99d2b1 smpp-trx-sa: new program
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
8 #include <string.h>
9d6e8d99d2b1 smpp-trx-sa: new program
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
9 #include <strings.h>
9d6e8d99d2b1 smpp-trx-sa: new program
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
10 #include <time.h>
9d6e8d99d2b1 smpp-trx-sa: new program
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
11
9d6e8d99d2b1 smpp-trx-sa: new program
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
12 extern FILE *logF;
9d6e8d99d2b1 smpp-trx-sa: new program
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
13 extern time_t curtime;
261
a375639e4190 smpp-trx-sa: refactor time formatting code
Mychaela Falconia <falcon@freecalypso.org>
parents: 222
diff changeset
14 extern char fmt_time[32];
222
9d6e8d99d2b1 smpp-trx-sa: new program
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
15 extern int init_done;
9d6e8d99d2b1 smpp-trx-sa: new program
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
16
9d6e8d99d2b1 smpp-trx-sa: new program
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
17 void
9d6e8d99d2b1 smpp-trx-sa: new program
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
18 log_fatal_error(cause)
9d6e8d99d2b1 smpp-trx-sa: new program
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
19 char *cause;
9d6e8d99d2b1 smpp-trx-sa: new program
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
20 {
9d6e8d99d2b1 smpp-trx-sa: new program
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
21 if (!init_done)
9d6e8d99d2b1 smpp-trx-sa: new program
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
22 return;
9d6e8d99d2b1 smpp-trx-sa: new program
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
23 fprintf(logF, "\n%s %s\n", fmt_time, cause);
9d6e8d99d2b1 smpp-trx-sa: new program
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
24 }
9d6e8d99d2b1 smpp-trx-sa: new program
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
25
9d6e8d99d2b1 smpp-trx-sa: new program
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
26 static void
9d6e8d99d2b1 smpp-trx-sa: new program
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
27 pdu_hexdump(pdu, pdulen)
9d6e8d99d2b1 smpp-trx-sa: new program
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
28 u_char *pdu;
9d6e8d99d2b1 smpp-trx-sa: new program
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
29 unsigned pdulen;
9d6e8d99d2b1 smpp-trx-sa: new program
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
30 {
9d6e8d99d2b1 smpp-trx-sa: new program
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
31 unsigned off, chunk;
9d6e8d99d2b1 smpp-trx-sa: new program
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
32 int i, c;
9d6e8d99d2b1 smpp-trx-sa: new program
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
33
9d6e8d99d2b1 smpp-trx-sa: new program
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
34 for (off = 0; off < pdulen; off += chunk) {
9d6e8d99d2b1 smpp-trx-sa: new program
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
35 fprintf(logF, "%04X: ", off);
9d6e8d99d2b1 smpp-trx-sa: new program
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
36 chunk = pdulen - off;
9d6e8d99d2b1 smpp-trx-sa: new program
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
37 if (chunk > 16)
9d6e8d99d2b1 smpp-trx-sa: new program
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
38 chunk = 16;
9d6e8d99d2b1 smpp-trx-sa: new program
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
39 for (i = 0; i < 16; i++) {
9d6e8d99d2b1 smpp-trx-sa: new program
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
40 if (i < chunk)
9d6e8d99d2b1 smpp-trx-sa: new program
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
41 fprintf(logF, "%02X ", pdu[off + i]);
9d6e8d99d2b1 smpp-trx-sa: new program
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
42 else
9d6e8d99d2b1 smpp-trx-sa: new program
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
43 fputs(" ", logF);
9d6e8d99d2b1 smpp-trx-sa: new program
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
44 if (i == 7 || i == 15)
9d6e8d99d2b1 smpp-trx-sa: new program
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
45 putc(' ', logF);
9d6e8d99d2b1 smpp-trx-sa: new program
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
46 }
9d6e8d99d2b1 smpp-trx-sa: new program
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
47 for (i = 0; i < chunk; i++) {
9d6e8d99d2b1 smpp-trx-sa: new program
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
48 c = pdu[off + i];
9d6e8d99d2b1 smpp-trx-sa: new program
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
49 if (c < ' ' || c > '~')
9d6e8d99d2b1 smpp-trx-sa: new program
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
50 c = '.';
9d6e8d99d2b1 smpp-trx-sa: new program
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
51 putc(c, logF);
9d6e8d99d2b1 smpp-trx-sa: new program
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
52 }
9d6e8d99d2b1 smpp-trx-sa: new program
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
53 putc('\n', logF);
9d6e8d99d2b1 smpp-trx-sa: new program
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
54 }
9d6e8d99d2b1 smpp-trx-sa: new program
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
55 }
9d6e8d99d2b1 smpp-trx-sa: new program
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
56
9d6e8d99d2b1 smpp-trx-sa: new program
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
57 void
9d6e8d99d2b1 smpp-trx-sa: new program
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
58 log_rx_pdu(pdu, pdulen)
9d6e8d99d2b1 smpp-trx-sa: new program
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
59 u_char *pdu;
9d6e8d99d2b1 smpp-trx-sa: new program
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
60 unsigned pdulen;
9d6e8d99d2b1 smpp-trx-sa: new program
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
61 {
9d6e8d99d2b1 smpp-trx-sa: new program
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
62 fprintf(logF, "\n%s Received PDU:\n", fmt_time);
9d6e8d99d2b1 smpp-trx-sa: new program
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
63 pdu_hexdump(pdu, pdulen);
9d6e8d99d2b1 smpp-trx-sa: new program
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
64 }
9d6e8d99d2b1 smpp-trx-sa: new program
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
65
9d6e8d99d2b1 smpp-trx-sa: new program
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
66 void
9d6e8d99d2b1 smpp-trx-sa: new program
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
67 log_sent_pdu(pdu, pdulen)
9d6e8d99d2b1 smpp-trx-sa: new program
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
68 u_char *pdu;
9d6e8d99d2b1 smpp-trx-sa: new program
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
69 unsigned pdulen;
9d6e8d99d2b1 smpp-trx-sa: new program
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
70 {
9d6e8d99d2b1 smpp-trx-sa: new program
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
71 fprintf(logF, "\n%s Sent PDU:\n", fmt_time);
9d6e8d99d2b1 smpp-trx-sa: new program
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
72 pdu_hexdump(pdu, pdulen);
9d6e8d99d2b1 smpp-trx-sa: new program
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
73 }