From 23809c23102d611d4dbe85820d311975953c833b Mon Sep 17 00:00:00 2001 From: Ralf Baechle Date: Fri, 30 Apr 1999 07:22:16 +0200 Subject: Import ax25-lib 0.0.3 from tarball --- AUTHORS | 2 +- ChangeLog | 4 +++ Makefile.am | 17 ++++++--- Makefile.in | 62 +++++++++++++++++++++++++-------- ax25io.c | 91 ++++++++++++++++++++++++------------------------ axlib.h | 16 ++++----- axutils.c | 16 ++++----- config.h | 2 +- configure | 2 +- configure.in | 2 +- glibc.patch | 110 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ kernel_ax25.h | 2 +- ltmain.sh | 2 +- rsconfig.c | 2 ++ 14 files changed, 242 insertions(+), 88 deletions(-) create mode 100644 glibc.patch 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 + * Made some more functions use const args + * Split the libaxio library out + 1999-04-20 Craig Small * 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 #include #include +#include #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 -#include +#include /* 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 #include +#include + #include #include #ifdef HAVE_NETAX25_AX25_H -- cgit v1.2.3