FreeCalypso > hg > ice1-trau-tester
annotate pcm-br/user_cmd.c @ 52:626180a15857 default tip
ater play-d144: emit E-data frames manually,
osmo_trau_frame_encode() is currently broken for this frame type
| author | Mychaela Falconia <falcon@freecalypso.org> | 
|---|---|
| date | Wed, 25 Sep 2024 06:40:43 +0000 | 
| parents | 499d065ee591 | 
| children | 
| rev | line source | 
|---|---|
| 5 
7233c10af3ad
pcm: hook in stdin select mechanism
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1 /* | 
| 
7233c10af3ad
pcm: hook in stdin select mechanism
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 2 * In this module we handle user-issued stdin commands during | 
| 35 
499d065ee591
new program itt-pcm-br (PCM bridge)
 Mychaela Falconia <falcon@freecalypso.org> parents: 
12diff
changeset | 3 * itt-pcm-br running session. | 
| 5 
7233c10af3ad
pcm: hook in stdin select mechanism
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 4 */ | 
| 
7233c10af3ad
pcm: hook in stdin select mechanism
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 5 | 
| 
7233c10af3ad
pcm: hook in stdin select mechanism
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 6 #include <stdint.h> | 
| 
7233c10af3ad
pcm: hook in stdin select mechanism
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 7 #include <stdbool.h> | 
| 
7233c10af3ad
pcm: hook in stdin select mechanism
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 8 #include <stdio.h> | 
| 
7233c10af3ad
pcm: hook in stdin select mechanism
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 9 #include <stdlib.h> | 
| 
7233c10af3ad
pcm: hook in stdin select mechanism
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 10 #include <string.h> | 
| 
7233c10af3ad
pcm: hook in stdin select mechanism
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 11 | 
| 
7233c10af3ad
pcm: hook in stdin select mechanism
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 12 #include <osmocom/core/select.h> | 
| 
7233c10af3ad
pcm: hook in stdin select mechanism
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 13 | 
| 
7233c10af3ad
pcm: hook in stdin select mechanism
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 14 #include "globals.h" | 
| 
7233c10af3ad
pcm: hook in stdin select mechanism
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 15 | 
| 6 
631f2db08538
pcm: implement print-rx and record commands
 Mychaela Falconia <falcon@freecalypso.org> parents: 
5diff
changeset | 16 static struct cmdtab { | 
| 
631f2db08538
pcm: implement print-rx and record commands
 Mychaela Falconia <falcon@freecalypso.org> parents: 
5diff
changeset | 17 char *cmd; | 
| 
631f2db08538
pcm: implement print-rx and record commands
 Mychaela Falconia <falcon@freecalypso.org> parents: 
5diff
changeset | 18 void (*func)(int argc, char **argv); | 
| 
631f2db08538
pcm: implement print-rx and record commands
 Mychaela Falconia <falcon@freecalypso.org> parents: 
5diff
changeset | 19 } cmdtab[] = { | 
| 35 
499d065ee591
new program itt-pcm-br (PCM bridge)
 Mychaela Falconia <falcon@freecalypso.org> parents: 
12diff
changeset | 20 {"record-a", cmd_record_a_start}, | 
| 
499d065ee591
new program itt-pcm-br (PCM bridge)
 Mychaela Falconia <falcon@freecalypso.org> parents: 
12diff
changeset | 21 {"record-a-stop", cmd_record_a_stop}, | 
| 
499d065ee591
new program itt-pcm-br (PCM bridge)
 Mychaela Falconia <falcon@freecalypso.org> parents: 
12diff
changeset | 22 {"record-b", cmd_record_b_start}, | 
| 
499d065ee591
new program itt-pcm-br (PCM bridge)
 Mychaela Falconia <falcon@freecalypso.org> parents: 
12diff
changeset | 23 {"record-b-stop", cmd_record_b_stop}, | 
| 
499d065ee591
new program itt-pcm-br (PCM bridge)
 Mychaela Falconia <falcon@freecalypso.org> parents: 
12diff
changeset | 24 {"show-a", cmd_show_a}, | 
| 
499d065ee591
new program itt-pcm-br (PCM bridge)
 Mychaela Falconia <falcon@freecalypso.org> parents: 
12diff
changeset | 25 {"show-b", cmd_show_b}, | 
| 6 
631f2db08538
pcm: implement print-rx and record commands
 Mychaela Falconia <falcon@freecalypso.org> parents: 
5diff
changeset | 26 /* table search terminator */ | 
| 
631f2db08538
pcm: implement print-rx and record commands
 Mychaela Falconia <falcon@freecalypso.org> parents: 
5diff
changeset | 27 {NULL, NULL} | 
| 
631f2db08538
pcm: implement print-rx and record commands
 Mychaela Falconia <falcon@freecalypso.org> parents: 
5diff
changeset | 28 }; | 
| 
631f2db08538
pcm: implement print-rx and record commands
 Mychaela Falconia <falcon@freecalypso.org> parents: 
5diff
changeset | 29 | 
| 5 
7233c10af3ad
pcm: hook in stdin select mechanism
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 30 void handle_user_cmd(int argc, char **argv) | 
| 
7233c10af3ad
pcm: hook in stdin select mechanism
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 31 { | 
| 6 
631f2db08538
pcm: implement print-rx and record commands
 Mychaela Falconia <falcon@freecalypso.org> parents: 
5diff
changeset | 32 struct cmdtab *tp; | 
| 
631f2db08538
pcm: implement print-rx and record commands
 Mychaela Falconia <falcon@freecalypso.org> parents: 
5diff
changeset | 33 | 
| 
631f2db08538
pcm: implement print-rx and record commands
 Mychaela Falconia <falcon@freecalypso.org> parents: 
5diff
changeset | 34 for (tp = cmdtab; tp->cmd; tp++) | 
| 
631f2db08538
pcm: implement print-rx and record commands
 Mychaela Falconia <falcon@freecalypso.org> parents: 
5diff
changeset | 35 if (!strcmp(tp->cmd, argv[0])) | 
| 
631f2db08538
pcm: implement print-rx and record commands
 Mychaela Falconia <falcon@freecalypso.org> parents: 
5diff
changeset | 36 break; | 
| 
631f2db08538
pcm: implement print-rx and record commands
 Mychaela Falconia <falcon@freecalypso.org> parents: 
5diff
changeset | 37 if (!tp->func) { | 
| 
631f2db08538
pcm: implement print-rx and record commands
 Mychaela Falconia <falcon@freecalypso.org> parents: 
5diff
changeset | 38 printf("error: unknown or unimplemented command\n"); | 
| 
631f2db08538
pcm: implement print-rx and record commands
 Mychaela Falconia <falcon@freecalypso.org> parents: 
5diff
changeset | 39 return; | 
| 
631f2db08538
pcm: implement print-rx and record commands
 Mychaela Falconia <falcon@freecalypso.org> parents: 
5diff
changeset | 40 } | 
| 
631f2db08538
pcm: implement print-rx and record commands
 Mychaela Falconia <falcon@freecalypso.org> parents: 
5diff
changeset | 41 tp->func(argc, argv); | 
| 5 
7233c10af3ad
pcm: hook in stdin select mechanism
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 42 } | 
