FreeCalypso > hg > freecalypso-reveng
diff pircharge/main.c @ 228:fec90990f613
pirchgdbg started
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Tue, 19 Dec 2017 02:58:38 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/pircharge/main.c Tue Dec 19 02:58:38 2017 +0000 @@ -0,0 +1,55 @@ +#include <sys/types.h> +#include <sys/errno.h> +#include <stdio.h> +#include <stdlib.h> +#include <unistd.h> +#include <rvinterf/exitcodes.h> + +char *socket_pathname = "/tmp/rvinterf_socket"; +int sock; + +int adccal_a, adccal_b; + +main(argc, argv) + char **argv; +{ + extern int optind; + extern char *optarg; + int c, sopt = 0; + fd_set fds; + + while ((c = getopt(argc, argv, "s:")) != EOF) + switch (c) { + case 's': + socket_pathname = optarg; + sopt++; + continue; + case '?': + default: + /* error msg already printed */ + exit(ERROR_USAGE); + } + if (argc != optind + 2) { + fprintf(stderr, "usage: %s adccal-a adccal-b\n", argv[0]); + exit(ERROR_USAGE); + } + adccal_a = atoi(argv[optind]); + adccal_b = atoi(argv[optind+1]); + + connect_local_socket(); + init(); + for (;;) { + FD_ZERO(&fds); + FD_SET(sock, &fds); + c = select(sock+1, &fds, 0, 0, 0); + if (c < 0) { + if (errno == EINTR) + continue; + perror("select"); + exit(ERROR_UNIX); + } + if (FD_ISSET(sock, &fds)) + handle_rvinterf_input(); + fflush(stdout); + } +}