FreeCalypso > hg > sms-coding-utils
annotate gen-pdu/main.c @ 9:003660a57f99
new program sms-gen-tpdu
| author | Mychaela Falconia <falcon@freecalypso.org> | 
|---|---|
| date | Sat, 05 Aug 2023 07:43:45 +0000 | 
| parents | |
| children | d9d722033ff1 | 
| rev | line source | 
|---|---|
| 
9
 
003660a57f99
new program sms-gen-tpdu
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1 /* | 
| 
 
003660a57f99
new program sms-gen-tpdu
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2 * This C file is the main module for sms-gen-tpdu utility. | 
| 
 
003660a57f99
new program sms-gen-tpdu
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3 */ | 
| 
 
003660a57f99
new program sms-gen-tpdu
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
4 | 
| 
 
003660a57f99
new program sms-gen-tpdu
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
5 #include <sys/types.h> | 
| 
 
003660a57f99
new program sms-gen-tpdu
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
6 #include <stdio.h> | 
| 
 
003660a57f99
new program sms-gen-tpdu
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
7 #include <stdlib.h> | 
| 
 
003660a57f99
new program sms-gen-tpdu
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
8 #include <string.h> | 
| 
 
003660a57f99
new program sms-gen-tpdu
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
9 #include <strings.h> | 
| 
 
003660a57f99
new program sms-gen-tpdu
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
10 | 
| 
 
003660a57f99
new program sms-gen-tpdu
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
11 int dir_mo, include_sca; | 
| 
 
003660a57f99
new program sms-gen-tpdu
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
12 u_char sc_addr[12], user_addr[12]; | 
| 
 
003660a57f99
new program sms-gen-tpdu
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
13 u_char mr_byte, pid_byte, dcs_byte; | 
| 
 
003660a57f99
new program sms-gen-tpdu
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
14 u_char scts_buf[7]; | 
| 
 
003660a57f99
new program sms-gen-tpdu
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
15 int is_septet, scts_is_set; | 
| 
 
003660a57f99
new program sms-gen-tpdu
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
16 | 
| 
 
003660a57f99
new program sms-gen-tpdu
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
17 char input_line[512]; | 
| 
 
003660a57f99
new program sms-gen-tpdu
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
18 int input_lineno; | 
| 
 
003660a57f99
new program sms-gen-tpdu
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
19 | 
| 
 
003660a57f99
new program sms-gen-tpdu
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
20 static void | 
| 
 
003660a57f99
new program sms-gen-tpdu
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
21 init_defaults() | 
| 
 
003660a57f99
new program sms-gen-tpdu
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
22 { | 
| 
 
003660a57f99
new program sms-gen-tpdu
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
23 sc_addr[0] = 0; | 
| 
 
003660a57f99
new program sms-gen-tpdu
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
24 user_addr[0] = 0; | 
| 
 
003660a57f99
new program sms-gen-tpdu
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
25 user_addr[1] = 0x80; | 
| 
 
003660a57f99
new program sms-gen-tpdu
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
26 mr_byte = 0xFF; | 
| 
 
003660a57f99
new program sms-gen-tpdu
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
27 pid_byte = 0; | 
| 
 
003660a57f99
new program sms-gen-tpdu
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
28 dcs_byte = 0; | 
| 
 
003660a57f99
new program sms-gen-tpdu
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
29 is_septet = 1; | 
| 
 
003660a57f99
new program sms-gen-tpdu
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
30 } | 
| 
 
003660a57f99
new program sms-gen-tpdu
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
31 | 
| 
 
003660a57f99
new program sms-gen-tpdu
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
32 main(argc, argv) | 
| 
 
003660a57f99
new program sms-gen-tpdu
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
33 char **argv; | 
| 
 
003660a57f99
new program sms-gen-tpdu
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
34 { | 
| 
 
003660a57f99
new program sms-gen-tpdu
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
35 if (argc != 2) { | 
| 
 
003660a57f99
new program sms-gen-tpdu
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
36 usage: fprintf(stderr, "usage: %s mo|mt|sc-mo|sc-mt\n", argv[0]); | 
| 
 
003660a57f99
new program sms-gen-tpdu
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
37 exit(1); | 
| 
 
003660a57f99
new program sms-gen-tpdu
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
38 } | 
| 
 
003660a57f99
new program sms-gen-tpdu
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
39 if (!strcmp(argv[1], "mo")) { | 
| 
 
003660a57f99
new program sms-gen-tpdu
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
40 dir_mo = 1; | 
| 
 
003660a57f99
new program sms-gen-tpdu
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
41 include_sca = 0; | 
| 
 
003660a57f99
new program sms-gen-tpdu
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
42 } else if (!strcmp(argv[1], "mt")) { | 
| 
 
003660a57f99
new program sms-gen-tpdu
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
43 dir_mo = 0; | 
| 
 
003660a57f99
new program sms-gen-tpdu
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
44 include_sca = 0; | 
| 
 
003660a57f99
new program sms-gen-tpdu
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
45 } else if (!strcmp(argv[1], "sc-mo")) { | 
| 
 
003660a57f99
new program sms-gen-tpdu
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
46 dir_mo = 1; | 
| 
 
003660a57f99
new program sms-gen-tpdu
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
47 include_sca = 1; | 
| 
 
003660a57f99
new program sms-gen-tpdu
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
48 } else if (!strcmp(argv[1], "sc-mt")) { | 
| 
 
003660a57f99
new program sms-gen-tpdu
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
49 dir_mo = 0; | 
| 
 
003660a57f99
new program sms-gen-tpdu
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
50 include_sca = 1; | 
| 
 
003660a57f99
new program sms-gen-tpdu
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
51 } else | 
| 
 
003660a57f99
new program sms-gen-tpdu
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
52 goto usage; | 
| 
 
003660a57f99
new program sms-gen-tpdu
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
53 init_defaults(); | 
| 
 
003660a57f99
new program sms-gen-tpdu
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
54 for (input_lineno = 1; fgets(input_line, sizeof input_line, stdin); | 
| 
 
003660a57f99
new program sms-gen-tpdu
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
55 input_lineno++) | 
| 
 
003660a57f99
new program sms-gen-tpdu
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
56 process_input_line(); | 
| 
 
003660a57f99
new program sms-gen-tpdu
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
57 exit(0); | 
| 
 
003660a57f99
new program sms-gen-tpdu
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
58 } | 
