From f9ceba52b255476172ed5e4e3bbd89620ee9072f Mon Sep 17 00:00:00 2001 From: Ralf Baechle Date: Tue, 24 Aug 1999 01:29:01 +0200 Subject: Import libax25 0.0.7 from tarball --- ChangeLog | 15 ++++--- INSTALL | 4 +- Makefile.in | 8 ++-- acconfig.h | 8 ++++ config.h | 20 +++++----- config.h.in | 18 ++++----- configure | 119 +++++++++++++++++++++++++++++++++++++------------------- configure.in | 32 +++++++++++++-- kernel_ax25.h | 23 +++++++++++ kernel_netrom.h | 98 ++++++++++++++++++++++++++++++++++------------ kernel_rose.h | 26 ++++++++++++- 11 files changed, 273 insertions(+), 98 deletions(-) create mode 100644 acconfig.h diff --git a/ChangeLog b/ChangeLog index 43a0f6e..3f53981 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,8 +1,13 @@ +libax25 0.0.7 + * Added Tomi's patch to fix glibc 2.0 includes + + -- Craig Small Mon, 23 Aug 1999 11:23:40 +1000 + libax25 0.0.6 * Fixed pathnames.h typo * Fixed instructions -1999-0719 Craig Small + -- Craig Small , 19 Jul 1999 libax25 0.0.5 * More patches from Tomi for ax25io stuff @@ -10,22 +15,22 @@ libax25 0.0.5 * The licence use is now obvious * Added axports, rsports and nrports plus their man pages -1999-07-05 Craig Small + -- Craig Small , 5 Jul 1999 libax25 0.0.4 * Made some more functions use const args * Split the libaxio library out -1999-04-30 Craig Small + -- Craig Small , 30 Apr 1999 libax25 0.0.3 * Added Jean-Pauls ROSE patches * Changed all the convert names to ntoa type names * Added Tomi's axio stuff * Started writing ax25.3 and rose.3 -1999-04-20 Craig Small + -- Craig Small , 20 Apr 1999 libax25 0.0.2 * Initial version from Terry Dawson's code, split from the old ax25-utils package. -1999-04-02 Craig Small + -- Craig Small , 2 Apr 1999 diff --git a/INSTALL b/INSTALL index cbe3cca..29eeb6e 100644 --- a/INSTALL +++ b/INSTALL @@ -2,8 +2,8 @@ Installation Instructions for AX.25 Library =========================================== To make this library you will need the following: - glibc2.1 - A Modern kernel + glibc2.1 (Debian 2.1.1-5 or RedHat glibc-2.1.2-3) + A Modern kernel (2.2.x) libtool To build it you type: diff --git a/Makefile.in b/Makefile.in index a44715b..45e2ca9 100644 --- a/Makefile.in +++ b/Makefile.in @@ -133,9 +133,9 @@ NROFF = nroff 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 \ -config.sub configure configure.in install-sh ltconfig ltmain.sh missing \ -mkinstalldirs +Makefile.am Makefile.in NEWS acconfig.h aclocal.m4 config.guess \ +config.h.in config.sub configure configure.in install-sh ltconfig \ +ltmain.sh missing mkinstalldirs DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) @@ -178,7 +178,7 @@ $(srcdir)/config.h.in: $(srcdir)/stamp-h.in rm -f $(srcdir)/stamp-h.in; \ $(MAKE) $(srcdir)/stamp-h.in; \ else :; fi -$(srcdir)/stamp-h.in: $(top_srcdir)/configure.in $(ACLOCAL_M4) +$(srcdir)/stamp-h.in: $(top_srcdir)/configure.in $(ACLOCAL_M4) acconfig.h cd $(top_srcdir) && $(AUTOHEADER) @echo timestamp > $(srcdir)/stamp-h.in 2> /dev/null diff --git a/acconfig.h b/acconfig.h new file mode 100644 index 0000000..65a2cfc --- /dev/null +++ b/acconfig.h @@ -0,0 +1,8 @@ +/* Define if you have a proper netax25/ax25.h header file. */ +#undef HAVE_NETAX25_AX25_H + +/* Define if you have a proper netrom/netrom.h header file. */ +#undef HAVE_NETROM_NETROM_H + +/* Define if you have a proper netrose/rose.h header file. */ +#undef HAVE_NETROSE_ROSE_H diff --git a/config.h b/config.h index bef7f65..e5b62c2 100644 --- a/config.h +++ b/config.h @@ -13,6 +13,15 @@ /* Define if you have the ANSI C header files. */ #define STDC_HEADERS 1 +/* Define if you have a proper netax25/ax25.h header file. */ +#define HAVE_NETAX25_AX25_H 1 + +/* Define if you have a proper netrom/netrom.h header file. */ +#define HAVE_NETROM_NETROM_H 1 + +/* Define if you have a proper netrose/rose.h header file. */ +#define HAVE_NETROSE_ROSE_H 1 + /* Define if you have the socket function. */ #define HAVE_SOCKET 1 @@ -28,15 +37,6 @@ /* Define if you have the header file. */ #define HAVE_FCNTL_H 1 -/* Define if you have the header file. */ -#define HAVE_NETAX25_AX25_H 1 - -/* Define if you have the header file. */ -#define HAVE_NETROM_NETROM_H 1 - -/* Define if you have the header file. */ -#define HAVE_NETROSE_ROSE_H 1 - /* Define if you have the header file. */ #define HAVE_SYS_FILE_H 1 @@ -53,5 +53,5 @@ #define PACKAGE "libax25" /* Version number of package */ -#define VERSION "0.0.6" +#define VERSION "0.0.7" diff --git a/config.h.in b/config.h.in index a2894d1..e1f3599 100644 --- a/config.h.in +++ b/config.h.in @@ -12,6 +12,15 @@ /* Define if you have the ANSI C header files. */ #undef STDC_HEADERS +/* Define if you have a proper netax25/ax25.h header file. */ +#undef HAVE_NETAX25_AX25_H + +/* Define if you have a proper netrom/netrom.h header file. */ +#undef HAVE_NETROM_NETROM_H + +/* Define if you have a proper netrose/rose.h header file. */ +#undef HAVE_NETROSE_ROSE_H + /* Define if you have the socket function. */ #undef HAVE_SOCKET @@ -27,15 +36,6 @@ /* Define if you have the header file. */ #undef HAVE_FCNTL_H -/* Define if you have the header file. */ -#undef HAVE_NETAX25_AX25_H - -/* Define if you have the header file. */ -#undef HAVE_NETROM_NETROM_H - -/* Define if you have the header file. */ -#undef HAVE_NETROSE_ROSE_H - /* Define if you have the header file. */ #undef HAVE_SYS_FILE_H diff --git a/configure b/configure index c950f69..b34f65a 100755 --- a/configure +++ b/configure @@ -533,10 +533,9 @@ fi AXLIB_MAJOR_VERSION=0 AXLIB_MINOR_VERSION=0 -AXLIB_MICRO_VERSION=6 +AXLIB_MICRO_VERSION=7 AXLIB_VERSION=$AXLIB_MAJOR_VERSION.$AXLIB_MINOR_VERSION.$AXLIB_MICRO_VERSION -# for automake VERSION=$AXLIB_VERSION PACKAGE=libax25 @@ -571,7 +570,7 @@ ac_configure=$ac_aux_dir/configure # This should be Cygnus configure. # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # ./install, which can be erroneously created by make from ./install.sh. echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6 -echo "configure:575: checking for a BSD compatible install" >&5 +echo "configure:574: checking for a BSD compatible install" >&5 if test -z "$INSTALL"; then if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -624,7 +623,7 @@ test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}' test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6 -echo "configure:628: checking whether build environment is sane" >&5 +echo "configure:627: checking whether build environment is sane" >&5 # Just in case sleep 1 echo timestamp > conftestfile @@ -681,7 +680,7 @@ test "$program_suffix" != NONE && test "$program_transform_name" = "" && program_transform_name="s,x,x," echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6 -echo "configure:685: checking whether ${MAKE-make} sets \${MAKE}" >&5 +echo "configure:684: checking whether ${MAKE-make} sets \${MAKE}" >&5 set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -727,7 +726,7 @@ EOF missing_dir=`cd $ac_aux_dir && pwd` echo $ac_n "checking for working aclocal""... $ac_c" 1>&6 -echo "configure:731: checking for working aclocal" >&5 +echo "configure:730: checking for working aclocal" >&5 # Run test in a subshell; some versions of sh will print an error if # an executable is not found, even if stderr is redirected. # Redirect stdin to placate older versions of autoconf. Sigh. @@ -740,7 +739,7 @@ else fi echo $ac_n "checking for working autoconf""... $ac_c" 1>&6 -echo "configure:744: checking for working autoconf" >&5 +echo "configure:743: checking for working autoconf" >&5 # Run test in a subshell; some versions of sh will print an error if # an executable is not found, even if stderr is redirected. # Redirect stdin to placate older versions of autoconf. Sigh. @@ -753,7 +752,7 @@ else fi echo $ac_n "checking for working automake""... $ac_c" 1>&6 -echo "configure:757: checking for working automake" >&5 +echo "configure:756: checking for working automake" >&5 # Run test in a subshell; some versions of sh will print an error if # an executable is not found, even if stderr is redirected. # Redirect stdin to placate older versions of autoconf. Sigh. @@ -766,7 +765,7 @@ else fi echo $ac_n "checking for working autoheader""... $ac_c" 1>&6 -echo "configure:770: checking for working autoheader" >&5 +echo "configure:769: checking for working autoheader" >&5 # Run test in a subshell; some versions of sh will print an error if # an executable is not found, even if stderr is redirected. # Redirect stdin to placate older versions of autoconf. Sigh. @@ -779,7 +778,7 @@ else fi echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6 -echo "configure:783: checking for working makeinfo" >&5 +echo "configure:782: checking for working makeinfo" >&5 # Run test in a subshell; some versions of sh will print an error if # an executable is not found, even if stderr is redirected. # Redirect stdin to placate older versions of autoconf. Sigh. @@ -796,6 +795,7 @@ fi + # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 @@ -1891,54 +1891,93 @@ else fi done -for ac_hdr in netax25/ax25.h netrom/netrom.h netrose/rose.h -do -ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` -echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:1899: checking for $ac_hdr" >&5 -if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext <&6 +echo "configure:1897: checking for working netax25/ax25.h header file" >&5 +cat > conftest.$ac_ext < +#include EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1909: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + egrep "ax25_fwd_struct" >/dev/null 2>&1; then rm -rf conftest* - eval "ac_cv_header_$ac_safe=yes" + has_ax25=yes else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 rm -rf conftest* - eval "ac_cv_header_$ac_safe=no" + has_ax25=no fi rm -f conftest* -fi -if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then + +if test "$has_ax25" = "yes" ; then + cat >> confdefs.h <<\EOF +#define HAVE_NETAX25_AX25_H 1 +EOF + echo "$ac_t""yes" 1>&6 - ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` - cat >> confdefs.h <&6 +fi +echo $ac_n "checking for working netrom/netrom.h header file""... $ac_c" 1>&6 +echo "configure:1923: checking for working netrom/netrom.h header file" >&5 +cat > conftest.$ac_ext < EOF - +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + egrep "unsigned int ndigis" >/dev/null 2>&1; then + rm -rf conftest* + has_netrom=yes +else + rm -rf conftest* + has_netrom=no +fi +rm -f conftest* + +if test "$has_netrom" = "yes" ; then + cat >> confdefs.h <<\EOF +#define HAVE_NETROM_NETROM_H 1 +EOF + + echo "$ac_t""yes" 1>&6 else echo "$ac_t""no" 1>&6 fi -done +echo $ac_n "checking for working netrose/rose.h header file""... $ac_c" 1>&6 +echo "configure:1949: checking for working netrose/rose.h header file" >&5 +cat > conftest.$ac_ext < +EOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + egrep "rose_facilities_struct" >/dev/null 2>&1; then + rm -rf conftest* + has_rose=yes +else + rm -rf conftest* + has_rose=no +fi +rm -f conftest* +if test "$has_rose" = "yes" ; then + cat >> confdefs.h <<\EOF +#define HAVE_NETROSE_ROSE_H 1 +EOF + + echo "$ac_t""yes" 1>&6 +else + echo "$ac_t""no" 1>&6 +fi echo $ac_n "checking for working const""... $ac_c" 1>&6 -echo "configure:1937: checking for working const" >&5 +echo "configure:1976: checking for working const" >&5 if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:2030: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_const=yes else diff --git a/configure.in b/configure.in index 208e3db..c34e0f9 100644 --- a/configure.in +++ b/configure.in @@ -2,14 +2,15 @@ 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=6 +AXLIB_MICRO_VERSION=7 AXLIB_VERSION=$AXLIB_MAJOR_VERSION.$AXLIB_MINOR_VERSION.$AXLIB_MICRO_VERSION -# for automake +dnl For automake VERSION=$AXLIB_VERSION PACKAGE=libax25 AM_INIT_AUTOMAKE($PACKAGE, $VERSION) + AM_CONFIG_HEADER(config.h) dnl Checks for programs. @@ -27,7 +28,32 @@ AC_CHECK_FUNCS(socket strdup strerror strspn) dnl Checks for header files. AC_HEADER_STDC AC_CHECK_HEADERS(fcntl.h sys/file.h sys/ioctl.h unistd.h zlib.h) -AC_CHECK_HEADERS(netax25/ax25.h netrom/netrom.h netrose/rose.h) + +dnl Checks for working glibc 2.1 headers +AC_MSG_CHECKING(for working netax25/ax25.h header file) +AC_HEADER_EGREP(ax25_fwd_struct, netax25/ax25.h, has_ax25=yes, has_ax25=no) +if test "$has_ax25" = "yes" ; then + AC_DEFINE(HAVE_NETAX25_AX25_H) + AC_MSG_RESULT(yes) +else + AC_MSG_RESULT(no) +fi +AC_MSG_CHECKING(for working netrom/netrom.h header file) +AC_HEADER_EGREP(unsigned int ndigis, netrom/netrom.h, has_netrom=yes, has_netrom=no) +if test "$has_netrom" = "yes" ; then + AC_DEFINE(HAVE_NETROM_NETROM_H) + AC_MSG_RESULT(yes) +else + AC_MSG_RESULT(no) +fi +AC_MSG_CHECKING(for working netrose/rose.h header file) +AC_HEADER_EGREP(rose_facilities_struct, netrose/rose.h, has_rose=yes, has_rose=no) +if test "$has_rose" = "yes" ; then + AC_DEFINE(HAVE_NETROSE_ROSE_H) + AC_MSG_RESULT(yes) +else + AC_MSG_RESULT(no) +fi dnl Checks for typedefs, structures, and compiler characteristics. AC_C_CONST diff --git a/kernel_ax25.h b/kernel_ax25.h index fc6b40b..093ffb2 100644 --- a/kernel_ax25.h +++ b/kernel_ax25.h @@ -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 @@ struct ax25_ctl_struct 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: */ diff --git a/kernel_netrom.h b/kernel_netrom.h index 6939b32..2255d18 100644 --- a/kernel_netrom.h +++ b/kernel_netrom.h @@ -1,34 +1,84 @@ -/* - * These are the public elements of the Linux kernel NET/ROM implementation. - * For kernel AX.25 see the file ax25.h. This file requires ax25.h for the - * definition of the ax25_address structure. - */ +/* Copyright (C) 1997 Free Software Foundation, Inc. + This file is part of the GNU C Library. -#ifndef NETROM_KERNEL_H -#define NETROM_KERNEL_H + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. -#define NETROM_MTU 236 + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +#ifndef _NETROM_NETROM_H +#define _NETROM_NETROM_H 1 + +/*#include */ + +/* Setsockoptions(2) level. Thanks to BSD these must match IPPROTO_xxx. */ +#define SOL_NETROM 259 + +/* NetRom control values: */ #define NETROM_T1 1 #define NETROM_T2 2 #define NETROM_N2 3 +#define NETROM_PACLEN 5 #define NETROM_T4 6 -#define NETROM_IDLE 7 +#define NETROM_IDLE 7 + +#define NETROM_KILL 99 +/* Type of route: */ +#define NETROM_NEIGH 0 +#define NETROM_NODE 1 + +struct nr_route_struct + { + int type; + ax25_address callsign; + char device[16]; + unsigned int quality; + char mnemonic[7]; + ax25_address neighbour; + unsigned int obs_count; + unsigned int ndigis; + ax25_address digipeaters[AX25_MAX_DIGIS]; + }; + +/* NetRom socket ioctls: */ +#define SIOCNRGETPARMS (SIOCPROTOPRIVATE+0) +#define SIOCNRSETPARMS (SIOCPROTOPRIVATE+1) #define SIOCNRDECOBS (SIOCPROTOPRIVATE+2) +#define SIOCNRRTCTL (SIOCPROTOPRIVATE+3) +#define SIOCNRCTLCON (SIOCPROTOPRIVATE+4) + +/* NetRom parameter structure: */ +struct nr_parms_struct + { + unsigned int quality; + unsigned int obs_count; + unsigned int ttl; + unsigned int timeout; + unsigned int ack_delay; + unsigned int busy_delay; + unsigned int tries; + unsigned int window; + unsigned int paclen; + }; + +/* NetRom control structure: */ +struct nr_ctl_struct + { + unsigned char index; + unsigned char id; + unsigned int cmd; + unsigned long arg; + }; -struct nr_route_struct { -#define NETROM_NEIGH 0 -#define NETROM_NODE 1 - int type; - ax25_address callsign; - char device[16]; - unsigned int quality; - char mnemonic[7]; - ax25_address neighbour; - unsigned int obs_count; - unsigned int ndigis; - ax25_address digipeaters[AX25_MAX_DIGIS]; -}; - -#endif +#endif /* netrom/netrom.h */ diff --git a/kernel_rose.h b/kernel_rose.h index 96ea1eb..1e93b6b 100644 --- a/kernel_rose.h +++ b/kernel_rose.h @@ -1,5 +1,5 @@ /* Definitions for Rose packet radio address family. - Copyright (C) 1998 Free Software Foundation, Inc. + Copyright (C) 1998, 1999 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -31,6 +31,8 @@ requires ax25.h for the definition of the ax25_address structure. */ #define ROSE_MTU 251 +#define ROSE_MAX_DIGIS 6 + #define ROSE_DEFER 1 #define ROSE_T1 2 #define ROSE_T2 3 @@ -46,6 +48,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 +76,15 @@ struct sockaddr_rose 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; @@ -89,4 +101,16 @@ struct rose_cause_struct 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 */ -- cgit v1.2.3