diff --git a/.gitignore b/.gitignore index 06c8691..df80c97 100644 --- a/.gitignore +++ b/.gitignore @@ -23,3 +23,6 @@ *.so *.so.* +# build dirs +mk/ +build/ diff --git a/Auxiliary_utils/Hydreon/cmdlnopts.c b/Auxiliary_utils/Hydreon/cmdlnopts.c index 2d088f6..bf573df 100644 --- a/Auxiliary_utils/Hydreon/cmdlnopts.c +++ b/Auxiliary_utils/Hydreon/cmdlnopts.c @@ -49,7 +49,7 @@ static glob_pars const Gdefault = { * Define command line options by filling structure: * name has_arg flag val type argptr help */ -static myoption cmdlnopts[] = { +static sl_option_t cmdlnopts[] = { // common options {"help", NO_ARGS, NULL, 'h', arg_int, APTR(&help), _("show this help")}, {"device", NEED_ARG, NULL, 'd', arg_string, APTR(&G.device), _("serial device name (default: )" DEFAULT_DEV ")")}, @@ -75,10 +75,10 @@ glob_pars *parse_args(int argc, char **argv){ char helpstring[1024], *hptr = helpstring; snprintf(hptr, hlen, "Usage: %%s [args]\n\n\tWhere args are:\n"); // format of help: "Usage: progname [args]\n" - change_helpstring(helpstring); + sl_helpstring(helpstring); // parse arguments - parseargs(&argc, &argv, cmdlnopts); - if(help) showhelp(-1, cmdlnopts); + sl_parseargs(&argc, &argv, cmdlnopts); + if(help) sl_showhelp(-1, cmdlnopts); if(argc > 0){ WARNX("Ignore %d unknown parameters: "); for (i = 0; i < argc; i++) diff --git a/Auxiliary_utils/Hydreon/dumpregs.c b/Auxiliary_utils/Hydreon/dumpregs.c index ac97837..412b4aa 100644 --- a/Auxiliary_utils/Hydreon/dumpregs.c +++ b/Auxiliary_utils/Hydreon/dumpregs.c @@ -57,7 +57,7 @@ static void dumpRchanges(rg11 *new, rg11 *old){ int start = 1; for(int i = 0; i < RREGNUM; ++i){ if(o[i] != n[i]){ - sl_putlogt(start, globlog, LOGLEVEL_MSG, "%s=%d", regname(i), n[i]); + sl_putlogt(start, sl_globlog, LOGLEVEL_MSG, "%s=%d", regname(i), n[i]); DBG("%s=%d", regname(i), n[i]); if(start) start = 0; } @@ -68,7 +68,7 @@ static void dumpRchanges(rg11 *new, rg11 *old){ uint8_t f = 1; for(int i = 0; i < RGBITNUM; ++i, f <<= 1){ if(xOr & f){ - sl_putlogt(start, globlog, LOGLEVEL_MSG, "%s=%d", rgbitname(i), (new->RGBits & f) ? 1 : 0); + sl_putlogt(start, sl_globlog, LOGLEVEL_MSG, "%s=%d", rgbitname(i), (new->RGBits & f) ? 1 : 0); DBG("%s=%d", rgbitname(i), (new->RGBits & f) ? 1 : 0); if(start) start = 0; } @@ -82,7 +82,7 @@ static void dumpSchanges(slowregs *new, slowregs *old){ int start = 1; for(int i = 0; i < SREGNUM; ++i){ if(o[i] != n[i]){ - sl_putlogt(start, globlog, LOGLEVEL_MSG, "%s=%d", slowname(i), n[i]); + sl_putlogt(start, sl_globlog, LOGLEVEL_MSG, "%s=%d", slowname(i), n[i]); DBG("%s=%d", slowname(i), n[i]); if(start) start = 0; } @@ -147,12 +147,12 @@ static void puttotable(rg11 *R, slowregs *S){ } int main(int argc, char **argv){ - initial_setup(); + sl_init(); char *self = strdup(argv[0]); G = parse_args(argc, argv); if(G->timeout < 5) ERRX("Timeout should be not less than 5 seconds"); if(!G->logfile && !G->outfile) ERRX("Point at least log or output file name"); - check4running(self, G->pidfile); + sl_check4running(self, G->pidfile); if(!hydreon_open(G->device)) return 1; if(G->logfile) OPENLOG(G->logfile, LOGLEVEL_ANY, 0); if(G->outfile){ @@ -166,9 +166,9 @@ int main(int argc, char **argv){ signal(SIGINT, signals); // ctrl+C - quit signal(SIGQUIT, signals); // ctrl+\ - quit signal(SIGTSTP, SIG_IGN); // ignore ctrl+Z - double t0 = dtime(); + double t0 = sl_dtime(); puttotable(NULL, NULL); - while(dtime() - t0 < (double)G->timeout){ // dump only changes + while(sl_dtime() - t0 < (double)G->timeout){ // dump only changes if(!hydreon_getpacket(&Rregs, &Sregs)) continue; int changes = FALSE; if(memcmp(&Rregs, &oRregs, RREGNUM + 1)){ // Rregs changed -> log changes @@ -182,7 +182,7 @@ int main(int argc, char **argv){ changes = TRUE; } if(changes) puttotable(&Rregs, &Sregs); - t0 = dtime(); + t0 = sl_dtime(); } signals(-1); // never reached return 0; diff --git a/Auxiliary_utils/Hydreon/hydreon.c b/Auxiliary_utils/Hydreon/hydreon.c index 6e98181..6159e15 100644 --- a/Auxiliary_utils/Hydreon/hydreon.c +++ b/Auxiliary_utils/Hydreon/hydreon.c @@ -20,7 +20,7 @@ #include "hydreon.h" -static TTY_descr *dev = NULL; +static sl_tty_t *dev = NULL; // regular registers names static const char* rregnames[RREGNUM] = { @@ -121,7 +121,7 @@ int hydreon_getpacket(rg11 *Rregs, slowregs *Sregs){ if(!dev) return 0; static int buflen = 0; static char strbuf[BUFLEN]; - int l = read_tty(dev); + int l = sl_tty_read(dev); if(l < 1) return FALSE; char s = dev->buf[0]; if(s == 's'){ // start of new packet -> encode old @@ -146,13 +146,13 @@ int hydreon_getpacket(rg11 *Rregs, slowregs *Sregs){ * @return TRUE or FALSE if failed */ int hydreon_open(const char *devname){ - dev = new_tty((char*)devname, 1200, 1); + dev = sl_tty_new((char*)devname, 1200, 1); if(!dev) return FALSE; - dev = tty_open(dev, 1); + dev = sl_tty_open(dev, 1); if(!dev) return FALSE; return TRUE; } void hydreon_close(){ - if(dev) close_tty(&dev); + if(dev) sl_tty_close(&dev); } diff --git a/Auxiliary_utils/PCS_create/CMakeLists.txt b/Auxiliary_utils/PCS_create/CMakeLists.txt index bda6020..55855f1 100644 --- a/Auxiliary_utils/PCS_create/CMakeLists.txt +++ b/Auxiliary_utils/PCS_create/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.0) +cmake_minimum_required(VERSION 3.30) set(PROJ PCS_create) set(MINOR_VERSION "0") set(MID_VERSION "1") diff --git a/Auxiliary_utils/PCS_create/PCS.c b/Auxiliary_utils/PCS_create/PCS.c index d83150d..f963a72 100644 --- a/Auxiliary_utils/PCS_create/PCS.c +++ b/Auxiliary_utils/PCS_create/PCS.c @@ -321,7 +321,7 @@ static void printheader(){ } int main(int argc, char **argv) { - initial_setup(); + sl_init(); G = parse_args(argc, argv); if(G->pressure < 0.) ERRX("Pressure should be greater than zero"); if(G->temperature < -100. || G->temperature > 100.) ERRX("Temperature over the range -100..+100"); diff --git a/Auxiliary_utils/PCS_create/cmdlnopts.c b/Auxiliary_utils/PCS_create/cmdlnopts.c index 00942c4..83cf032 100644 --- a/Auxiliary_utils/PCS_create/cmdlnopts.c +++ b/Auxiliary_utils/PCS_create/cmdlnopts.c @@ -40,7 +40,7 @@ glob_pars const Gdefault = { * Define command line options by filling structure: * name has_arg flag val type argptr help */ -static myoption cmdlnopts[] = { +static sl_option_t cmdlnopts[] = { // set 1 to param despite of its repeating number: {"help", NO_ARGS, NULL, 'h', arg_int, APTR(&help), _("show this help")}, {"10m", NO_ARGS, NULL, 't', arg_int, APTR(&G.for10m), _("make output suitable for 10-micron mount")}, @@ -68,10 +68,10 @@ static myoption cmdlnopts[] = { glob_pars *parse_args(int argc, char **argv){ void *ptr = memcpy(&G, &Gdefault, sizeof(G)); assert(ptr); // format of help: "Usage: progname [args]\n" - change_helpstring(_("Version: " PACKAGE_VERSION "\nUsage: %s [args] FITS_files\nMake PCS list for equatorial mount\n\tWhere args are:\n")); + sl_helpstring(_("Version: " PACKAGE_VERSION "\nUsage: %s [args] FITS_files\nMake PCS list for equatorial mount\n\tWhere args are:\n")); // parse arguments - parseargs(&argc, &argv, cmdlnopts); - if(help) showhelp(-1, cmdlnopts); + sl_parseargs(&argc, &argv, cmdlnopts); + if(help) sl_showhelp(-1, cmdlnopts); G.nfiles = argc; G.infiles = MALLOC(char*, argc); for(int i = 0; i < argc; i++){ diff --git a/Auxiliary_utils/Weather_chk/CMakeLists.txt b/Auxiliary_utils/Weather_chk/CMakeLists.txt index 6981851..b36c8dc 100644 --- a/Auxiliary_utils/Weather_chk/CMakeLists.txt +++ b/Auxiliary_utils/Weather_chk/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.0) +cmake_minimum_required(VERSION 3.30) set(PROJ chkweather) set(MINOR_VERSION "1") set(MID_VERSION "0") diff --git a/Auxiliary_utils/Weather_chk/cmdlnopts.c b/Auxiliary_utils/Weather_chk/cmdlnopts.c index cf65fbd..1d89d78 100644 --- a/Auxiliary_utils/Weather_chk/cmdlnopts.c +++ b/Auxiliary_utils/Weather_chk/cmdlnopts.c @@ -40,7 +40,7 @@ glob_pars const Gdefault = { * Define command line options by filling structure: * name has_arg flag val type argptr help */ -static myoption cmdlnopts[] = { +static sl_option_t cmdlnopts[] = { // set 1 to param despite of its repeating number: {"help", NO_ARGS, NULL, 'h', arg_int, APTR(&help), _("show this help")}, {"speed", NEED_ARG, NULL, 's', arg_int, APTR(&G.speed), _("baudrate (default: 9600)")}, @@ -59,10 +59,10 @@ static myoption cmdlnopts[] = { glob_pars *parse_args(int argc, char **argv){ void *ptr = memcpy(&G, &Gdefault, sizeof(G)); assert(ptr); // format of help: "Usage: progname [args]\n" - change_helpstring(_("Usage: %s [args]\n\n\tWhere args are:\n")); + sl_helpstring(_("Usage: %s [args]\n\n\tWhere args are:\n")); // parse arguments - parseargs(&argc, &argv, cmdlnopts); - if(help) showhelp(-1, cmdlnopts); + sl_parseargs(&argc, &argv, cmdlnopts); + if(help) sl_showhelp(-1, cmdlnopts); if(argc > 0){ WARNX("Wrong arguments:\n"); for(int i = 0; i < argc; i++) diff --git a/Auxiliary_utils/Weather_chk/main.c b/Auxiliary_utils/Weather_chk/main.c index a18d032..8b9bf60 100644 --- a/Auxiliary_utils/Weather_chk/main.c +++ b/Auxiliary_utils/Weather_chk/main.c @@ -51,28 +51,28 @@ static int getpar(char *string, double *Val, char *Name){ int main(int argc, char **argv){ glob_pars *G = NULL; // default parameters see in cmdlnopts.c - initial_setup(); + sl_init(); G = parse_args(argc, argv); - TTY_descr *dev = new_tty(G->ttyname, G->speed, 64); + sl_tty_t *dev = sl_tty_new(G->ttyname, G->speed, 64); if(!dev) return 1; size_t got, L = 0; char buff[BUFLEN], *ptr = buff; int errctr = 0; for(; errctr < ERRCTR_MAX; ++errctr){ - if(!tty_open(dev, 1)){ + if(!sl_tty_open(dev, 1)){ sleep(1); continue; } - while(read_tty(dev)); // clear buffer - if(write_tty(dev->comfd, "?U\r\n", 3)){ + while(sl_tty_read(dev)); // clear buffer + if(sl_tty_write(dev->comfd, "?U\r\n", 3)){ WARNX("write_tty()"); continue; } - double t0 = dtime(); - while(dtime() - t0 < 10.){ // timeout - 10s - got = read_tty(dev); + double t0 = sl_dtime(); + while(sl_dtime() - t0 < 10.){ // timeout - 10s + got = sl_tty_read(dev); if(got == 0) continue; - t0 = dtime(); + t0 = sl_dtime(); if(L + got > BUFLEN - 1) break; L += got; buff[L] = 0; @@ -92,8 +92,8 @@ int main(int argc, char **argv){ continue; }else break; } - while(read_tty(dev)); - close_tty(&dev); + while(sl_tty_read(dev)); + sl_tty_close(&dev); if(errctr == ERRCTR_MAX){ ERRX("No connection to meteostation"); } diff --git a/Auxiliary_utils/bash_scripts/AZpoint b/Auxiliary_utils/bash_scripts/AZpoint index d35942f..5221878 100755 --- a/Auxiliary_utils/bash_scripts/AZpoint +++ b/Auxiliary_utils/bash_scripts/AZpoint @@ -4,7 +4,7 @@ A="90:00:00" H="45:00:00" function sendcmd(){ - echo $1 | nc 192.168.70.33 10001 -q10 + echo $1 | nc localhost 10001 -q10 } sendcmd ":Sz${A}#" diff --git a/Auxiliary_utils/calc_points/cmdlnopts.c b/Auxiliary_utils/calc_points/cmdlnopts.c index 68db9a0..499dd89 100644 --- a/Auxiliary_utils/calc_points/cmdlnopts.c +++ b/Auxiliary_utils/calc_points/cmdlnopts.c @@ -41,7 +41,7 @@ static glob_pars G = { * Define command line options by filling structure: * name has_arg flag val type argptr help */ -static myoption cmdlnopts[] = { +static sl_option_t cmdlnopts[] = { // common options {"help", NO_ARGS, NULL, 'h', arg_int, APTR(&help), "show this help"}, {"delimeter",NEED_ARG, NULL, 'd', arg_string, APTR(&G.delimeter), "coordinates delimeter string (default: ':')"}, @@ -71,10 +71,10 @@ glob_pars *parse_args(int argc, char **argv){ char helpstring[1024], *hptr = helpstring; snprintf(hptr, hlen, "Usage: %%s [args]\n\n\tWhere args are:\n"); // format of help: "Usage: progname [args]\n" - change_helpstring(helpstring); + sl_helpstring(helpstring); // parse arguments - parseargs(&argc, &argv, cmdlnopts); - if(help) showhelp(-1, cmdlnopts); + sl_parseargs(&argc, &argv, cmdlnopts); + if(help) sl_showhelp(-1, cmdlnopts); if(argc > 0){ G.rest_pars_num = argc; G.rest_pars = MALLOC(char *, argc); diff --git a/Auxiliary_utils/calc_points/main.c b/Auxiliary_utils/calc_points/main.c index 633e3c7..efec8fd 100644 --- a/Auxiliary_utils/calc_points/main.c +++ b/Auxiliary_utils/calc_points/main.c @@ -100,7 +100,7 @@ static void savepoints(FILE *f, point *pts, int N, char *delim, int mask){ } int main(int argc, char **argv){ - initial_setup(); + sl_init(); glob_pars *G = parse_args(argc, argv); FILE *f = NULL; if(G->outfile){ diff --git a/Auxiliary_utils/focussing/main.c b/Auxiliary_utils/focussing/main.c index 15da68f..46806bf 100644 --- a/Auxiliary_utils/focussing/main.c +++ b/Auxiliary_utils/focussing/main.c @@ -32,7 +32,7 @@ typedef struct{ static glob_pars G = {.tolerance = 10.}; -static myoption cmdlnopts[] = { +static sl_option_t cmdlnopts[] = { // common options {"help", NO_ARGS, NULL, 'h', arg_none, APTR(&G.help), _("show this help")}, {"infile", NEED_ARG, NULL, 'i', arg_string, APTR(&G.input), _("input file name")}, @@ -158,11 +158,11 @@ static double calcfocus(double coeffs[3]){ int main(int argc, char **argv){ char helpstring[256]; - initial_setup(); + sl_init(); snprintf(helpstring, 255, "Usage: `cat file | %%s` or with args; file format \"x y\\n..\"\n\tArgs:\n"); - change_helpstring(helpstring); - parseargs(&argc, &argv, cmdlnopts); - if(G.help) showhelp(-1, cmdlnopts); + sl_helpstring(helpstring); + sl_parseargs(&argc, &argv, cmdlnopts); + if(G.help) sl_showhelp(-1, cmdlnopts); if(G.tolerance <= 0.) ERRX("Tolerance should be > 0"); FILE *f = stdin; if(G.input){ diff --git a/Auxiliary_utils/libastrotools/examples/coordstest.c b/Auxiliary_utils/libastrotools/examples/coordstest.c index ebc47c3..7404653 100644 --- a/Auxiliary_utils/libastrotools/examples/coordstest.c +++ b/Auxiliary_utils/libastrotools/examples/coordstest.c @@ -36,7 +36,7 @@ static const char *radtodeg(double r){ int main(){ - initial_setup(); + sl_init(); at_MJD_t mjd; if(!at_get_MJDu(time(NULL), &mjd)) ERRX("at_get_MJDu"); printf("MJD=%g; TAI=%g/%g, TT=%g/%g, UTC=%g/%g\n", mjd.MJD, mjd.tai1, mjd.tai2, mjd.tt1, mjd.tt2, mjd.utc1, mjd.utc2); diff --git a/Auxiliary_utils/libastrotools/examples/transform.c b/Auxiliary_utils/libastrotools/examples/transform.c index 47f4a3b..5838de1 100644 --- a/Auxiliary_utils/libastrotools/examples/transform.c +++ b/Auxiliary_utils/libastrotools/examples/transform.c @@ -56,7 +56,7 @@ static parameters G = { .py = -10000. }; -static myoption cmdlnopts[] = { +static sl_option_t cmdlnopts[] = { {"help", NO_ARGS, NULL, 'h', arg_int, APTR(&G.help), "show this help"}, {"obsplace", NO_ARGS, NULL, 'O', arg_int, APTR(&G.obsplace), "input RA/Dec is observed place"}, {"JD", NEED_ARG, NULL, 'J', arg_double, APTR(&G.JD), "Julian date"}, @@ -77,9 +77,9 @@ static myoption cmdlnopts[] = { int main(int argc, char **argv){ - initial_setup(); - parseargs(&argc, &argv, cmdlnopts); - if(G.help) showhelp(-1, cmdlnopts); + sl_init(); + sl_parseargs(&argc, &argv, cmdlnopts); + if(G.help) sl_showhelp(-1, cmdlnopts); at_MJD_t MJD; G.ra *= ERFA_DD2R; G.dec *= ERFA_DD2R; diff --git a/Daemons/domedaemon-astrosib/server.c b/Daemons/domedaemon-astrosib/server.c index 750de51..23ac560 100644 --- a/Daemons/domedaemon-astrosib/server.c +++ b/Daemons/domedaemon-astrosib/server.c @@ -180,9 +180,10 @@ static void toomuch(int fd){ LOGWARN("Client fd=%d tried to connect after MAX reached", fd); } // new connections handler -static void connected(sl_sock_t *c){ +static int connected(sl_sock_t *c){ if(c->type == SOCKT_UNIX) LOGMSG("New client fd=%d connected", c->fd); else LOGMSG("New client fd=%d, IP=%s connected", c->fd, c->IP); + return TRUE; } // disconnected handler static void disconnected(sl_sock_t *c){ @@ -196,12 +197,12 @@ void server_run(sl_socktype_e type, const char *node, sl_tty_t *serial){ ERRX("server_run(): wrong parameters"); } dome_serialdev(serial); - sl_sock_changemaxclients(5); - sl_sock_maxclhandler(toomuch); - sl_sock_connhandler(connected); - sl_sock_dischandler(disconnected); s = sl_sock_run_server(type, node, -1, handlers); if(!s) ERRX("Can't create socket and/or run threads"); + sl_sock_changemaxclients(s, 5); + sl_sock_maxclhandler(s, toomuch); + sl_sock_connhandler(s, connected); + sl_sock_dischandler(s, disconnected); while(s && s->connected){ if(!s->rthread){ LOGERR("Server handlers thread is dead"); diff --git a/Daemons/netdaemon/cmdlnopts.c b/Daemons/netdaemon/cmdlnopts.c index 315262a..5d44e90 100644 --- a/Daemons/netdaemon/cmdlnopts.c +++ b/Daemons/netdaemon/cmdlnopts.c @@ -54,7 +54,7 @@ glob_pars const Gdefault = { * Define command line options by filling structure: * name has_arg flag val type argptr help */ -myoption cmdlnopts[] = { +sl_option_t cmdlnopts[] = { // common options {"help", NO_ARGS, NULL, 'h', arg_int, APTR(&help), _("show this help")}, {"device", NEED_ARG, NULL, 'i', arg_string, APTR(&G.device), _("serial device name (default: none)")}, @@ -79,10 +79,10 @@ glob_pars *parse_args(int argc, char **argv){ void *ptr; ptr = memcpy(&G, &Gdefault, sizeof(G)); assert(ptr); // format of help: "Usage: progname [args]\n" - change_helpstring("Usage: %s [args]\n\n\tWhere args are:\n"); + sl_helpstring("Usage: %s [args]\n\n\tWhere args are:\n"); // parse arguments - parseargs(&argc, &argv, cmdlnopts); - if(help) showhelp(-1, cmdlnopts); + sl_parseargs(&argc, &argv, cmdlnopts); + if(help) sl_showhelp(-1, cmdlnopts); if(argc > 0){ G.rest_pars_num = argc; G.rest_pars = calloc(argc, sizeof(char*)); diff --git a/Daemons/netdaemon/main.c b/Daemons/netdaemon/main.c index 018375a..c6295f7 100644 --- a/Daemons/netdaemon/main.c +++ b/Daemons/netdaemon/main.c @@ -30,14 +30,14 @@ glob_pars *GP; void signals(int signo){ - restore_console(); - if(ttydescr) close_tty(&ttydescr); + sl_restore_con(); + if(ttydescr) sl_tty_close(&ttydescr); LOGERR("exit with status %d", signo); exit(signo); } int main(int argc, char **argv){ - initial_setup(); + sl_init(); signal(SIGTERM, signals); // kill (-15) - quit signal(SIGHUP, SIG_IGN); // hup - ignore signal(SIGINT, signals); // ctrl+C - quit @@ -52,7 +52,7 @@ int main(int argc, char **argv){ signals(0); // never reached! } if(GP->logfile){ - sl_loglevel lvl = LOGLEVEL_ERR; + sl_loglevel_e lvl = LOGLEVEL_ERR; for(; GP->verb && lvl < LOGLEVEL_ANY; --GP->verb) ++lvl; DBG("Loglevel: %d", lvl); if(!OPENLOG(GP->logfile, lvl, 1)) ERRX("Can't open log file"); diff --git a/Daemons/netdaemon/term.c b/Daemons/netdaemon/term.c index 54ef9e1..20fccf3 100644 --- a/Daemons/netdaemon/term.c +++ b/Daemons/netdaemon/term.c @@ -28,7 +28,7 @@ #define BUFLEN 1024 -TTY_descr *ttydescr = NULL; +sl_tty_t *ttydescr = NULL; static char buf[BUFLEN]; @@ -50,14 +50,14 @@ static char *read_string(){ return ptr; } ptr = buf; - double d0 = dtime(); + double d0 = sl_dtime(); do{ - if((l = read_tty(ttydescr))){ + if((l = sl_tty_read(ttydescr))){ r += l; LL -= l; ptr += l; if(ptr[-1] == '\n') break; - d0 = dtime(); + d0 = sl_dtime(); } - }while(dtime() - d0 < WAIT_TMOUT && LL); + }while(sl_dtime() - d0 < WAIT_TMOUT && LL); if(r){ buf[r] = 0; //DBG("r=%zd, got string: %s", r, buf); @@ -75,10 +75,10 @@ static char *read_string(){ int try_connect(char *device, int baudrate){ if(!device) return 0; fflush(stdout); - ttydescr = new_tty(device, baudrate, 1024); - if(ttydescr) ttydescr = tty_open(ttydescr, 1); // exclusive open + ttydescr = sl_tty_new(device, baudrate, 1024); + if(ttydescr) ttydescr = sl_tty_open(ttydescr, 1); // exclusive open if(!ttydescr) return 0; - while(read_tty(ttydescr)); // clear rbuf + while(sl_tty_read(ttydescr)); // clear rbuf LOGMSG("Connected to %s", device); return 1; } @@ -91,14 +91,14 @@ void run_terminal(){ green(_("Work in terminal mode without echo\n")); int rb; size_t l; - setup_con(); + sl_setup_con(); while(1){ - if((l = read_tty(ttydescr))){ + if((l = sl_tty_read(ttydescr))){ printf("%s", ttydescr->buf); } - if((rb = read_console())){ + if((rb = sl_read_con())){ char c = (char) rb; - write_tty(ttydescr->comfd, &c, 1); + sl_tty_write(ttydescr->comfd, &c, 1); } } } @@ -109,8 +109,8 @@ void run_terminal(){ */ char *poll_device(){ char *ans; - double t0 = dtime(); - while(dtime() - t0 < T_POLLING_TMOUT){ + double t0 = sl_dtime(); + while(sl_dtime() - t0 < T_POLLING_TMOUT){ if((ans = read_string())){ // parse new data DBG("got %s", ans); /* diff --git a/Daemons/netdaemon/term.h b/Daemons/netdaemon/term.h index 85ee351..2a724a1 100644 --- a/Daemons/netdaemon/term.h +++ b/Daemons/netdaemon/term.h @@ -31,7 +31,7 @@ // Terminal polling timeout - 1 second #define T_POLLING_TMOUT (1.0) -extern TTY_descr *ttydescr; +extern sl_tty_t *ttydescr; void run_terminal(); int try_connect(char *device, int baudrate); char *poll_device(); diff --git a/Daemons/send_coordinates/cmdlnopts.c b/Daemons/send_coordinates/cmdlnopts.c index 8fa902a..9c3275b 100644 --- a/Daemons/send_coordinates/cmdlnopts.c +++ b/Daemons/send_coordinates/cmdlnopts.c @@ -46,7 +46,7 @@ static glob_pars const Gdefault = { * Define command line options by filling structure: * name has_arg flag val type argptr help */ -static myoption cmdlnopts[] = { +static sl_option_t cmdlnopts[] = { // common options {"help", NO_ARGS, NULL, 'h', arg_int, APTR(&help), _("show this help")}, {"port", NEED_ARG, NULL, 'P', arg_string, APTR(&G.port), _("port to connect (default: " DEFAULT_PORT ")")}, @@ -73,13 +73,13 @@ glob_pars *parse_args(int argc, char **argv){ char helpstring[1024], *hptr = helpstring; snprintf(hptr, hlen, "Usage: %%s [args]\n\n\tWhere args are:\n"); // format of help: "Usage: progname [args]\n" - change_helpstring(helpstring); + sl_helpstring(helpstring); // parse arguments - parseargs(&argc, &argv, cmdlnopts); - if(help) showhelp(-1, cmdlnopts); + sl_parseargs(&argc, &argv, cmdlnopts); + if(help) sl_showhelp(-1, cmdlnopts); if(argc > 0){ fprintf(stderr, "Undefined extra parameters!\n"); - showhelp(-1, cmdlnopts); + sl_showhelp(-1, cmdlnopts); G.rest_pars_num = argc; G.rest_pars = MALLOC(char *, argc); for (i = 0; i < argc; i++) diff --git a/Daemons/send_coordinates/main.c b/Daemons/send_coordinates/main.c index e3487d4..bdc8faf 100644 --- a/Daemons/send_coordinates/main.c +++ b/Daemons/send_coordinates/main.c @@ -36,7 +36,7 @@ void signals(int sig){ signal(sig, SIG_IGN); DBG("Get signal %d, quit.\n", sig); } - restore_console(); + sl_restore_con(); exit(sig); } @@ -45,7 +45,7 @@ void iffound_default(pid_t pid){ } int main(int argc, char *argv[]){ - initial_setup(); + sl_init(); char *self = strdup(argv[0]); GP = parse_args(argc, argv); DBG("here"); @@ -66,7 +66,7 @@ int main(int argc, char *argv[]){ signal(SIGQUIT, signals); // ctrl+\ - quit signal(SIGTSTP, SIG_IGN); // ignore ctrl+Z DBG("here"); - setup_con(); + sl_setup_con(); /* if(GP->rest_pars_num){ for(int i = 0; i < GP->rest_pars_num; ++i) diff --git a/Daemons/weather_database/main.c b/Daemons/weather_database/main.c index 3edccba..b441061 100644 --- a/Daemons/weather_database/main.c +++ b/Daemons/weather_database/main.c @@ -56,7 +56,7 @@ void signals(int signo){ exit(signo); } -static myoption cmdlnopts[] = { +static sl_option_t cmdlnopts[] = { {"help", NO_ARGS, NULL, 'h', arg_int, APTR(&G.help), "show this help"}, {"address", NEED_ARG, NULL, 'a', arg_string, APTR(&G.server), "server name or IP"}, {"port", NEED_ARG, NULL, 'p', arg_string, APTR(&G.port), "server port"}, @@ -68,19 +68,19 @@ static myoption cmdlnopts[] = { int main(int argc, char **argv){ char *self = strdup(argv[0]); - initial_setup(); - parseargs(&argc, &argv, cmdlnopts); - if(G.help) showhelp(-1, cmdlnopts); + sl_init(); + sl_parseargs(&argc, &argv, cmdlnopts); + if(G.help) sl_showhelp(-1, cmdlnopts); if(argc > 0) WARNX("Got %d unused keys", argc); if(!G.dbname) ERRX("Point database file name"); if(!G.server) ERRX("Point server IP or name"); if(!G.port) ERRX("Point server port"); - sl_loglevel lvl = LOGLEVEL_ERR + G.v; + sl_loglevel_e lvl = LOGLEVEL_ERR + G.v; if(lvl > LOGLEVEL_ANY) lvl = LOGLEVEL_ANY; if(G.logfile) OPENLOG(G.logfile, lvl, 1); LOGMSG("hello, start"); LOGDBG("SQLite version: %s", sqlite3_libversion()); - check4running(self, G.pidfile); + sl_check4running(self, G.pidfile); // signal reactions: signal(SIGTERM, signals); // kill (-15) - quit signal(SIGHUP, SIG_IGN); // hup - ignore @@ -93,11 +93,11 @@ int main(int argc, char **argv){ while(1){ childpid = fork(); if(childpid){ // master - double t0 = dtime(); + double t0 = sl_dtime(); LOGMSG("Created child with pid %d", childpid); wait(NULL); LOGWARN("Child %d died", childpid); - if(dtime() - t0 < 1.) pause += 5; + if(sl_dtime() - t0 < 1.) pause += 5; else pause = 1; if(pause > 900) pause = 900; sleep(pause); // wait a little before respawn diff --git a/Daemons/weather_database/socket.c b/Daemons/weather_database/socket.c index 53cddc3..ffb3288 100644 --- a/Daemons/weather_database/socket.c +++ b/Daemons/weather_database/socket.c @@ -78,7 +78,7 @@ static void sendmessage(int fd, const char *msg, int l){ LOGWARN("write()"); WARN("write()"); }else{ - if(globlog){ // logging turned ON + if(sl_globlog){ // logging turned ON tmpbuf[l-1] = 0; // remove trailing '\n' for logging LOGMSG("SEND to fd %d: %s", fd, tmpbuf); } @@ -125,10 +125,10 @@ static int canberead(int fd){ // collect data and write into database // @return FALSE if can't get full data string static int getdata(int fd){ - double t0 = dtime(); + double t0 = sl_dtime(); char buf[BUFSIZ]; int len = 0, leave = BUFSIZ, got = 0; - while(dtime() - t0 < ANS_TIMEOUT){ + while(sl_dtime() - t0 < ANS_TIMEOUT){ int r = canberead(fd); if(r == 0) continue; r = read(fd, buf + len, leave); @@ -169,7 +169,7 @@ static int getdata(int fd){ void run_socket(int fd){ double t0 = 0.; while(1){ - double tlast = dtime(); + double tlast = sl_dtime(); if(tlast - t0 >= POLLING_INTERVAL){ sendstrmessage(fd, SERVER_COMMAND); if(getdata(fd)) t0 = tlast;