view rvinterf/etmsync/fsiomain.c @ 570:962f0d3a4e7e
gsm-fw/nucleus/tct.S: preparations for hooking in GSM small sleep
just like how TI did it
author |
Michael Spacefalcon <msokolov@ivan.Harhan.ORG> |
date |
Sun, 10 Aug 2014 19:24:56 +0000 (2014-08-10) |
parents |
792f164b63a6 |
children |
7b805007dcfc |
line source
/*
* This module contains the main() function for fc-fsio.
*/
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include "exitcodes.h"
char *socket_pathname = "/tmp/rvinterf_socket";
int sock;
extern char *rvinterf_ttyport, *rvinterf_Bopt, *rvinterf_lopt, *rvinterf_wopt;
main(argc, argv)
char **argv;
{
extern int optind;
extern char *optarg;
int c, sopt = 0;
char command[512];
while ((c = getopt(argc, argv, "B:l:p:s:w:")) != EOF)
switch (c) {
case 'B':
rvinterf_Bopt = optarg;
continue;
case 'l':
rvinterf_lopt = optarg;
continue;
case 'p':
rvinterf_ttyport = optarg;
continue;
case 's':
socket_pathname = optarg;
sopt++;
continue;
case 'w':
rvinterf_wopt = optarg;
continue;
case '?':
default:
usage: fprintf(stderr,
"usage: %s [options] [command]\n", argv[0]);
exit(ERROR_USAGE);
}
if (rvinterf_ttyport) {
if (sopt) {
fprintf(stderr,
"%s error: -p and -s options are mutually exclusive\n",
argv[0]);
exit(ERROR_USAGE);
}
launch_rvinterf();
} else {
if (rvinterf_Bopt || rvinterf_lopt || rvinterf_wopt) {
fprintf(stderr,
"%s error: -B, -l and -w options are meaningful only when launching rvinterf\n",
argv[0]);
exit(ERROR_USAGE);
}
connect_local_socket();
}
setlinebuf(stdout);
if (argv[optind])
return dispatch_ready_argv(argc - optind, argv + optind);
for (;;) {
if (isatty(0)) {
rx_control(0);
fputs("fsio> ", stdout);
fflush(stdout);
}
if (!fgets(command, sizeof command, stdin))
exit(0);
parse_and_dispatch_cmd(command, 0);
}
}