FreeCalypso > hg > freecalypso-sw
comparison rvinterf/etm/main.c @ 197:fa7174faa9aa
fc-tmsh: option to invoke rvinterf "behind the scenes"
author | Michael Spacefalcon <msokolov@ivan.Harhan.ORG> |
---|---|
date | Sun, 15 Dec 2013 07:31:52 +0000 |
parents | 13a0348ffce4 |
children | 2847b6cbd915 |
comparison
equal
deleted
inserted
replaced
196:3daa8ebbe74d | 197:fa7174faa9aa |
---|---|
11 char *socket_pathname = "/tmp/rvinterf_socket"; | 11 char *socket_pathname = "/tmp/rvinterf_socket"; |
12 int ttyhacks, dflag; | 12 int ttyhacks, dflag; |
13 | 13 |
14 int sock; | 14 int sock; |
15 | 15 |
16 extern char *rvinterf_lopt, *rvinterf_wopt; | |
17 | |
16 main(argc, argv) | 18 main(argc, argv) |
17 char **argv; | 19 char **argv; |
18 { | 20 { |
19 extern char *optarg; | 21 extern char *optarg; |
20 int c; | 22 int c; |
21 fd_set fds; | 23 fd_set fds; |
22 | 24 |
23 while ((c = getopt(argc, argv, "ds:")) != EOF) | 25 while ((c = getopt(argc, argv, "dl:s:w:")) != EOF) |
24 switch (c) { | 26 switch (c) { |
25 case 'd': | 27 case 'd': |
26 dflag++; | 28 dflag++; |
27 continue; | 29 continue; |
30 case 'l': | |
31 rvinterf_lopt = optarg; | |
32 continue; | |
28 case 's': | 33 case 's': |
29 socket_pathname = optarg; | 34 socket_pathname = optarg; |
30 continue; | 35 continue; |
36 case 'w': | |
37 rvinterf_wopt = optarg; | |
38 continue; | |
31 case '?': | 39 case '?': |
32 default: | 40 default: |
41 usage: fprintf(stderr, | |
42 "usage: %s [options] [ttyport]\n", argv[0]); | |
33 exit(1); | 43 exit(1); |
34 } | 44 } |
45 switch (argc - optind) { | |
46 case 0: | |
47 if (rvinterf_lopt || rvinterf_wopt) { | |
48 fprintf(stderr, | |
49 "%s: -l and -w options are meaningful only when launching rvinterf\n", | |
50 argv[0]); | |
51 exit(1); | |
52 } | |
53 break; | |
54 case 1: | |
55 launch_rvinterf(argv[optind]); | |
56 break; | |
57 default: | |
58 goto usage; | |
59 } | |
60 | |
35 ttyhacks = isatty(0) && !dflag; | 61 ttyhacks = isatty(0) && !dflag; |
36 init(); | 62 init(); |
37 tty_init(); | 63 tty_init(); |
38 for (;;) { | 64 for (;;) { |
39 FD_ZERO(&fds); | 65 FD_ZERO(&fds); |