summaryrefslogtreecommitdiffstats
path: root/netrom
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 /netrom
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 'netrom')
-rw-r--r--netrom/Makefile.am11
-rw-r--r--netrom/netrom.42
-rw-r--r--netrom/netromd.c106
-rw-r--r--netrom/netromr.c8
-rw-r--r--netrom/netromt.c30
-rw-r--r--netrom/nodesave.c22
-rw-r--r--netrom/nrattach.c78
-rw-r--r--netrom/nrparms.c16
-rw-r--r--netrom/nrsdrv.c278
9 files changed, 275 insertions, 276 deletions
diff --git a/netrom/Makefile.am b/netrom/Makefile.am
index 0678996..97e1741 100644
--- a/netrom/Makefile.am
+++ b/netrom/Makefile.am
@@ -1,5 +1,5 @@
-etcfiles = nrbroadcast
+etcfiles = nrbroadcast
installconf:
$(mkinstalldirs) $(DESTDIR)$(AX25_SYSCONFDIR)
@@ -13,21 +13,20 @@ sbin_PROGRAMS = netromd nodesave nrattach nrparms nrsdrv
LDADD = $(AX25_LIB)
-man_MANS = netrom.4 nrbroadcast.5 netromd.8 nodesave.8 \
+dist_man_MANS = netrom.4 nrbroadcast.5 netromd.8 nodesave.8 \
nrattach.8 nrparms.8 nrsdrv.8
-EXTRA_DIST = $(man_MANS) $(etcfiles)
+EXTRA_DIST = $(etcfiles)
netromd_SOURCES = \
netromd.c \
netromd.h \
netromr.c \
- netromt.c
+ netromt.c
INCLUDES = -DAX25_SYSCONFDIR=\""$(AX25_SYSCONFDIR)"\" \
- -DAX25_LOCALSTATEDIR=\""$(AX25_LOCALSTATEDIR)"\"
+ -DAX25_LOCALSTATEDIR=\""$(AX25_LOCALSTATEDIR)"\"
AX25_SYSCONFDIR=${sysconfdir}/ax25/
AX25_LOCALSTATEDIR=${localstatedir}/ax25/
-
diff --git a/netrom/netrom.4 b/netrom/netrom.4
index cceae77..a472972 100644
--- a/netrom/netrom.4
+++ b/netrom/netrom.4
@@ -27,7 +27,7 @@ NET/ROM 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
NET/ROM supports the following socket options for SOL_NETROM. NETROM_T1 is
the T1 timer in 1/10ths of a second, NETROM_T2 is the T2 timer in 1/10ths of
a second. NETROM_N2, the retry counter is also configurable. There is no 'infinite
diff --git a/netrom/netromd.c b/netrom/netromd.c
index e7a0362..fbad930 100644
--- a/netrom/netromd.c
+++ b/netrom/netromd.c
@@ -17,7 +17,7 @@
#include <net/if.h>
-#ifdef __GLIBC__
+#ifdef __GLIBC__
#include <net/ethernet.h>
#else
#include <linux/if_ether.h>
@@ -40,7 +40,7 @@ struct port_struct port_list[20];
int port_count = FALSE;
int compliant = FALSE;
int logging = FALSE;
-int debug = 0;
+int debug;
ax25_address my_call;
ax25_address node_call;
@@ -51,7 +51,7 @@ static void terminate(int sig)
syslog(LOG_INFO, "terminating on SIGTERM\n");
closelog();
}
-
+
exit(0);
}
@@ -59,12 +59,12 @@ static int bcast_config_load_ports(void)
{
char buffer[255], port[32], *s;
FILE *fp;
-
+
if ((fp = fopen(CONF_NETROMD_FILE, "r")) == NULL) {
fprintf(stderr, "netromd: cannot open config file\n");
return -1;
}
-
+
while (fgets(buffer, 255, fp) != NULL) {
if ((s = strchr(buffer, '\n')) != NULL)
*s = '\0';
@@ -109,16 +109,16 @@ static int bcast_config_load_ports(void)
fprintf(stderr, "netromd: invalid verbose setting\n");
return -1;
}
-
+
port_count++;
}
-
+
fclose(fp);
if (port_count == 0)
return -1;
-
- return 0;
+
+ return 0;
}
int main(int argc, char **argv)
@@ -138,46 +138,46 @@ int main(int argc, char **argv)
while ((i = getopt(argc, argv, "cdilp:q:t:v")) != -1) {
switch (i) {
- case 'c':
- compliant = TRUE;
- break;
- case 'd':
- debug++;
- break;
- case 'i':
- timelast = 0;
- break;
- case 'l':
- logging = TRUE;
- break;
- case 'p':
- pause = atoi(optarg);
- if (pause < 1 || pause > 120) {
- fprintf(stderr, "netromd: invalid pause value\n");
- return 1;
- }
- break;
- case 'q':
- localval = atoi(optarg);
- if (localval < 10 || localval > 255) {
- fprintf(stderr, "netromd: invalid local quality\n");
- return 1;
- }
- break;
- case 't':
- interval = atoi(optarg) * 60;
- if (interval < 60 || interval > 7200) {
- fprintf(stderr, "netromd: invalid time interval\n");
- return 1;
- }
- break;
- case 'v':
- printf("netromd: %s\n", VERSION);
- return 0;
- case '?':
- case ':':
- fprintf(stderr, "usage: netromd [-d] [-i] [-l] [-q quality] [-t interval] [-v]\n");
+ case 'c':
+ compliant = TRUE;
+ break;
+ case 'd':
+ debug++;
+ break;
+ case 'i':
+ timelast = 0;
+ break;
+ case 'l':
+ logging = TRUE;
+ break;
+ case 'p':
+ pause = atoi(optarg);
+ if (pause < 1 || pause > 120) {
+ fprintf(stderr, "netromd: invalid pause value\n");
return 1;
+ }
+ break;
+ case 'q':
+ localval = atoi(optarg);
+ if (localval < 10 || localval > 255) {
+ fprintf(stderr, "netromd: invalid local quality\n");
+ return 1;
+ }
+ break;
+ case 't':
+ interval = atoi(optarg) * 60;
+ if (interval < 60 || interval > 7200) {
+ fprintf(stderr, "netromd: invalid time interval\n");
+ return 1;
+ }
+ break;
+ case 'v':
+ printf("netromd: %s\n", VERSION);
+ return 0;
+ case '?':
+ case ':':
+ fprintf(stderr, "usage: netromd [-d] [-i] [-l] [-q quality] [-t interval] [-v]\n");
+ return 1;
}
}
@@ -187,7 +187,7 @@ int main(int argc, char **argv)
fprintf(stderr, "netromd: no AX.25 ports defined\n");
return 1;
}
-
+
if (nr_config_load_ports() == 0) {
fprintf(stderr, "netromd: no NET/ROM ports defined\n");
return 1;
@@ -200,7 +200,7 @@ int main(int argc, char **argv)
ax25_aton_entry(nr_config_get_addr(NULL), (char *)&my_call);
ax25_aton_entry("NODES", (char *)&node_call);
-
+
if ((s = socket(PF_PACKET, SOCK_PACKET, htons(ETH_P_AX25))) == -1) {
perror("netromd: socket");
return 1;
@@ -210,7 +210,7 @@ int main(int argc, char **argv)
fprintf(stderr, "netromd: cannot become a daemon\n");
return 1;
}
-
+
if (logging) {
openlog("netromd", LOG_PID, LOG_DAEMON);
syslog(LOG_INFO, "starting");
@@ -222,7 +222,7 @@ int main(int argc, char **argv)
timeout.tv_sec = 30;
timeout.tv_usec = 0;
-
+
if (select(s + 1, &fdset, NULL, NULL, &timeout) == -1)
continue; /* Signal received ? */
@@ -238,7 +238,7 @@ int main(int argc, char **argv)
}
if (ax25_cmp((ax25_address *)(buffer + 1), &node_call) == 0 &&
- ax25_cmp((ax25_address *)(buffer + 8), &my_call) != 0 &&
+ ax25_cmp((ax25_address *)(buffer + 8), &my_call) != 0 &&
buffer[16] == NETROM_PID && buffer[17] == NODES_SIG) {
for (i = 0; i < port_count; i++) {
if (strcmp(port_list[i].device, sa.sa_data) == 0) {
diff --git a/netrom/netromr.c b/netrom/netromr.c
index 9c1f17e..605aa2d 100644
--- a/netrom/netromr.c
+++ b/netrom/netromr.c
@@ -14,7 +14,7 @@
#include <netinet/in.h>
#include <net/if.h>
-#ifdef __GLIBC__
+#ifdef __GLIBC__
#include <net/ethernet.h>
#else
#include <linux/if_ether.h>
@@ -48,7 +48,7 @@ static int validcallsign(ax25_address *a)
}
return FALSE;
- }
+ }
return TRUE;
}
@@ -160,7 +160,7 @@ void receive_nodes(unsigned char *buffer, int length, ax25_address *neighbour, i
}
fgets(neigh_buffer, 90, fp);
-
+
obs_count = atoi(neigh_buffer);
fclose(fp);
@@ -179,7 +179,7 @@ void receive_nodes(unsigned char *buffer, int length, ax25_address *neighbour, i
}
fgets(neigh_buffer, 90, fp);
-
+
portcall = ax25_ntoa(neighbour);
quality = port_list[index].default_qual;
diff --git a/netrom/netromt.c b/netrom/netromt.c
index b3f99b3..2a5bc3c 100644
--- a/netrom/netromt.c
+++ b/netrom/netromt.c
@@ -26,7 +26,7 @@
static int build_header(unsigned char *message)
{
message[0] = NODES_SIG;
-
+
strcpy(message + 1, nr_config_get_alias(NULL));
strncat(message + 1, " ", MNEMONIC_LEN - strlen(message + 1));
@@ -83,12 +83,12 @@ static void build_mine(int s, struct full_sockaddr_ax25 *dest, int dlen, int loc
}
fclose(fp);
-
+
if (sendto(s, message, len, 0, (struct sockaddr *)dest, dlen) == -1) {
if (logging)
syslog(LOG_ERR, "netromt: sendto: %m");
}
-
+
sleep(pause);
}
@@ -129,7 +129,7 @@ static void build_others(int s, int min_obs, struct full_sockaddr_ax25 *dest, in
obs_count = atoi(strtok(NULL, " "));
neigh_no = atoi(strtok(NULL, " "));
neighbour = NULL;
-
+
if (obs_count < min_obs || quality == 0) continue;
/* "Blank" mnemonic */
@@ -139,7 +139,7 @@ static void build_others(int s, int min_obs, struct full_sockaddr_ax25 *dest, in
fseek(fpneigh, 0L, SEEK_SET);
fgets(neigh_buffer, 90, fpneigh);
-
+
while (fgets(neigh_buffer, 90, fpneigh) != NULL) {
if (atoi(strtok(neigh_buffer, " ")) == neigh_no) {
neighbour = strtok(NULL, " ");
@@ -172,7 +172,7 @@ static void build_others(int s, int min_obs, struct full_sockaddr_ax25 *dest, in
}
len += CALLSIGN_LEN;
- message[len] = quality;
+ message[len] = quality;
len += QUALITY_LEN;
/* No room for another entry? */
@@ -186,7 +186,7 @@ static void build_others(int s, int min_obs, struct full_sockaddr_ax25 *dest, in
if (logging)
syslog(LOG_ERR, "netromt: sendto: %m");
}
-
+
sleep(pause);
}
@@ -206,14 +206,14 @@ void transmit_nodes(int localval, int pause)
int i;
switch (fork()) {
- case 0:
- break;
- case -1:
- if (logging)
- syslog(LOG_ERR, "netromt: fork: %m\n");
- return;
- default:
- return;
+ case 0:
+ break;
+ case -1:
+ if (logging)
+ syslog(LOG_ERR, "netromt: fork: %m\n");
+ return;
+ default:
+ return;
}
dlen = ax25_aton("NODES", &dest);
diff --git a/netrom/nodesave.c b/netrom/nodesave.c
index 1258c36..ce6c106 100644
--- a/netrom/nodesave.c
+++ b/netrom/nodesave.c
@@ -40,17 +40,17 @@ int main(int argc, char **argv)
while ((s = getopt(argc, argv, "p:v")) != -1) {
switch (s) {
- case 'p':
- sprintf(buf, "%s/nrparms", optarg);
- Nrparms = strdup(buf);
- break;
- case 'v':
- printf("nodesave: %s\n", VERSION);
- return 0;
- case ':':
- case '?':
- fputs(Usage, stderr);
- return 1;
+ case 'p':
+ sprintf(buf, "%s/nrparms", optarg);
+ Nrparms = strdup(buf);
+ break;
+ case 'v':
+ printf("nodesave: %s\n", VERSION);
+ return 0;
+ case ':':
+ case '?':
+ fputs(Usage, stderr);
+ return 1;
}
}
diff --git a/netrom/nrattach.c b/netrom/nrattach.c
index f1ca298..804e4b8 100644
--- a/netrom/nrattach.c
+++ b/netrom/nrattach.c
@@ -28,14 +28,14 @@
#include "../pathnames.h"
char *callsign;
-int mtu = 0;
+int mtu;
int readconfig(char *port)
{
FILE *fp;
char buffer[90], *s;
int n = 0;
-
+
if ((fp = fopen(CONF_NRPORTS_FILE, "r")) == NULL) {
fprintf(stderr, "nrattach: cannot open nrports file\n");
return FALSE;
@@ -43,7 +43,7 @@ int readconfig(char *port)
while (fgets(buffer, 90, fp) != NULL) {
n++;
-
+
if ((s = strchr(buffer, '\n')) != NULL)
*s = '\0';
@@ -54,10 +54,10 @@ int readconfig(char *port)
fprintf(stderr, "nrattach: unable to parse line %d of the nrports file\n", n);
return FALSE;
}
-
+
if (strcmp(s, port) != 0)
continue;
-
+
if ((s = strtok(NULL, " \t\r\n")) == NULL) {
fprintf(stderr, "nrattach: unable to parse line %d of the nrports file\n", n);
return FALSE;
@@ -83,14 +83,14 @@ int readconfig(char *port)
}
fclose(fp);
-
+
return TRUE;
}
-
+
fclose(fp);
fprintf(stderr, "nrattach: cannot find port %s in nrports\n", port);
-
+
return FALSE;
}
@@ -99,7 +99,7 @@ int getfreedev(char *dev)
struct ifreq ifr;
int fd;
int i;
-
+
if ((fd = socket(AF_INET, SOCK_DGRAM, 0)) < 0) {
perror("nrattach: socket");
return FALSE;
@@ -108,7 +108,7 @@ int getfreedev(char *dev)
for (i = 0; i < INT_MAX; i++) {
sprintf(dev, "nr%d", i);
strcpy(ifr.ifr_name, dev);
-
+
if (ioctl(fd, SIOCGIFFLAGS, &ifr) < 0) {
perror("nrattach: SIOCGIFFLAGS");
return FALSE;
@@ -130,17 +130,17 @@ int startiface(char *dev, struct hostent *hp)
struct ifreq ifr;
char call[7];
int fd;
-
+
if ((fd = socket(AF_INET, SOCK_DGRAM, 0)) < 0) {
perror("nrattach: 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];
@@ -160,7 +160,7 @@ int startiface(char *dev, struct hostent *hp)
ifr.ifr_hwaddr.sa_family = ARPHRD_NETROM;
memcpy(ifr.ifr_hwaddr.sa_data, call, 7);
-
+
if (ioctl(fd, SIOCSIFHWADDR, &ifr) != 0) {
perror("nrattach: SIOCSIFHWADDR");
return FALSE;
@@ -186,12 +186,12 @@ int startiface(char *dev, struct hostent *hp)
perror("nrattach: SIOCSIFFLAGS");
return FALSE;
}
-
+
close(fd);
-
+
return TRUE;
}
-
+
int main(int argc, char *argv[])
{
@@ -201,28 +201,28 @@ 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, "nrattach: invalid internet name/address - %s\n", optarg);
- return 1;
- }
- break;
- case 'm':
- if ((mtu = atoi(optarg)) <= 0) {
- fprintf(stderr, "nrattach: invalid mtu size - %s\n", optarg);
- return 1;
- }
- break;
- case 'v':
- printf("nrattach: %s\n", VERSION);
- return 0;
- case ':':
- case '?':
- fprintf(stderr, "usage: nrattach [-i inetaddr] [-m mtu] [-v] port\n");
+ case 'i':
+ if ((hp = gethostbyname(optarg)) == NULL) {
+ fprintf(stderr, "nrattach: invalid internet name/address - %s\n", optarg);
+ return 1;
+ }
+ break;
+ case 'm':
+ if ((mtu = atoi(optarg)) <= 0) {
+ fprintf(stderr, "nrattach: invalid mtu size - %s\n", optarg);
return 1;
+ }
+ break;
+ case 'v':
+ printf("nrattach: %s\n", VERSION);
+ return 0;
+ case ':':
+ case '?':
+ fprintf(stderr, "usage: nrattach [-i inetaddr] [-m mtu] [-v] port\n");
+ return 1;
}
}
-
+
if ((argc - optind) != 1) {
fprintf(stderr, "usage: nrattach [-i inetaddr] [-m mtu] [-v] port\n");
return 1;
@@ -235,11 +235,11 @@ int main(int argc, char *argv[])
fprintf(stderr, "nrattach: cannot find free NET/ROM device\n");
return 1;
}
-
+
if (!startiface(dev, hp))
- return 1;
+ return 1;
printf("NET/ROM port %s bound to device %s\n", argv[optind], dev);
-
+
return 0;
}
diff --git a/netrom/nrparms.c b/netrom/nrparms.c
index ff8b60e..b179416 100644
--- a/netrom/nrparms.c
+++ b/netrom/nrparms.c
@@ -64,12 +64,12 @@ void nodes(int s, char *nodecall, char *op, char *ident, int quality, int count,
close(s);
exit(1);
}
-
+
if (strcmp(ident, "*") != 0) {
for (p = ident, q = nr_node.mnemonic; *p != '\0'; p++, q++)
*q = toupper(*p);
*q = '\0';
-
+
if (strspn(nr_node.mnemonic, "&#-_/ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789") != strlen(nr_node.mnemonic)) {
fprintf(stderr, "nrparms: nodes: invalid ident %s\n", ident);
close(s);
@@ -101,7 +101,7 @@ void nodes(int s, char *nodecall, char *op, char *ident, int quality, int count,
}
strcpy(nr_node.device, dev);
-
+
nr_node.quality = quality;
nr_node.obs_count = count;
@@ -192,7 +192,7 @@ void routes(int s, char *port, char *nodecall, char *rest[])
int main(int argc, char *argv[])
{
int s;
-
+
if (argc == 1) {
fprintf(stderr, "usage: nrparms -nodes|-routes|-version ...\n");
return 1;
@@ -202,12 +202,12 @@ int main(int argc, char *argv[])
printf("nrparms: %s\n", VERSION);
return 0;
}
-
+
if ((s = socket(AF_NETROM, SOCK_SEQPACKET, 0)) < 0) {
perror("nrparms: socket");
return 1;
}
-
+
if (strncmp(argv[1], "-n", 2) == 0) {
if (argc < 9) {
fprintf(stderr, nodes_usage);
@@ -231,8 +231,8 @@ int main(int argc, char *argv[])
}
fprintf(stderr, "usage: nrparms -nodes|-routes|-version ...\n");
-
+
close(s);
-
+
return 1;
}
diff --git a/netrom/nrsdrv.c b/netrom/nrsdrv.c
index 92b3d6a..d5979d2 100644
--- a/netrom/nrsdrv.c
+++ b/netrom/nrsdrv.c
@@ -39,10 +39,10 @@ static char *kissdev, *nrsdev;
#define NRS_CKSUM 3
static int nrs_state = NRS_WAIT;
-static unsigned char nrs_cksum = 0;
+static unsigned char nrs_cksum;
static unsigned char nrs_rxbuffer[512];
-static int nrs_rxcount = 0;
+static int nrs_rxcount;
#define FEND 0300
#define FESC 0333
@@ -56,7 +56,7 @@ static int nrs_rxcount = 0;
static int kiss_state = KISS_WAIT;
static unsigned char kiss_rxbuffer[512];
-static int kiss_rxcount = 0;
+static int kiss_rxcount;
static void terminate(int sig)
{
@@ -81,16 +81,16 @@ static void key_rts(int fd)
/* Wait for CTS to be low */
while (1) {
/* Get CTS status */
- if (ioctl(fd, TIOCMGET, &status) < 0) {
+ if (ioctl(fd, TIOCMGET, &status) < 0) {
syslog(LOG_INFO|LOG_ERR, "TIOCMGET failed: flowcontrol disabled (%m)\n");
flowcontrol = 0;
- return;
- }
+ return;
+ }
if (status & TIOCM_CTS) {
if (debugging) {
fprintf(stderr,"CTS high: waiting\n");
}
- ioctl(fd, TIOCMIWAIT, &status);
+ ioctl(fd, TIOCMIWAIT, &status);
} else {
break;
}
@@ -100,10 +100,10 @@ static void key_rts(int fd)
fprintf(stderr,"CTS low: keying RTS\n");
}
status |= TIOCM_RTS | TIOCM_DTR;
- if (ioctl(fd, TIOCMSET, &status) < 0) {
+ if (ioctl(fd, TIOCMSET, &status) < 0) {
syslog(LOG_INFO|LOG_ERR, "TIOCMGET failed: flowcontrol disabled (%m)\n");
flowcontrol = 0;
- }
+ }
}
static void unkey_rts(int fd)
@@ -116,13 +116,13 @@ static void unkey_rts(int fd)
if (debugging) {
fprintf(stderr,"Transmission finished: unkeying RTS\n");
}
- ioctl(fd, TIOCMGET, &status);
+ ioctl(fd, TIOCMGET, &status);
status &= ~TIOCM_RTS;
- status |= TIOCM_DTR;
- if (ioctl(fd, TIOCMSET, &status) < 0) {
+ status |= TIOCM_DTR;
+ if (ioctl(fd, TIOCMSET, &status) < 0) {
syslog(LOG_INFO|LOG_ERR, "TIOCMGET failed: flowcontrol disabled (%m)\n");
flowcontrol = 0;
- }
+ }
}
static void nrs_esc(unsigned char *s, int len)
@@ -136,16 +136,16 @@ static void nrs_esc(unsigned char *s, int len)
while (len-- > 0) {
switch (c = *s++) {
- case STX:
- case ETX:
- case DLE:
- *ptr++ = DLE;
- /* Fall through */
- default:
- *ptr++ = c;
- break;
+ case STX:
+ case ETX:
+ case DLE:
+ *ptr++ = DLE;
+ /* Fall through */
+ default:
+ *ptr++ = c;
+ break;
}
-
+
csum += c;
}
@@ -170,17 +170,17 @@ static void kiss_esc(unsigned char *s, int len)
while (len-- > 0) {
switch (c = *s++) {
- case FESC:
- *ptr++ = FESC;
- *ptr++ = FESCESC;
- break;
- case FEND:
- *ptr++ = FESC;
- *ptr++ = FESCEND;
- break;
- default:
- *ptr++ = c;
- break;
+ case FESC:
+ *ptr++ = FESC;
+ *ptr++ = FESCESC;
+ break;
+ case FEND:
+ *ptr++ = FESC;
+ *ptr++ = FESCEND;
+ break;
+ default:
+ *ptr++ = c;
+ break;
}
}
@@ -192,53 +192,53 @@ static void kiss_esc(unsigned char *s, int len)
static void nrs_unesc(unsigned char *buffer, int len)
{
int i;
-
+
for (i = 0; i < len; i++) {
switch (nrs_state) {
- case NRS_WAIT:
- if (buffer[i] == STX) {
- nrs_state = NRS_DATA;
- nrs_rxcount = 0;
- nrs_cksum = 0;
- }
- break;
+ case NRS_WAIT:
+ if (buffer[i] == STX) {
+ nrs_state = NRS_DATA;
+ nrs_rxcount = 0;
+ nrs_cksum = 0;
+ }
+ break;
- case NRS_DATA:
- switch (buffer[i]) {
- case STX: /* !! */
- nrs_rxcount = 0;
- nrs_cksum = 0;
- break;
- case DLE:
- nrs_state = NRS_ESCAPE;
- break;
- case ETX:
- nrs_state = NRS_CKSUM;
- break;
- default:
- if (nrs_rxcount < 512) {
- nrs_cksum += buffer[i];
- nrs_rxbuffer[nrs_rxcount++] = buffer[i];
- }
- break;
- }
+ case NRS_DATA:
+ switch (buffer[i]) {
+ case STX: /* !! */
+ nrs_rxcount = 0;
+ nrs_cksum = 0;
break;
-
- case NRS_ESCAPE:
- nrs_state = NRS_DATA;
+ case DLE:
+ nrs_state = NRS_ESCAPE;
+ break;
+ case ETX:
+ nrs_state = NRS_CKSUM;
+ break;
+ default:
if (nrs_rxcount < 512) {
nrs_cksum += buffer[i];
nrs_rxbuffer[nrs_rxcount++] = buffer[i];
}
break;
+ }
+ break;
- case NRS_CKSUM:
- if (buffer[i] == nrs_cksum)
- kiss_esc(nrs_rxbuffer, nrs_rxcount);
- nrs_state = NRS_WAIT;
- nrs_cksum = 0;
- nrs_rxcount = 0;
- break;
+ case NRS_ESCAPE:
+ nrs_state = NRS_DATA;
+ if (nrs_rxcount < 512) {
+ nrs_cksum += buffer[i];
+ nrs_rxbuffer[nrs_rxcount++] = buffer[i];
+ }
+ break;
+
+ case NRS_CKSUM:
+ if (buffer[i] == nrs_cksum)
+ kiss_esc(nrs_rxbuffer, nrs_rxcount);
+ nrs_state = NRS_WAIT;
+ nrs_cksum = 0;
+ nrs_rxcount = 0;
+ break;
}
}
}
@@ -246,57 +246,57 @@ static void nrs_unesc(unsigned char *buffer, int len)
static void kiss_unesc(unsigned char *buffer, int len)
{
int i;
-
+
for (i = 0; i < len; i++) {
switch (kiss_state) {
- case KISS_WAIT:
- if (buffer[i] == FEND) {
- kiss_state = KISS_CTRL;
- kiss_rxcount = 0;
- }
- break;
+ case KISS_WAIT:
+ if (buffer[i] == FEND) {
+ kiss_state = KISS_CTRL;
+ kiss_rxcount = 0;
+ }
+ break;
- case KISS_CTRL:
- if ((buffer[i] & 0x0F) == 0x00) {
- kiss_state = KISS_DATA;
- kiss_rxcount = 0;
- } else {
- kiss_state = KISS_WAIT;
- kiss_rxcount = 0;
- }
- break;
+ case KISS_CTRL:
+ if ((buffer[i] & 0x0F) == 0x00) {
+ kiss_state = KISS_DATA;
+ kiss_rxcount = 0;
+ } else {
+ kiss_state = KISS_WAIT;
+ kiss_rxcount = 0;
+ }
+ break;
- case KISS_DATA:
- switch (buffer[i]) {
- case FEND:
- if (kiss_rxcount > 2)
- nrs_esc(kiss_rxbuffer, kiss_rxcount);
- kiss_state = KISS_WAIT;
- kiss_rxcount = 0;
- break;
- case FESC:
- kiss_state = KISS_ESCAPE;
- break;
- default:
- if (kiss_rxcount < 512)
- kiss_rxbuffer[kiss_rxcount++] = buffer[i];
- break;
- }
+ case KISS_DATA:
+ switch (buffer[i]) {
+ case FEND:
+ if (kiss_rxcount > 2)
+ nrs_esc(kiss_rxbuffer, kiss_rxcount);
+ kiss_state = KISS_WAIT;
+ kiss_rxcount = 0;
+ break;
+ case FESC:
+ kiss_state = KISS_ESCAPE;
+ break;
+ default:
+ if (kiss_rxcount < 512)
+ kiss_rxbuffer[kiss_rxcount++] = buffer[i];
break;
+ }
+ break;
- case KISS_ESCAPE:
- kiss_state = KISS_DATA;
- switch (buffer[i]) {
- case FESCESC:
- if (kiss_rxcount < 512)
- kiss_rxbuffer[kiss_rxcount++] = FESC;
- break;
- case FESCEND:
- if (kiss_rxcount < 512)
- kiss_rxbuffer[kiss_rxcount++] = FEND;
- break;
- }
+ case KISS_ESCAPE:
+ kiss_state = KISS_DATA;
+ switch (buffer[i]) {
+ case FESCESC:
+ if (kiss_rxcount < 512)
+ kiss_rxbuffer[kiss_rxcount++] = FESC;
break;
+ case FESCEND:
+ if (kiss_rxcount < 512)
+ kiss_rxbuffer[kiss_rxcount++] = FEND;
+ break;
+ }
+ break;
}
}
}
@@ -310,33 +310,33 @@ int main(int argc, char *argv[])
while ((c = getopt(argc, argv, "dfls:v")) != -1) {
switch (c) {
- case 'd':
- debugging = TRUE;
- break;
- case 'f':
- flowcontrol = TRUE;
- break;
- case 'l':
- logging = TRUE;
- break;
- case 's':
- if ((speed = atoi(optarg)) <= 0) {
- fprintf(stderr, "nrsdrv: invalid speed %s\n", optarg);
- return 1;
- }
- break;
- case 'v':
- printf("kissattach: %s\n", VERSION);
- return 0;
- case ':':
- case '?':
- fprintf(stderr, "usage: nrsdrv [-f] [-l] [-s speed] [-v] kisstty nrstty\n");
+ case 'd':
+ debugging = TRUE;
+ break;
+ case 'f':
+ flowcontrol = TRUE;
+ break;
+ case 'l':
+ logging = TRUE;
+ break;
+ case 's':
+ if ((speed = atoi(optarg)) <= 0) {
+ fprintf(stderr, "nrsdrv: invalid speed %s\n", optarg);
return 1;
+ }
+ break;
+ case 'v':
+ printf("kissattach: %s\n", VERSION);
+ return 0;
+ case ':':
+ case '?':
+ fprintf(stderr, "usage: nrsdrv [-f] [-l] [-s speed] [-v] kisstty nrstty\n");
+ return 1;
}
}
if (debugging) {
- fprintf(stderr,"Flow control %s\n",
+ fprintf(stderr,"Flow control %s\n",
flowcontrol ? "enabled" : "disabled");
}
@@ -399,7 +399,7 @@ int main(int argc, char *argv[])
openlog("nrsdrv", LOG_PID, LOG_DAEMON);
syslog(LOG_INFO, "KISS device %s connected to NRS device %s\n", argv[optind + 0], argv[optind + 1]);
}
-
+
signal(SIGHUP, SIG_IGN);
signal(SIGTERM, terminate);
@@ -421,7 +421,7 @@ int main(int argc, char *argv[])
for (;;) {
FD_ZERO(&read_fd);
-
+
FD_SET(kissfd, &read_fd);
FD_SET(nrsfd, &read_fd);
@@ -437,7 +437,7 @@ int main(int argc, char *argv[])
}
kiss_unesc(buffer, n);
}
-
+
if (FD_ISSET(nrsfd, &read_fd)) {
if ((n = read(nrsfd, buffer, 512)) <= 0) {
if (logging) {