summaryrefslogtreecommitdiffstats
path: root/rose
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>2015-05-02 00:19:09 +0200
committerRalf Baechle <ralf@linux-mips.org>2015-05-02 00:19:09 +0200
commit56e847dae8f585254c6b336ea557bd75a0574711 (patch)
tree7e775ea62e06caa505e7ad017e17bbc0800d8ab3 /rose
parent62ceba5818d888041adbd466e8c67a8104bcf4fa (diff)
parent67d85b3d5cf145a5bf0a1431d6052473b017daa9 (diff)
Merge branch 'master' of git://git.linux-ax25.org/pub/scm/ralf/ax25-tools
Conflicts: ax25/axspawn.c
Diffstat (limited to 'rose')
-rw-r--r--rose/Makefile.am10
-rw-r--r--rose/rose.42
-rw-r--r--rose/rsattach.c64
-rw-r--r--rose/rsdwnlnk.82
-rw-r--r--rose/rsdwnlnk.c34
-rw-r--r--rose/rsmemsiz.c60
-rw-r--r--rose/rsparms.c10
-rw-r--r--rose/rsuplnk.c48
-rw-r--r--[-rwxr-xr-x]rose/rsusers.sh1
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
-