summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>1999-04-30 07:22:16 +0200
committerRalf Baechle <ralf@linux-mips.org>1999-04-30 07:22:16 +0200
commit23809c23102d611d4dbe85820d311975953c833b (patch)
tree14c74b381913101f14c7be7b3d6ff55d6c10a323
parent5c8a43ce348cdac4fac0a6ee470342ff7dab3a64 (diff)
Import ax25-lib 0.0.3 from tarballax25-lib-0.0.3
-rw-r--r--AUTHORS2
-rw-r--r--ChangeLog4
-rw-r--r--Makefile.am17
-rw-r--r--Makefile.in62
-rw-r--r--ax25io.c91
-rw-r--r--axlib.h16
-rw-r--r--axutils.c16
-rw-r--r--config.h2
-rwxr-xr-xconfigure2
-rw-r--r--configure.in2
-rw-r--r--glibc.patch110
-rw-r--r--kernel_ax25.h2
-rw-r--r--ltmain.sh2
-rw-r--r--rsconfig.c2
14 files changed, 242 insertions, 88 deletions
diff --git a/AUTHORS b/AUTHORS
index 033104f..7b98d70 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -1,4 +1,4 @@
-Jonathon Naylor
+Jonathan Naylor
Tomi Manninen
Jean-Paul ROUBELAT
diff --git a/ChangeLog b/ChangeLog
index a03046b..98fb4d4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+1999-04-30 Craig Small <csmall@small.dropbear.id.au>
+ * Made some more functions use const args
+ * Split the libaxio library out
+
1999-04-20 Craig Small <csmall@small.dropbear.id.au>
* Added Jean-Pauls ROSE patches
diff --git a/Makefile.am b/Makefile.am
index 6416286..8fe835b 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,7 +1,8 @@
-lib_LTLIBRARIES = libax25.la
+lib_LTLIBRARIES = libax25.la libax25io.la
libax25includedir = $(includedir)/netax25
+libax25ioincludedir = $(includedir)/netax25
libax25include_HEADERS = \
axlib.h \
@@ -11,7 +12,11 @@ libax25include_HEADERS = \
daemon.h \
ttyutils.h \
procutils.h \
- mheard.h \
+ kernel_ax25.h \
+ kernel_rose.h \
+ mheard.h
+
+libax25ioinclude_HEADERS = \
ax25io.h
libax25_la_SOURCES = \
@@ -32,12 +37,14 @@ libax25_la_SOURCES = \
rsconfig.h \
ttyutils.c \
ttyutils.h \
- ax25io.c \
- ax25io.h \
kernel_ax25.h \
kernel_rose.h
+libax25io_la_SOURCES = \
+ ax25io.c \
+ ax25io.h
+
man_MANS = ax25.3 rose.3
-EXTRA_DIST= $(man_MANS)
+EXTRA_DIST= $(man_MANS) glibc.patch
diff --git a/Makefile.in b/Makefile.in
index fd487bf..0b93dcf 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -72,19 +72,26 @@ RANLIB = @RANLIB@
USE_SYMBOL_UNDERSCORE = @USE_SYMBOL_UNDERSCORE@
VERSION = @VERSION@
-lib_LTLIBRARIES = libax25.la
+lib_LTLIBRARIES = libax25.la libax25io.la
libax25includedir = $(includedir)/netax25
+libax25ioincludedir = $(includedir)/netax25
-libax25include_HEADERS = axlib.h axconfig.h nrconfig.h rsconfig.h daemon.h ttyutils.h procutils.h mheard.h ax25io.h
+libax25include_HEADERS = axlib.h axconfig.h nrconfig.h rsconfig.h daemon.h ttyutils.h procutils.h kernel_ax25.h kernel_rose.h mheard.h
-libax25_la_SOURCES = axconfig.c axconfig.h axlib.h axutils.c config.h daemon.c daemon.h mheard.h nrconfig.c nrconfig.h pathnames.h procutils.c procutils.h rsconfig.c rsconfig.h ttyutils.c ttyutils.h ax25io.c ax25io.h kernel_ax25.h kernel_rose.h
+libax25ioinclude_HEADERS = ax25io.h
+
+
+libax25_la_SOURCES = axconfig.c axconfig.h axlib.h axutils.c config.h daemon.c daemon.h mheard.h nrconfig.c nrconfig.h pathnames.h procutils.c procutils.h rsconfig.c rsconfig.h ttyutils.c ttyutils.h kernel_ax25.h kernel_rose.h
+
+
+libax25io_la_SOURCES = ax25io.c ax25io.h
man_MANS = ax25.3 rose.3
-EXTRA_DIST = $(man_MANS)
+EXTRA_DIST = $(man_MANS) glibc.patch
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = config.h
@@ -99,7 +106,10 @@ LIBS = @LIBS@
libax25_la_LDFLAGS =
libax25_la_LIBADD =
libax25_la_OBJECTS = axconfig.lo axutils.lo daemon.lo nrconfig.lo \
-procutils.lo rsconfig.lo ttyutils.lo ax25io.lo
+procutils.lo rsconfig.lo ttyutils.lo
+libax25io_la_LDFLAGS =
+libax25io_la_LIBADD =
+libax25io_la_OBJECTS = ax25io.lo
CFLAGS = @CFLAGS@
COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
@@ -109,7 +119,7 @@ man3dir = $(mandir)/man3
MANS = $(man_MANS)
NROFF = nroff
-HEADERS = $(libax25include_HEADERS)
+HEADERS = $(libax25include_HEADERS) $(libax25ioinclude_HEADERS)
DIST_COMMON = README ./stamp-h.in AUTHORS COPYING ChangeLog INSTALL \
Makefile.am Makefile.in NEWS aclocal.m4 config.guess config.h.in \
@@ -121,8 +131,8 @@ DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
TAR = tar
GZIP_ENV = --best
-SOURCES = $(libax25_la_SOURCES)
-OBJECTS = $(libax25_la_OBJECTS)
+SOURCES = $(libax25_la_SOURCES) $(libax25io_la_SOURCES)
+OBJECTS = $(libax25_la_OBJECTS) $(libax25io_la_OBJECTS)
all: all-redirect
.SUFFIXES:
@@ -236,6 +246,9 @@ maintainer-clean-libtool:
libax25.la: $(libax25_la_OBJECTS) $(libax25_la_DEPENDENCIES)
$(LINK) -rpath $(libdir) $(libax25_la_LDFLAGS) $(libax25_la_OBJECTS) $(libax25_la_LIBADD) $(LIBS)
+libax25io.la: $(libax25io_la_OBJECTS) $(libax25io_la_DEPENDENCIES)
+ $(LINK) -rpath $(libdir) $(libax25io_la_LDFLAGS) $(libax25io_la_OBJECTS) $(libax25io_la_LIBADD) $(LIBS)
+
install-man3:
$(mkinstalldirs) $(DESTDIR)$(man3dir)
@list='$(man3_MANS)'; \
@@ -290,6 +303,21 @@ uninstall-libax25includeHEADERS:
rm -f $(DESTDIR)$(libax25includedir)/$$p; \
done
+install-libax25ioincludeHEADERS: $(libax25ioinclude_HEADERS)
+ @$(NORMAL_INSTALL)
+ $(mkinstalldirs) $(DESTDIR)$(libax25ioincludedir)
+ @list='$(libax25ioinclude_HEADERS)'; for p in $$list; do \
+ if test -f "$$p"; then d= ; else d="$(srcdir)/"; fi; \
+ echo " $(INSTALL_DATA) $$d$$p $(DESTDIR)$(libax25ioincludedir)/$$p"; \
+ $(INSTALL_DATA) $$d$$p $(DESTDIR)$(libax25ioincludedir)/$$p; \
+ done
+
+uninstall-libax25ioincludeHEADERS:
+ @$(NORMAL_UNINSTALL)
+ list='$(libax25ioinclude_HEADERS)'; for p in $$list; do \
+ rm -f $(DESTDIR)$(libax25ioincludedir)/$$p; \
+ done
+
tags: TAGS
ID: $(HEADERS) $(SOURCES) $(LISP)
@@ -367,7 +395,7 @@ distdir: $(DISTFILES)
|| cp -p $$d/$$file $(distdir)/$$file || :; \
fi; \
done
-ax25io.lo ax25io.o : ax25io.c config.h ax25io.h telnet.h
+ax25io.lo ax25io.o : ax25io.c config.h ax25io.h
axconfig.lo axconfig.o : axconfig.c config.h pathnames.h axlib.h \
axconfig.h
axutils.lo axutils.o : axutils.c config.h axlib.h
@@ -376,8 +404,8 @@ nrconfig.lo nrconfig.o : nrconfig.c config.h pathnames.h axlib.h \
nrconfig.h
procutils.lo procutils.o : procutils.c config.h pathnames.h nrconfig.h \
procutils.h
-rsconfig.lo rsconfig.o : rsconfig.c kernel_ax25.h kernel_rose.h \
- pathnames.h axlib.h rsconfig.h
+rsconfig.lo rsconfig.o : rsconfig.c config.h pathnames.h axlib.h \
+ rsconfig.h
ttyutils.lo ttyutils.o : ttyutils.c pathnames.h ttyutils.h
info-am:
@@ -394,14 +422,16 @@ all-recursive-am: config.h
install-exec-am: install-libLTLIBRARIES
install-exec: install-exec-am
-install-data-am: install-man install-libax25includeHEADERS
+install-data-am: install-man install-libax25includeHEADERS \
+ install-libax25ioincludeHEADERS
install-data: install-data-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
install: install-am
uninstall-am: uninstall-libLTLIBRARIES uninstall-man \
- uninstall-libax25includeHEADERS
+ uninstall-libax25includeHEADERS \
+ uninstall-libax25ioincludeHEADERS
uninstall: uninstall-am
all-am: Makefile $(LTLIBRARIES) $(MANS) $(HEADERS) config.h
all-redirect: all-am
@@ -409,7 +439,8 @@ install-strip:
$(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
installdirs:
$(mkinstalldirs) $(DESTDIR)$(libdir) $(DESTDIR)$(mandir)/man3 \
- $(DESTDIR)$(libax25includedir)
+ $(DESTDIR)$(libax25includedir) \
+ $(DESTDIR)$(libax25ioincludedir)
mostlyclean-generic:
@@ -459,7 +490,8 @@ distclean-compile clean-compile maintainer-clean-compile \
mostlyclean-libtool distclean-libtool clean-libtool \
maintainer-clean-libtool install-man3 uninstall-man3 install-man \
uninstall-man uninstall-libax25includeHEADERS \
-install-libax25includeHEADERS tags mostlyclean-tags distclean-tags \
+install-libax25includeHEADERS uninstall-libax25ioincludeHEADERS \
+install-libax25ioincludeHEADERS tags mostlyclean-tags distclean-tags \
clean-tags maintainer-clean-tags distdir info-am info dvi-am dvi check \
check-am installcheck-am installcheck all-recursive-am install-exec-am \
install-exec install-data-am install-data install-am install \
diff --git a/ax25io.c b/ax25io.c
index 6ba9851..ee7a8fe 100644
--- a/ax25io.c
+++ b/ax25io.c
@@ -4,6 +4,7 @@
#include <errno.h>
#include <stdarg.h>
#include <string.h>
+#include <arpa/telnet.h>
#include "config.h"
@@ -12,7 +13,6 @@
#endif
#include "ax25io.h"
-#include "telnet.h"
static ax25io *Iolist = NULL;
@@ -385,10 +385,10 @@ int axio_putc(int c, ax25io *p)
{
char *cp;
- if (p->telnetmode && c == TN_IAC) {
- if (rsendchar(TN_IAC, p) == -1)
+ if (p->telnetmode && c == IAC) {
+ if (rsendchar(IAC, p) == -1)
return -1;
- return rsendchar(TN_IAC, p);
+ return rsendchar(IAC, p);
}
if (c == INTERNAL_EOL) {
@@ -421,7 +421,7 @@ int axio_getc(ax25io *p)
if ((c = rrecvchar(p)) == -1)
return -1;
- if (p->telnetmode && c == TN_IAC) {
+ if (p->telnetmode && c == IAC) {
if ((c = rrecvchar(p)) == -1)
return -1;
@@ -429,13 +429,13 @@ int axio_getc(ax25io *p)
return -1;
switch(c) {
- case TN_IP:
- case TN_ABORT:
- case TN_EOF:
+ case IP:
+ case ABORT:
+ case xEOF:
return -1;
- case TN_SUSP:
+ case SUSP:
break;
- case TN_SB:
+ case SB:
/*
* Start of sub-negotiation. Just ignore everything
* until we see a IAC SE (some negotiation...).
@@ -444,13 +444,13 @@ int axio_getc(ax25io *p)
return -1;
if ((opt = rrecvchar(p)) == -1)
return -1;
- while (!(c == TN_IAC && opt == TN_SE)) {
+ while (!(c == IAC && opt == SE)) {
c = opt;
if ((opt = rrecvchar(p)) == -1)
return -1;
}
break;
- case TN_WILL:
+ case WILL:
/*
* Client is willing to negotiate linemode and
* we want it too. Tell the client to go to
@@ -459,31 +459,30 @@ int axio_getc(ax25io *p)
* is ignored above (rfc1184 says client must obey
* ECHO and TRAPSIG).
*/
- if (opt == TN_LINEMODE && p->tn_linemode) {
- rsendchar(TN_IAC, p);
- rsendchar(TN_SB, p);
- rsendchar(TN_LINEMODE, p);
- rsendchar(TN_LINEMODE_MODE, p);
- rsendchar(TN_LINEMODE_MODE_EDIT |
- TN_LINEMODE_MODE_TRAPSIG, p);
- rsendchar(TN_IAC, p);
- rsendchar(TN_SE, p);
+ if (opt == TELOPT_LINEMODE && p->tn_linemode) {
+ rsendchar(IAC, p);
+ rsendchar(SB, p);
+ rsendchar(TELOPT_LINEMODE, p);
+ rsendchar(LM_MODE, p);
+ rsendchar(MODE_EDIT | MODE_TRAPSIG, p);
+ rsendchar(IAC, p);
+ rsendchar(SE, p);
} else {
- rsendchar(TN_IAC, p);
- rsendchar(TN_DONT, p);
- rsendchar(opt, p);
+ rsendchar(IAC, p);
+ rsendchar(DONT, p);
+ rsendchar(opt, p);
}
axio_flush(p);
break;
- case TN_DO:
+ case DO:
switch (opt) {
- case TN_SUPPRESS_GA:
- rsendchar(TN_IAC, p);
- rsendchar(TN_WILL, p);
- rsendchar(opt, p);
+ case TELOPT_SGA:
+ rsendchar(IAC, p);
+ rsendchar(WILL, p);
+ rsendchar(opt, p);
axio_flush(p);
break;
- case TN_ECHO:
+ case TELOPT_ECHO:
/*
* If we want echo then just silently
* approve, otherwise deny.
@@ -492,18 +491,18 @@ int axio_getc(ax25io *p)
break;
/* Note fall-through */
default:
- rsendchar(TN_IAC, p);
- rsendchar(TN_WONT, p);
- rsendchar(opt, p);
+ rsendchar(IAC, p);
+ rsendchar(WONT, p);
+ rsendchar(opt, p);
axio_flush(p);
break;
}
break;
- case TN_IAC: /* Escaped IAC */
- return TN_IAC;
+ case IAC: /* Escaped IAC */
+ return IAC;
break;
- case TN_WONT:
- case TN_DONT:
+ case WONT:
+ case DONT:
default:
break;
}
@@ -603,25 +602,25 @@ int axio_printf(ax25io *p, const char *fmt, ...)
void axio_tn_do_linemode(ax25io *p)
{
- rsendchar(TN_IAC, p);
- rsendchar(TN_DO, p);
- rsendchar(TN_LINEMODE, p);
+ rsendchar(IAC, p);
+ rsendchar(DO, p);
+ rsendchar(TELOPT_LINEMODE, p);
p->tn_linemode = 1;
}
void axio_tn_will_echo(ax25io *p)
{
- rsendchar(TN_IAC, p);
- rsendchar(TN_WILL, p);
- rsendchar(TN_ECHO, p);
+ rsendchar(IAC, p);
+ rsendchar(WILL, p);
+ rsendchar(TELOPT_ECHO, p);
p->tn_echo = 1;
}
void axio_tn_wont_echo(ax25io *p)
{
- rsendchar(TN_IAC, p);
- rsendchar(TN_WONT, p);
- rsendchar(TN_ECHO, p);
+ rsendchar(IAC, p);
+ rsendchar(WONT, p);
+ rsendchar(TELOPT_ECHO, p);
p->tn_echo = 0;
}
diff --git a/axlib.h b/axlib.h
index b6e36c9..39a08af 100644
--- a/axlib.h
+++ b/axlib.h
@@ -52,7 +52,7 @@ extern int ax25_aton(const char *, struct full_sockaddr_ax25 *);
* string but in a NULL terminated array of pointers to the strings.
* On error a -1 is returned, otherwise the length of the structure is returned.
*/
-extern int ax25_aton_arglist(char ** , struct full_sockaddr_ax25 *);
+extern int ax25_aton_arglist(const char ** , struct full_sockaddr_ax25 *);
/*
* This function converts an ASCII representation of a Rose address into
@@ -66,44 +66,44 @@ extern int rose_aton(const char *, char *);
* network format. The data returned is in a statically allocated area, and
* subsequent calls will destroy previous callsigns returned.
*/
-extern char *ax25_ntoa(ax25_address *);
+extern char *ax25_ntoa(const ax25_address *);
/*
* This function returns the textual representation of a Rose address in
* network format. The data returned is in a statically allocated area, and
* subsequent calls will destroy previous callsigns returned.
*/
-extern char *rose_ntoa(rose_address *);
+extern char *rose_ntoa(const rose_address *);
/*
* Compares two AX.25 callsigns in network format. Returns a 0 if they are
* identical, 1 if they differ, or 2 if only the SSIDs differ.
*/
-extern int ax25_cmp(ax25_address *, ax25_address *);
+extern int ax25_cmp(const ax25_address *, const ax25_address *);
/*
* Compares two Rose addresses in network format. Returns a 0 if they are
* identical, 1 if they differ.
*/
-extern int rose_cmp(rose_address *, rose_address *);
+extern int rose_cmp(const rose_address *, const rose_address *);
/*
* Validates an AX.25 callsign, returns TRUE if it is valid, or FALSE if it
* is not. The callsign should be AX.25 shifted format.
*/
-extern int ax25_validate(char *);
+extern int ax25_validate(const char *);
/*
* Converts the giver string to upper case. It returns a pointer to the
* original string.
*/
-extern char *strupr(char *);
+extern char *strupr(const char *);
/*
* Converts the giver string to lower case. It returns a pointer to the
* original string.
*/
-extern char *strlwr(char *);
+extern char *strlwr(const char *);
#ifdef __cplusplus
}
diff --git a/axutils.c b/axutils.c
index dd3ca5f..360e5cc 100644
--- a/axutils.c
+++ b/axutils.c
@@ -128,7 +128,7 @@ int ax25_aton(const char *call, struct full_sockaddr_ax25 *sax)
return sizeof(struct full_sockaddr_ax25);
}
-int ax25_aton_arglist(char *call[], struct full_sockaddr_ax25 *sax)
+int ax25_aton_arglist(const char *call[], struct full_sockaddr_ax25 *sax)
{
char *bp;
char *addrp;
@@ -195,7 +195,7 @@ int rose_aton(const char *addr, char *buf)
/*
* ax25 -> ascii conversion
*/
-char *ax25_ntoa(ax25_address *a)
+char *ax25_ntoa(const ax25_address *a)
{
static char buf[11];
char c, *s;
@@ -223,7 +223,7 @@ char *ax25_ntoa(ax25_address *a)
/*
* rose -> ascii conversion
*/
-char *rose_ntoa(rose_address *a)
+char *rose_ntoa(const rose_address *a)
{
static char buf[11];
@@ -239,7 +239,7 @@ char *rose_ntoa(rose_address *a)
/*
* Compare two ax.25 addresses
*/
-int ax25_cmp(ax25_address *a, ax25_address *b)
+int ax25_cmp(const ax25_address *a, const ax25_address *b)
{
if ((a->ax25_call[0] & 0xFE) != (b->ax25_call[0] & 0xFE))
return 1;
@@ -268,7 +268,7 @@ int ax25_cmp(ax25_address *a, ax25_address *b)
/*
* Compare two Rose addresses
*/
-int rose_cmp(rose_address *a, rose_address *b)
+int rose_cmp(const rose_address *a, const rose_address *b)
{
int i;
@@ -282,7 +282,7 @@ int rose_cmp(rose_address *a, rose_address *b)
/*
* Validate an AX.25 callsign.
*/
-int ax25_validate(char *call)
+int ax25_validate(const char *call)
{
unsigned char s[7];
int n;
@@ -300,7 +300,7 @@ int ax25_validate(char *call)
/*
* Convert a string to upper case
*/
-char *strupr(char *s)
+char *strupr(const char *s)
{
char *p;
@@ -316,7 +316,7 @@ char *strupr(char *s)
/*
* Convert a string to lower case
*/
-char *strlwr(char *s)
+char *strlwr(const char *s)
{
char *p;
diff --git a/config.h b/config.h
index 991ea51..cea5324 100644
--- a/config.h
+++ b/config.h
@@ -53,5 +53,5 @@
#define PACKAGE "ax25-lib"
/* Version number of package */
-#define VERSION "0.0.2"
+#define VERSION "0.0.3"
diff --git a/configure b/configure
index e49fe0d..e77e5de 100755
--- a/configure
+++ b/configure
@@ -533,7 +533,7 @@ fi
AXLIB_MAJOR_VERSION=0
AXLIB_MINOR_VERSION=0
-AXLIB_MICRO_VERSION=2
+AXLIB_MICRO_VERSION=3
AXLIB_VERSION=$AXLIB_MAJOR_VERSION.$AXLIB_MINOR_VERSION.$AXLIB_MICRO_VERSION
# for automake
diff --git a/configure.in b/configure.in
index f56ca61..57a8bd5 100644
--- a/configure.in
+++ b/configure.in
@@ -2,7 +2,7 @@ dnl Process this file with autoconf to produce a configure script.
AC_INIT(axlib.h)
AXLIB_MAJOR_VERSION=0
AXLIB_MINOR_VERSION=0
-AXLIB_MICRO_VERSION=2
+AXLIB_MICRO_VERSION=3
AXLIB_VERSION=$AXLIB_MAJOR_VERSION.$AXLIB_MINOR_VERSION.$AXLIB_MICRO_VERSION
# for automake
diff --git a/glibc.patch b/glibc.patch
new file mode 100644
index 0000000..e20a2ef
--- /dev/null
+++ b/glibc.patch
@@ -0,0 +1,110 @@
+--- netax25/ax25.h.orig Fri Apr 30 13:59:17 1999
++++ netax25/ax25.h Fri Apr 30 14:17:16 1999
+@@ -36,6 +36,7 @@
+ #define AX25_IDLE 9
+ #define AX25_PACLEN 10
+ #define AX25_IPMAXQUEUE 11
++#define AX25_IAMDIGI 12
+ #define AX25_KILL 99
+
+ /* AX.25 socket ioctls: */
+@@ -48,6 +49,9 @@
+ #define SIOCAX25SETPARMS (SIOCPROTOPRIVATE+6)
+ #define SIOCAX25OPTRT (SIOCPROTOPRIVATE+7)
+ #define SIOCAX25CTLCON (SIOCPROTOPRIVATE+8)
++#define SIOCAX25GETINFO (SIOCPROTOPRIVATE+9)
++#define SIOCAX25ADDFWD (SIOCPROTOPRIVATE+10)
++#define SIOCAX25DELFWD (SIOCPROTOPRIVATE+11)
+
+ /* unknown: */
+ #define AX25_NOUID_DEFAULT 0
+@@ -101,6 +105,25 @@
+ ax25_address dest_addr;
+ unsigned int cmd;
+ unsigned long arg;
++ unsigned char digi_count;
++ ax25_address digi_addr[AX25_MAX_DIGIS];
++ };
++
++struct ax25_info_struct
++ {
++ unsigned int n2, n2count;
++ unsigned int t1, t1timer;
++ unsigned int t2, t2timer;
++ unsigned int t3, t3timer;
++ unsigned int idle, idletimer;
++ unsigned int state;
++ unsigned int rcv_q, snd_q;
++ };
++
++struct ax25_fwd_struct
++ {
++ ax25_address port_from;
++ ax25_address port_to;
+ };
+
+ /* AX.25 route structure: */
+--- netrom/netrom.h.orig Fri Apr 30 14:17:53 1999
++++ netrom/netrom.h Fri Apr 30 14:19:52 1999
+@@ -29,6 +29,7 @@
+ #define NETROM_T2 2
+ #define NETROM_N2 3
+ #define NETROM_PACLEN 5
++#define NETROM_T4 6
+
+ #define NETROM_KILL 99
+
+@@ -45,6 +46,8 @@
+ char mnemonic[7];
+ ax25_address neighbour;
+ unsigned int obs_count;
++ unsigned int ndigis;
++ ax25_address digipeaters[AX25_MAX_DIGIS];
+ };
+
+ /* NetRom socket ioctls: */
+--- netrose/rose.h.orig Fri Apr 30 14:20:41 1999
++++ netrose/rose.h Fri Apr 30 14:24:55 1999
+@@ -46,6 +46,7 @@
+ #define SIOCRSACCEPT (SIOCPROTOPRIVATE + 3)
+ #define SIOCRSCLRRT (SIOCPROTOPRIVATE + 4)
+ #define SIOCRSGL2CALL (SIOCPROTOPRIVATE + 5)
++#define SIOCRSGFACILITIES (SIOCPROTOPRIVATE + 6)
+
+ #define ROSE_DTE_ORIGINATED 0x00
+ #define ROSE_NUMBER_BUSY 0x01
+@@ -73,6 +74,15 @@
+ ax25_address srose_digi;
+ };
+
++struct full_sockaddr_rose
++{
++ sa_family_t srose_family;
++ rose_address srose_addr;
++ ax25_address srose_call;
++ unsigned int srose_ndigis;
++ ax25_address srose_digis[ROSE_MAX_DIGIS];
++};
++
+ struct rose_route_struct
+ {
+ rose_address address;
+@@ -87,6 +97,18 @@
+ {
+ unsigned char cause;
+ unsigned char diagnostic;
++};
++
++struct rose_facilities_struct
++{
++ rose_address source_addr, dest_addr;
++ ax25_address source_call, dest_call;
++ unsigned char source_ndigis, dest_ndigis;
++ ax25_address source_digis[ROSE_MAX_DIGIS];
++ ax25_address dest_digis[ROSE_MAX_DIGIS];
++ unsigned int rand;
++ rose_address fail_addr;
++ ax25_address fail_call;
+ };
+
+ #endif /* netrose/rose.h */
diff --git a/kernel_ax25.h b/kernel_ax25.h
index 1bec592..fc6b40b 100644
--- a/kernel_ax25.h
+++ b/kernel_ax25.h
@@ -20,7 +20,7 @@
#define _NETAX25_AX25_H 1
#include <features.h>
-#include <bits/sockaddr.h>
+#include <sys/socket.h>
/* Setsockoptions(2) level. Thanks to BSD these must match IPPROTO_xxx. */
#define SOL_AX25 257
diff --git a/ltmain.sh b/ltmain.sh
index bfc7e9d..a13c0b0 100644
--- a/ltmain.sh
+++ b/ltmain.sh
@@ -3748,7 +3748,7 @@ is created, otherwise an executable program is created."
;;
uninstall)
- $echo
+ $echo \
"Usage: $modename [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE...
Remove libraries from an installation directory.
diff --git a/rsconfig.c b/rsconfig.c
index 5bdf969..cfa4607 100644
--- a/rsconfig.c
+++ b/rsconfig.c
@@ -10,6 +10,8 @@
#include <sys/types.h>
#include <sys/ioctl.h>
+#include <config.h>
+
#include <net/if.h>
#include <net/if_arp.h>
#ifdef HAVE_NETAX25_AX25_H