diff options
Diffstat (limited to 'rose')
-rw-r--r-- | rose/Makefile.am | 10 | ||||
-rw-r--r-- | rose/rose.4 | 2 | ||||
-rw-r--r-- | rose/rsattach.c | 64 | ||||
-rw-r--r-- | rose/rsdwnlnk.8 | 2 | ||||
-rw-r--r-- | rose/rsdwnlnk.c | 34 | ||||
-rw-r--r-- | rose/rsmemsiz.c | 60 | ||||
-rw-r--r-- | rose/rsparms.c | 10 | ||||
-rw-r--r-- | rose/rsuplnk.c | 48 | ||||
-rw-r--r--[-rwxr-xr-x] | rose/rsusers.sh | 1 |
9 files changed, 115 insertions, 116 deletions
diff --git a/rose/Makefile.am b/rose/Makefile.am index 5596113..2a2e95b 100644 --- a/rose/Makefile.am +++ b/rose/Makefile.am @@ -1,19 +1,19 @@ -sbin_PROGRAMS = rsattach rsdwnlnk rsmemsiz rsparms rsuplnk +sbin_PROGRAMS = rsattach rsdwnlnk rsmemsiz rsparms rsuplnk LDADD = $(AX25_LIB) -rsmemsiz_LDADD = +rsmemsiz_LDADD = sbin_SCRIPTS = rsusers.sh -man_MANS = rose.4 rsattach.8 rsparms.8 rsdwnlnk.8 rsuplnk.8 +dist_man_MANS = rose.4 rsattach.8 rsparms.8 rsdwnlnk.8 rsuplnk.8 -EXTRA_DIST = $(man_MANS) $(sbin_SCRIPTS) +EXTRA_DIST = $(sbin_SCRIPTS) INCLUDES = -DAX25_SYSCONFDIR=\""$(AX25_SYSCONFDIR)"\" \ - -DAX25_LOCALSTATEDIR=\""$(AX25_LOCALSTATEDIR)"\" + -DAX25_LOCALSTATEDIR=\""$(AX25_LOCALSTATEDIR)"\" AX25_SYSCONFDIR=${sysconfdir}/ax25/ AX25_LOCALSTATEDIR=${localstatedir}/ax25/ diff --git a/rose/rose.4 b/rose/rose.4 index a06f324..7904017 100644 --- a/rose/rose.4 +++ b/rose/rose.4 @@ -24,7 +24,7 @@ Rose has some unusual properties. Notably in a multi-user system an AX.25 address is often associated with a user, and some users may not have such an association. a set of ioctl calls are provided to manage an association table. -.LP +.LP Rose supports the following socket options for SOL_ROSE. ROSE_T1 is the T11/T21 timer in 1/10ths of a second, ROSE_T2 is the T12/T22 timer in 1/10ths of a second. ROSE_T3, is the T13/T23 timer in 1/10ths of a second. diff --git a/rose/rsattach.c b/rose/rsattach.c index 079d793..df042aa 100644 --- a/rose/rsattach.c +++ b/rose/rsattach.c @@ -36,7 +36,7 @@ int readconfig(char *port) FILE *fp; char buffer[90], *s; int n = 0; - + if ((fp = fopen(CONF_RSPORTS_FILE, "r")) == NULL) { fprintf(stderr, "rsattach: cannot open rsports file\n"); return FALSE; @@ -44,7 +44,7 @@ int readconfig(char *port) while (fgets(buffer, 90, fp) != NULL) { n++; - + if ((s = strchr(buffer, '\n')) != NULL) *s = '\0'; @@ -55,10 +55,10 @@ int readconfig(char *port) fprintf(stderr, "rsattach: unable to parse line %d of the rsports file\n", n); return FALSE; } - + if (strcmp(s, port) != 0) continue; - + if ((s = strtok(NULL, " \t\r\n")) == NULL) { fprintf(stderr, "rsattach: unable to parse line %d of the rsports file\n", n); return FALSE; @@ -67,14 +67,14 @@ int readconfig(char *port) address = strdup(s); fclose(fp); - + return TRUE; } - + fclose(fp); fprintf(stderr, "rsattach: cannot find port %s in rsports\n", port); - + return FALSE; } @@ -83,7 +83,7 @@ int getfreedev(char *dev) struct ifreq ifr; int fd; int i; - + if ((fd = socket(AF_INET, SOCK_DGRAM, 0)) < 0) { perror("rsattach: socket"); return FALSE; @@ -92,7 +92,7 @@ int getfreedev(char *dev) for (i = 0; i < INT_MAX; i++) { sprintf(dev, "rose%d", i); strcpy(ifr.ifr_name, dev); - + if (ioctl(fd, SIOCGIFFLAGS, &ifr) < 0) { perror("rsattach: SIOCGIFFLAGS"); return FALSE; @@ -114,17 +114,17 @@ int startiface(char *dev, struct hostent *hp) struct ifreq ifr; char addr[5]; int fd; - + if ((fd = socket(AF_INET, SOCK_DGRAM, 0)) < 0) { perror("rsattach: socket"); return FALSE; } strcpy(ifr.ifr_name, dev); - + if (hp != NULL) { ifr.ifr_addr.sa_family = AF_INET; - + ifr.ifr_addr.sa_data[0] = 0; ifr.ifr_addr.sa_data[1] = 0; ifr.ifr_addr.sa_data[2] = hp->h_addr_list[0][0]; @@ -144,7 +144,7 @@ int startiface(char *dev, struct hostent *hp) ifr.ifr_hwaddr.sa_family = ARPHRD_ROSE; memcpy(ifr.ifr_hwaddr.sa_data, addr, 5); - + if (ioctl(fd, SIOCSIFHWADDR, &ifr) != 0) { perror("rsattach: SIOCSIFHWADDR"); return FALSE; @@ -170,12 +170,12 @@ int startiface(char *dev, struct hostent *hp) perror("rsattach: SIOCSIFFLAGS"); return FALSE; } - + close(fd); - + return TRUE; } - + int main(int argc, char *argv[]) { @@ -185,22 +185,22 @@ int main(int argc, char *argv[]) while ((fd = getopt(argc, argv, "i:m:v")) != -1) { switch (fd) { - case 'i': - if ((hp = gethostbyname(optarg)) == NULL) { - fprintf(stderr, "rsattach: invalid internet name/address - %s\n", optarg); - return 1; - } - break; - case 'v': - printf("rsattach: %s\n", VERSION); - return 0; - case ':': - case '?': - fprintf(stderr, "usage: rsattach [-i inetaddr] [-v] port\n"); + case 'i': + if ((hp = gethostbyname(optarg)) == NULL) { + fprintf(stderr, "rsattach: invalid internet name/address - %s\n", optarg); return 1; + } + break; + case 'v': + printf("rsattach: %s\n", VERSION); + return 0; + case ':': + case '?': + fprintf(stderr, "usage: rsattach [-i inetaddr] [-v] port\n"); + return 1; } } - + if ((argc - optind) != 1) { fprintf(stderr, "usage: rsattach [-i inetaddr] [-v] port\n"); return 1; @@ -213,11 +213,11 @@ int main(int argc, char *argv[]) fprintf(stderr, "rsattach: cannot find free Rose device\n"); return 1; } - + if (!startiface(dev, hp)) - return 1; + return 1; printf("Rose port %s bound to device %s\n", argv[optind], dev); - + return 0; } diff --git a/rose/rsdwnlnk.8 b/rose/rsdwnlnk.8 index f0d4c2d..db1a601 100644 --- a/rose/rsdwnlnk.8 +++ b/rose/rsdwnlnk.8 @@ -23,7 +23,7 @@ you need an entry in to listen for incoming ROSE connections to any callsigns that are not matched by the more specific ROSE entries. In the example below, I will be listening for ROSE connections on my ROSE port rs144, the exiting AX.25 -connection will be via the associated AX.25 port, 144, using the callsign +connection will be via the associated AX.25 port, 144, using the callsign KE4GAJ-10. Please note that the callsign should be on the same line as the rest of the command, it may be wrapped onto the next line on your screen. .LP diff --git a/rose/rsdwnlnk.c b/rose/rsdwnlnk.c index 9ff6f31..dd1cb96 100644 --- a/rose/rsdwnlnk.c +++ b/rose/rsdwnlnk.c @@ -114,7 +114,7 @@ int main(int argc, char **argv) return 1; } axconnect.fsa_digipeater[n].ax25_call[6] |= AX25_HBIT; - n++; + n++; } /* @@ -127,7 +127,7 @@ int main(int argc, char **argv) return 1; } axconnect.fsa_digipeater[n].ax25_call[6] |= AX25_HBIT; - n++; + n++; /* * And my local ROSE callsign. @@ -198,26 +198,26 @@ int main(int argc, char **argv) */ if (connect(s, (struct sockaddr *)&axconnect, addrlen) != 0) { switch (errno) { - case ECONNREFUSED: - strcpy(buffer, "*** Connection refused\r"); - break; - case ENETUNREACH: - strcpy(buffer, "*** No known route\r"); - break; - case EINTR: - strcpy(buffer, "*** Connection timed out\r"); - break; - default: - sprintf(buffer, "ERROR: cannot connect to AX.25 callsign, %s\r", strerror(errno)); - break; + case ECONNREFUSED: + strcpy(buffer, "*** Connection refused\r"); + break; + case ENETUNREACH: + strcpy(buffer, "*** No known route\r"); + break; + case EINTR: + strcpy(buffer, "*** Connection timed out\r"); + break; + default: + sprintf(buffer, "ERROR: cannot connect to AX.25 callsign, %s\r", strerror(errno)); + break; } close(s); write(STDOUT_FILENO, buffer, strlen(buffer)); - + sleep(20); - + return 0; } @@ -236,7 +236,7 @@ int main(int argc, char **argv) FD_ZERO(&read_fd); FD_SET(STDIN_FILENO, &read_fd); FD_SET(s, &read_fd); - + select(s + 1, &read_fd, NULL, NULL, NULL); if (FD_ISSET(s, &read_fd)) { diff --git a/rose/rsmemsiz.c b/rose/rsmemsiz.c index c71737c..506395f 100644 --- a/rose/rsmemsiz.c +++ b/rose/rsmemsiz.c @@ -54,7 +54,7 @@ static char buf[300]; int uptime(double *uptime_secs, double *idle_secs) { double up=0, idle=0; - + FILE_TO_BUF(UPTIME_FILE) if (sscanf(buf, "%lf %lf", &up, &idle) < 2) { fprintf(stdout, "ERROR: Bad data in %s\r", UPTIME_FILE); @@ -67,7 +67,7 @@ int uptime(double *uptime_secs, double *idle_secs) { int loadavg(double *av1, double *av5, double *av15) { double avg_1=0, avg_5=0, avg_15=0; - + FILE_TO_BUF(LOADAVG_FILE) if (sscanf(buf, "%lf %lf %lf", &avg_1, &avg_5, &avg_15) < 3) { fprintf(stdout, "ERROR: Bad data in %s\r", LOADAVG_FILE); @@ -83,7 +83,7 @@ int loadavg(double *av1, double *av5, double *av15) { [ <label> ... ] # header lines [ <label> ] <num> [ <num> ... ] # table rows [ repeats of above line ] - + Any lines with fewer <num>s than <label>s get trailing <num>s set to zero. The return value is a NULL terminated unsigned** which is the table of numbers without labels. Convenient enumeration constants for the major and @@ -96,35 +96,35 @@ int loadavg(double *av1, double *av5, double *av15) { #define MAX_COL 7 unsigned** meminfo(void) { - static unsigned *row[MAX_ROW + 1]; /* row pointers */ - static unsigned num[MAX_ROW * MAX_COL]; /* number storage */ - char *p; - int i, j, k, l; - - FILE_TO_BUF(MEMINFO_FILE) - if (!row[0]) /* init ptrs 1st time through */ + static unsigned *row[MAX_ROW + 1]; /* row pointers */ + static unsigned num[MAX_ROW * MAX_COL]; /* number storage */ + char *p; + int i, j, k, l; + + FILE_TO_BUF(MEMINFO_FILE) + if (!row[0]) /* init ptrs 1st time through */ for (i=0; i < MAX_ROW; i++) /* std column major order: */ - row[i] = num + MAX_COL*i; /* A[i][j] = A + COLS*i + j */ - p = buf; - for (i=0; i < MAX_ROW; i++) /* zero unassigned fields */ - for (j=0; j < MAX_COL; j++) - row[i][j] = 0; - for (i=0; i < MAX_ROW && *p; i++) { /* loop over rows */ - while(*p && !isdigit(*p)) p++; /* skip chars until a digit */ - for (j=0; j < MAX_COL && *p; j++) { /* scanf column-by-column */ - l = sscanf(p, "%u%n", row[i] + j, &k); - p += k; /* step over used buffer */ - if (*p == '\n' || l < 1) /* end of line/buffer */ - break; - } - } + row[i] = num + MAX_COL*i; /* A[i][j] = A + COLS*i + j */ + p = buf; + for (i=0; i < MAX_ROW; i++) /* zero unassigned fields */ + for (j=0; j < MAX_COL; j++) + row[i][j] = 0; + for (i=0; i < MAX_ROW && *p; i++) { /* loop over rows */ + while (*p && !isdigit(*p)) p++; /* skip chars until a digit */ + for (j=0; j < MAX_COL && *p; j++) { /* scanf column-by-column */ + l = sscanf(p, "%u%n", row[i] + j, &k); + p += k; /* step over used buffer */ + if (*p == '\n' || l < 1) /* end of line/buffer */ + break; + } + } /* row[i+1] = NULL; terminate the row list, currently unnecessary */ - return row; /* NULL return ==> error */ + return row; /* NULL return ==> error */ } /* - * by Heikki Hannikainen <oh7lzb@sral.fi> + * by Heikki Hannikainen <oh7lzb@sral.fi> * The following was mostly learnt from the procps package and the * gnu sh-utils (mainly uname). */ @@ -163,7 +163,7 @@ int main(int argc, char **argv) upminutes = upminutes % 60; fprintf(stdout, "Uptime: "); - if (updays) + if (updays) fprintf(stdout, "%d day%s, ", updays, (updays != 1) ? "s" : ""); if (uphours) @@ -171,7 +171,7 @@ int main(int argc, char **argv) fprintf(stdout, "%d minute%s\r", upminutes, (upminutes != 1) ? "s" : ""); loadavg(&av[0], &av[1], &av[2]); - fprintf(stdout, "Load average: %.2f, %.2f, %.2f\r", av[0], av[1], av[2]); + fprintf(stdout, "Load average: %.2f, %.2f, %.2f\r", av[0], av[1], av[2]); if (!(mem = meminfo()) || mem[meminfo_main][meminfo_total] == 0) { /* cannot normalize mem usage */ @@ -180,10 +180,10 @@ int main(int argc, char **argv) fprintf(stdout, "Memory: %5d KB available, %5d KB used, %5d KB free\r", mem[meminfo_main][meminfo_total] >> 10, (mem[meminfo_main][meminfo_used] - - mem[meminfo_main][meminfo_buffers] - + mem[meminfo_main][meminfo_buffers] - mem[meminfo_total][meminfo_cached]) >> 10, (mem[meminfo_main][meminfo_free] + - mem[meminfo_main][meminfo_buffers] + + mem[meminfo_main][meminfo_buffers] + mem[meminfo_total][meminfo_cached]) >> 10); fprintf(stdout, "Swap: %5d KB available, %5d KB used, %5d KB free\r", diff --git a/rose/rsparms.c b/rose/rsparms.c index 4de807e..e9266aa 100644 --- a/rose/rsparms.c +++ b/rose/rsparms.c @@ -89,7 +89,7 @@ void nodes(int s, int argc, char *argv[]) exit(1); } - while(fgets(buff,80,fn)) { + while (fgets(buff,80,fn)) { args=sscanf(buff,"%10s %4s %*s %9s %9s %9s",address, rmask, neigh1, neigh2, neigh3); if (strcmp(address,"address")==0) continue; @@ -197,7 +197,7 @@ int main(int argc, char *argv[]) { ax25_address rose_call; int s = 0; - + if (argc == 1) { fprintf(stderr, "usage: rsparms -call|-nodes|-version ...\n"); return 1; @@ -227,7 +227,7 @@ int main(int argc, char *argv[]) perror("rsparms: socket"); return 1; } - + if (ioctl(s, SIOCRSL2CALL, &rose_call) == -1) { perror("rsparms: ioctl"); close(s); @@ -251,8 +251,8 @@ int main(int argc, char *argv[]) } fprintf(stderr, "usage: rsparms -call|-nodes|-version ...\n"); - + close(s); - + return 1; } diff --git a/rose/rsuplnk.c b/rose/rsuplnk.c index eadb0ed..fdc88ee 100644 --- a/rose/rsuplnk.c +++ b/rose/rsuplnk.c @@ -102,21 +102,21 @@ int main(int argc, char **argv) for (n = 0; n < ax25peer.fsa_ax25.sax25_ndigis; n++) { addr = ax25_ntoa(&ax25peer.fsa_digipeater[n]); - + if (strspn(addr, "0123456789-") == strlen(addr)) { if ((p = strchr(addr, '-')) != NULL) *p = '\0'; switch (strlen(addr)) { - case 4: - memcpy(rose_address + 0, addr, 4); - dnicindex = n; - break; - case 6: - memcpy(rose_address + 4, addr, 6); - addrindex = n; - break; - default: - break; + case 4: + memcpy(rose_address + 0, addr, 4); + dnicindex = n; + break; + case 6: + memcpy(rose_address + 4, addr, 6); + addrindex = n; + break; + default: + break; } } } @@ -208,18 +208,18 @@ int main(int argc, char **argv) */ if (connect(s, (struct sockaddr *)&roseconnect, addrlen) != 0) { switch (errno) { - case ECONNREFUSED: - strcpy(buffer, "*** Disconnected - 0100 - Number Busy\r"); - break; - case ENETUNREACH: - strcpy(buffer, "*** Disconnected - 0D00 - Not Obtainable\r"); - break; - case EINTR: - strcpy(buffer, "*** Disconnected - 3900 - Ship Absent\r"); - break; - default: - sprintf(buffer, "*** Disconnected - %d - %s\r", errno, strerror(errno)); - break; + case ECONNREFUSED: + strcpy(buffer, "*** Disconnected - 0100 - Number Busy\r"); + break; + case ENETUNREACH: + strcpy(buffer, "*** Disconnected - 0D00 - Not Obtainable\r"); + break; + case EINTR: + strcpy(buffer, "*** Disconnected - 3900 - Ship Absent\r"); + break; + default: + sprintf(buffer, "*** Disconnected - %d - %s\r", errno, strerror(errno)); + break; } close(s); @@ -249,7 +249,7 @@ int main(int argc, char **argv) FD_ZERO(&read_fd); FD_SET(STDIN_FILENO, &read_fd); FD_SET(s, &read_fd); - + select(s + 1, &read_fd, NULL, NULL, NULL); if (FD_ISSET(s, &read_fd)) { diff --git a/rose/rsusers.sh b/rose/rsusers.sh index 6dff1ce..58b563c 100755..100644 --- a/rose/rsusers.sh +++ b/rose/rsusers.sh @@ -125,4 +125,3 @@ fi read x exit 0 - |