summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>1999-06-07 10:24:56 +0200
committerRalf Baechle <ralf@linux-mips.org>1999-06-07 10:24:56 +0200
commit1b4023134b5ff6342301c8135b11df46546d2828 (patch)
tree50dc64182994ea2c13ce23919fa75e64edd4d0f0
parent17287576555a5c46fa23549e2e5f073660dccb70 (diff)
Import ax25-tools 0.0.2 from tarballax25-tools-0.0.2
-rw-r--r--INSTALL3
-rw-r--r--Makefile.am3
-rw-r--r--Makefile.in6
-rw-r--r--README14
-rw-r--r--ax25/Makefile.am3
-rw-r--r--ax25/Makefile.in10
-rw-r--r--ax25/ax25d.c15
-rw-r--r--ax25/axctl.c12
-rw-r--r--ax25/axparms.c11
-rw-r--r--ax25/axspawn.c11
-rw-r--r--ax25/beacon.c12
-rw-r--r--ax25/mheard.c13
-rw-r--r--ax25/mheardd.c12
-rw-r--r--ax25/rxecho.c13
-rw-r--r--config.h.in18
-rwxr-xr-xconfigure363
-rw-r--r--configure.in16
-rw-r--r--hdlcutil/Makefile.am2
-rw-r--r--hdlcutil/Makefile.in6
-rw-r--r--hdlcutil/baycom.962
-rw-r--r--hdlcutil/hdlcdrv.9220
-rw-r--r--hdlcutil/sethdlc.8282
-rw-r--r--hdlcutil/smdiag.878
-rw-r--r--hdlcutil/smmixer.8164
-rw-r--r--hdlcutil/soundmodem.982
-rw-r--r--kiss/Makefile.am3
-rw-r--r--kiss/Makefile.in8
-rw-r--r--kiss/kissattach.850
-rw-r--r--kiss/kissattach.c12
-rw-r--r--kiss/kissnetd.826
-rw-r--r--kiss/kissparms.870
-rw-r--r--kiss/kissparms.c14
-rw-r--r--kiss/mkiss.866
-rw-r--r--kiss/net2kiss.845
-rw-r--r--netrom/Makefile.am2
-rw-r--r--netrom/Makefile.in12
-rw-r--r--netrom/netromd.c16
-rw-r--r--netrom/netromr.c15
-rw-r--r--netrom/netromt.c15
-rw-r--r--netrom/nodesave.c6
-rw-r--r--netrom/nrattach.c19
-rw-r--r--netrom/nrparms.c16
-rw-r--r--pathnames.h28
-rw-r--r--rose/Makefile.am6
-rw-r--r--rose/Makefile.in11
-rw-r--r--rose/rsattach.c19
-rw-r--r--rose/rsdwnlnk.c12
-rw-r--r--rose/rsparms.c12
-rw-r--r--rose/rsuplnk.c12
-rwxr-xr-xrose/rsusers.sh128
-rw-r--r--tcpip/Makefile.am2
-rw-r--r--tcpip/Makefile.in9
-rw-r--r--tcpip/ttylinkd.c10
-rw-r--r--user_call/Makefile.am4
-rw-r--r--user_call/Makefile.in14
-rw-r--r--user_call/ax25_call.824
-rw-r--r--user_call/ax25_call.c11
-rw-r--r--user_call/netrom_call.828
-rw-r--r--user_call/netrom_call.c14
-rw-r--r--user_call/rose_call.826
-rw-r--r--user_call/rose_call.c11
61 files changed, 1991 insertions, 216 deletions
diff --git a/INSTALL b/INSTALL
index e1fab66..2d3d5e9 100644
--- a/INSTALL
+++ b/INSTALL
@@ -5,7 +5,7 @@ To make this library you will need the following:
glibc2.1
A Modern kernel
libtool
- ax25-lib 0.0.2 or better
+ ax25-lib 0.0.3 or better
To build it you type:
./configure
@@ -16,3 +16,4 @@ By default, it will install the files in /usr/local. To change this
so that binaries go in /usr and the conf files go in /etc
type 'make install prefix=/usr'
+ - Craig Small <csmall@small.dropbear.id.au>
diff --git a/Makefile.am b/Makefile.am
index 68f5e15..d0f7bd0 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -9,3 +9,6 @@ installconf:
@for app in $(SUBDIRS); do $(MAKE) -C $$app installconf; done
SUBDIRS = ax25 hdlcutil kiss netrom rose tcpip user_call
+
+EXTRA_DIST = pathnames.h
+
diff --git a/Makefile.in b/Makefile.in
index dcdcc0e..4a82957 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -58,13 +58,19 @@ NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
AWK = @AWK@
+AX25IO_LIB = @AX25IO_LIB@
+AX25_LIB = @AX25_LIB@
CC = @CC@
MAKEINFO = @MAKEINFO@
NCURSES_LIB = @NCURSES_LIB@
PACKAGE = @PACKAGE@
+UTIL_LIB = @UTIL_LIB@
VERSION = @VERSION@
+Z_LIB = @Z_LIB@
SUBDIRS = ax25 hdlcutil kiss netrom rose tcpip user_call
+
+EXTRA_DIST = pathnames.h
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = config.h
diff --git a/README b/README
index 0a8e484..b59dea9 100644
--- a/README
+++ b/README
@@ -1,17 +1,15 @@
AX25 Tools
==========
-THESE TOOLS ARE ALPHA CODE AND IS ONLY BEEN RELEASE FOR DEVELOPERS FOR
-DEBUGGING.
-
-This means if you are only installing this because it is the latest
-and greatest and you don't understand how to diagnose bugs, then you
-should probably not run it and go back to the ax25-utils-2*
-packages.
-
You are supposed to use glibc 2.1 (libc6 unstable libraries) for this
package. I have attempted to cater for glibc 2.0 users here.
+More specifically, it is recommended that you use a glibc newer than
+2 May 1999, I believe Debian libc6 package 2.1.1-5 will do.
+
+These tools were built on a Debian system, potato release, the libraries
+are libc6 2.1.1-10 and ncurses 4.2-3.2. Kernel is 2.2.5
+
- Craig Small <csmall@small.dropbear.id.au>
diff --git a/ax25/Makefile.am b/ax25/Makefile.am
index 55dc33d..6bfe46a 100644
--- a/ax25/Makefile.am
+++ b/ax25/Makefile.am
@@ -19,6 +19,9 @@ sbin_PROGRAMS = ax25d axctl axparms axspawn beacon bpqparms mheardd rxecho
bin_PROGRAMS = mheard
+LDADD = $(AX25_LIB)
+axspawn_LDADD = $(AX25_LIB) $(UTIL_LIB)
+
man_MANS = ax25.4 ax25d.conf.5 axports.5 axspawn.conf.5 rxecho.conf.5 \
ax25d.8 axctl.8 axparms.8 axspawn.8 beacon.8 bpqparms.8 \
mheard.1 mheardd.8 rxecho.8
diff --git a/ax25/Makefile.in b/ax25/Makefile.in
index ef14c64..2331d82 100644
--- a/ax25/Makefile.in
+++ b/ax25/Makefile.in
@@ -58,11 +58,15 @@ NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
AWK = @AWK@
+AX25IO_LIB = @AX25IO_LIB@
+AX25_LIB = @AX25_LIB@
CC = @CC@
MAKEINFO = @MAKEINFO@
NCURSES_LIB = @NCURSES_LIB@
PACKAGE = @PACKAGE@
+UTIL_LIB = @UTIL_LIB@
VERSION = @VERSION@
+Z_LIB = @Z_LIB@
etcfiles = ax25.profile ax25d.conf axspawn.conf rxecho.conf
varfiles = mheard.dat
@@ -71,6 +75,9 @@ sbin_PROGRAMS = ax25d axctl axparms axspawn beacon bpqparms mheardd rxecho
bin_PROGRAMS = mheard
+LDADD = $(AX25_LIB)
+axspawn_LDADD = $(AX25_LIB) $(UTIL_LIB)
+
man_MANS = ax25.4 ax25d.conf.5 axports.5 axspawn.conf.5 rxecho.conf.5 ax25d.8 axctl.8 axparms.8 axspawn.8 beacon.8 bpqparms.8 mheard.1 mheardd.8 rxecho.8
@@ -116,7 +123,6 @@ axparms_LDADD = $(LDADD)
axparms_DEPENDENCIES =
axparms_LDFLAGS =
axspawn_OBJECTS = axspawn.o
-axspawn_LDADD = $(LDADD)
axspawn_DEPENDENCIES =
axspawn_LDFLAGS =
beacon_OBJECTS = beacon.o
@@ -459,7 +465,7 @@ distdir: $(DISTFILES)
ax25d.o: ax25d.c ../config.h ../pathnames.h
axctl.o: axctl.c ../config.h
axparms.o: axparms.c ../config.h ../pathnames.h
-axspawn.o: axspawn.c ../pathnames.h
+axspawn.o: axspawn.c ../config.h ../pathnames.h
beacon.o: beacon.c ../config.h
bpqparms.o: bpqparms.c ../config.h
mheard.o: mheard.c ../config.h ../pathnames.h
diff --git a/ax25/ax25d.c b/ax25/ax25d.c
index 8d45713..86d3895 100644
--- a/ax25/ax25d.c
+++ b/ax25/ax25d.c
@@ -113,6 +113,8 @@
#include <syslog.h>
#include <errno.h>
+#include <config.h>
+
#include <sys/time.h>
#include <sys/types.h>
#include <sys/fcntl.h>
@@ -121,9 +123,21 @@
#include <sys/ioctl.h>
#include <sys/socket.h>
+#ifdef HAVE_NETAX25_AX25_H
#include <netax25/ax25.h>
+#else
+#include <netax25/kernel_ax25.h>
+#endif
+#ifdef HAVE_NETROM_NETROM_H
#include <netrom/netrom.h>
+#else
+#include <netax25/kernel_netrom.h>
+#endif
+#ifdef HAVE_NETROSE_ROSE_H
#include <netrose/rose.h>
+#else
+#include <netax25/kernel_rose.h>
+#endif
#include <netax25/axlib.h>
#include <netax25/axconfig.h>
@@ -131,7 +145,6 @@
#include <netax25/rsconfig.h>
#include <netax25/daemon.h>
-#include <config.h>
#include "../pathnames.h"
diff --git a/ax25/axctl.c b/ax25/axctl.c
index 84422fd..3d7c780 100644
--- a/ax25/axctl.c
+++ b/ax25/axctl.c
@@ -5,19 +5,27 @@
#include <unistd.h>
#include <pwd.h>
+#include <config.h>
+
#include <sys/types.h>
#include <sys/ioctl.h>
#include <sys/socket.h>
+#ifdef HAVE_NETAX25_AX25_H
#include <netax25/ax25.h>
+#else
+#include <netax25/kernel_ax25.h>
+#endif
+#ifdef HAVE_NETROSE_ROSE_H
+#include <netrose/rose.h>
+#else
#include <netrose/rose.h>
+#endif
#include <netax25/axlib.h>
#include <netax25/axconfig.h>
-#include <config.h>
-
int main(int argc, char **argv)
{
struct ax25_ctl_struct ax25_ctl;
diff --git a/ax25/axparms.c b/ax25/axparms.c
index 5683d46..dbcae8f 100644
--- a/ax25/axparms.c
+++ b/ax25/axparms.c
@@ -5,18 +5,27 @@
#include <unistd.h>
#include <pwd.h>
+#include <config.h>
+
#include <sys/types.h>
#include <sys/socket.h>
#include <sys/ioctl.h>
#include <net/if.h>
+#ifdef HAVE_NETAX25_AX25_H
#include <netax25/ax25.h>
+#else
+#include <netax25/kernel_ax25.h>
+#endif
+#ifdef HAVE_NETROSE_ROSE_H
#include <netrose/rose.h>
+#else
+#include <netax25/kernel_rose.h>
+#endif
#include <netax25/axlib.h>
#include <netax25/axconfig.h>
-#include <config.h>
#include "../pathnames.h"
diff --git a/ax25/axspawn.c b/ax25/axspawn.c
index 88381cf..35724a4 100644
--- a/ax25/axspawn.c
+++ b/ax25/axspawn.c
@@ -130,10 +130,21 @@
#include <sys/ioctl.h>
#include <sys/file.h>
+#include <config.h>
+
#include <sys/socket.h>
+#ifdef HAVE_NETAX25_AX25_H
#include <netax25/ax25.h>
+#else
+#include <netax25/kernel_ax25.h>
+#endif
+#ifdef HAVE_NETROSE_ROSE_H
#include <netrose/rose.h>
+#else
+#include <netax25/kernel_rose.h>
+#endif
+
#include <netax25/axlib.h>
#include "../pathnames.h"
diff --git a/ax25/beacon.c b/ax25/beacon.c
index c9b989e..b36f979 100644
--- a/ax25/beacon.c
+++ b/ax25/beacon.c
@@ -4,18 +4,26 @@
#include <syslog.h>
#include <signal.h>
+#include <config.h>
+
#include <sys/types.h>
#include <sys/socket.h>
+#ifdef HAVE_NETAX25_AX25_H
#include <netax25/ax25.h>
+#else
+#include <netax25/kernel_ax25.h>
+#endif
+#ifdef HAVE_NETROSE_ROSE_H
#include <netrose/rose.h>
+#else
+#include <netax25/kernel_rose.h>
+#endif
#include <netax25/axlib.h>
#include <netax25/axconfig.h>
#include <netax25/daemon.h>
-#include <config.h>
-
static int logging = FALSE;
static int mail = FALSE;
static int single = FALSE;
diff --git a/ax25/mheard.c b/ax25/mheard.c
index 2ab582c..6b3f21a 100644
--- a/ax25/mheard.c
+++ b/ax25/mheard.c
@@ -6,13 +6,22 @@
#include <sys/types.h>
#include <sys/socket.h>
+#include <config.h>
+
+#ifdef HAVE_NETAX25_AX25_H
#include <netax25/ax25.h>
+#else
+#include <netax25/kernel_ax25.h>
+#endif
+#ifdef HAVE_NETROSE_ROSE_H
#include <netrose/rose.h>
+#else
+#include <netax25/kernel_rose.h>
+#endif
+
#include <netax25/axlib.h>
#include <netax25/mheard.h>
-#include <config.h>
-
#include "../pathnames.h"
struct PortRecord {
diff --git a/ax25/mheardd.c b/ax25/mheardd.c
index 2d98fad..a2b3b21 100644
--- a/ax25/mheardd.c
+++ b/ax25/mheardd.c
@@ -8,6 +8,8 @@
#include <errno.h>
#include <fcntl.h>
+#include <config.h>
+
#include <sys/types.h>
#include <sys/ioctl.h>
#include <sys/param.h>
@@ -17,16 +19,22 @@
#include <net/ethernet.h>
#include <netinet/in.h>
+#ifdef HAVE_NETAX25_AX25_H
#include <netax25/ax25.h>
+#else
+#include <netax25/kernel_ax25.h>
+#endif
+#ifdef HAVE_NETROSE_ROSE_H
#include <netrose/rose.h>
+#else
+#include <netax25/kernel_rose.h>
+#endif
#include <netax25/axlib.h>
#include <netax25/axconfig.h>
#include <netax25/daemon.h>
#include <netax25/mheard.h>
-#include <config.h>
-
#include "../pathnames.h"
#define KISS_MASK 0x0F
diff --git a/ax25/rxecho.c b/ax25/rxecho.c
index 31334aa..633509e 100644
--- a/ax25/rxecho.c
+++ b/ax25/rxecho.c
@@ -53,18 +53,27 @@
#include <signal.h>
#include <sys/types.h>
+#include <config.h>
+
#include <sys/socket.h>
#include <net/ethernet.h>
#include <netinet/in.h>
+
+#ifdef HAVE_NETAX25_AX25_H
#include <netax25/ax25.h>
+#else
+#include <netax25/kernel_ax25.h>
+#endif
+#ifdef HAVE_NETROSE_ROSE_H
#include <netrose/rose.h>
+#else
+#include <netax25/kernel_rose.h>
+#endif
#include <netax25/axlib.h>
#include <netax25/axconfig.h>
#include <netax25/daemon.h>
-#include <config.h>
-
#include "../pathnames.h"
#define MAXCALLS 8
diff --git a/config.h.in b/config.h.in
index 29a1390..3b84bf1 100644
--- a/config.h.in
+++ b/config.h.in
@@ -86,6 +86,15 @@
/* Define if you have the <limits.h> header file. */
#undef HAVE_LIMITS_H
+/* Define if you have the <netax25/ax25.h> header file. */
+#undef HAVE_NETAX25_AX25_H
+
+/* Define if you have the <netrom/netrom.h> header file. */
+#undef HAVE_NETROM_NETROM_H
+
+/* Define if you have the <netrose/rose.h> header file. */
+#undef HAVE_NETROSE_ROSE_H
+
/* Define if you have the <paths.h> header file. */
#undef HAVE_PATHS_H
@@ -107,15 +116,6 @@
/* Define if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H
-/* Define if you have the ax25 library (-lax25). */
-#undef HAVE_LIBAX25
-
-/* Define if you have the util library (-lutil). */
-#undef HAVE_LIBUTIL
-
-/* Define if you have the z library (-lz). */
-#undef HAVE_LIBZ
-
/* Name of package */
#undef PACKAGE
diff --git a/configure b/configure
index 1e9bf5a..e29bd90 100755
--- a/configure
+++ b/configure
@@ -526,7 +526,7 @@ fi
-VERSION=0.0.1
+VERSION=0.0.2
PACKAGE=ax25-tools
ac_aux_dir=
for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do
@@ -1108,8 +1108,13 @@ test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+
+
+
+
echo $ac_n "checking for zlibVersion in -lz""... $ac_c" 1>&6
-echo "configure:1113: checking for zlibVersion in -lz" >&5
+echo "configure:1118: checking for zlibVersion in -lz" >&5
ac_lib_var=`echo z'_'zlibVersion | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -1117,7 +1122,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-lz $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 1121 "configure"
+#line 1126 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -1128,7 +1133,7 @@ int main() {
zlibVersion()
; return 0; }
EOF
-if { (eval echo configure:1132: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1137: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -1143,28 +1148,22 @@ LIBS="$ac_save_LIBS"
fi
if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
echo "$ac_t""yes" 1>&6
- ac_tr_lib=HAVE_LIB`echo z | sed -e 's/[^a-zA-Z0-9_]/_/g' \
- -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
- cat >> confdefs.h <<EOF
-#define $ac_tr_lib 1
-EOF
-
- LIBS="-lz $LIBS"
-
+ Z_LIB="-lz"
else
echo "$ac_t""no" 1>&6
+Z_LIB=
fi
echo $ac_n "checking for ax25_config_load_ports in -lax25""... $ac_c" 1>&6
-echo "configure:1160: checking for ax25_config_load_ports in -lax25" >&5
+echo "configure:1159: checking for ax25_config_load_ports in -lax25" >&5
ac_lib_var=`echo ax25'_'ax25_config_load_ports | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
ac_save_LIBS="$LIBS"
-LIBS="-lax25 -lz $LIBS"
+LIBS="-lax25 $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 1168 "configure"
+#line 1167 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -1175,7 +1174,7 @@ int main() {
ax25_config_load_ports()
; return 0; }
EOF
-if { (eval echo configure:1179: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1178: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -1190,21 +1189,55 @@ LIBS="$ac_save_LIBS"
fi
if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
echo "$ac_t""yes" 1>&6
- ac_tr_lib=HAVE_LIB`echo ax25 | sed -e 's/[^a-zA-Z0-9_]/_/g' \
- -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
- cat >> confdefs.h <<EOF
-#define $ac_tr_lib 1
-EOF
+ AX25_LIB="-lax25"
+else
+ echo "$ac_t""no" 1>&6
+AX25_LIB=
+fi
- LIBS="-lax25 $LIBS"
+echo $ac_n "checking for axio_init in -lax25io""... $ac_c" 1>&6
+echo "configure:1200: checking for axio_init in -lax25io" >&5
+ac_lib_var=`echo ax25io'_'axio_init | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ ac_save_LIBS="$LIBS"
+LIBS="-lax25io lz $LIBS"
+cat > conftest.$ac_ext <<EOF
+#line 1208 "configure"
+#include "confdefs.h"
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char axio_init();
+int main() {
+axio_init()
+; return 0; }
+EOF
+if { (eval echo configure:1219: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=yes"
else
- echo "$ac_t""no" 1>&6
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_lib_$ac_lib_var=no"
fi
+rm -f conftest*
+LIBS="$ac_save_LIBS"
+fi
+if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ AX25IO_LIB="-lax25io"
+else
+ echo "$ac_t""no" 1>&6
+AX25IO_LIB=
+fi
echo $ac_n "checking for initscr in -lncurses""... $ac_c" 1>&6
-echo "configure:1208: checking for initscr in -lncurses" >&5
+echo "configure:1241: checking for initscr in -lncurses" >&5
ac_lib_var=`echo ncurses'_'initscr | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -1212,7 +1245,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-lncurses $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 1216 "configure"
+#line 1249 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -1223,7 +1256,7 @@ int main() {
initscr()
; return 0; }
EOF
-if { (eval echo configure:1227: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1260: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -1244,9 +1277,8 @@ else
NCURSES_LIB=
fi
-
echo $ac_n "checking for openpty in -lutil""... $ac_c" 1>&6
-echo "configure:1250: checking for openpty in -lutil" >&5
+echo "configure:1282: checking for openpty in -lutil" >&5
ac_lib_var=`echo util'_'openpty | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -1254,7 +1286,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-lutil $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 1258 "configure"
+#line 1290 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -1265,7 +1297,7 @@ int main() {
openpty()
; return 0; }
EOF
-if { (eval echo configure:1269: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1301: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -1280,20 +1312,15 @@ LIBS="$ac_save_LIBS"
fi
if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
echo "$ac_t""yes" 1>&6
- ac_tr_lib=HAVE_LIB`echo util | sed -e 's/[^a-zA-Z0-9_]/_/g' \
- -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
- cat >> confdefs.h <<EOF
-#define $ac_tr_lib 1
-EOF
-
- LIBS="-lutil $LIBS"
-
+ UTIL_LIB="-lutil"
else
echo "$ac_t""no" 1>&6
+UTIL_LIB=
fi
+
echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
-echo "configure:1297: checking how to run the C preprocessor" >&5
+echo "configure:1324: checking how to run the C preprocessor" >&5
# On Suns, sometimes $CPP names a directory.
if test -n "$CPP" && test -d "$CPP"; then
CPP=
@@ -1308,13 +1335,13 @@ else
# On the NeXT, cc -E runs the code through the compiler's parser,
# not just through cpp.
cat > conftest.$ac_ext <<EOF
-#line 1312 "configure"
+#line 1339 "configure"
#include "confdefs.h"
#include <assert.h>
Syntax Error
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1318: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1345: \"$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
:
@@ -1325,13 +1352,13 @@ else
rm -rf conftest*
CPP="${CC-cc} -E -traditional-cpp"
cat > conftest.$ac_ext <<EOF
-#line 1329 "configure"
+#line 1356 "configure"
#include "confdefs.h"
#include <assert.h>
Syntax Error
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1335: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1362: \"$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
:
@@ -1342,13 +1369,13 @@ else
rm -rf conftest*
CPP="${CC-cc} -nologo -E"
cat > conftest.$ac_ext <<EOF
-#line 1346 "configure"
+#line 1373 "configure"
#include "confdefs.h"
#include <assert.h>
Syntax Error
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1352: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1379: \"$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
:
@@ -1377,7 +1404,7 @@ echo "$ac_t""$CPP" 1>&6
# Uses ac_ vars as temps to allow command line to override cache and checks.
# --without-x overrides everything else, but does not touch the cache.
echo $ac_n "checking for X""... $ac_c" 1>&6
-echo "configure:1381: checking for X" >&5
+echo "configure:1408: checking for X" >&5
# Check whether --with-x or --without-x was given.
if test "${with_x+set}" = set; then
@@ -1439,12 +1466,12 @@ if test "$ac_x_includes" = NO; then
# First, try using that file with no special directory specified.
cat > conftest.$ac_ext <<EOF
-#line 1443 "configure"
+#line 1470 "configure"
#include "confdefs.h"
#include <$x_direct_test_include>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1448: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1475: \"$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
rm -rf conftest*
@@ -1513,14 +1540,14 @@ if test "$ac_x_libraries" = NO; then
ac_save_LIBS="$LIBS"
LIBS="-l$x_direct_test_library $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 1517 "configure"
+#line 1544 "configure"
#include "confdefs.h"
int main() {
${x_direct_test_function}()
; return 0; }
EOF
-if { (eval echo configure:1524: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1551: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
LIBS="$ac_save_LIBS"
# We can link X programs with no special library path.
@@ -1626,17 +1653,17 @@ else
case "`(uname -sr) 2>/dev/null`" in
"SunOS 5"*)
echo $ac_n "checking whether -R must be followed by a space""... $ac_c" 1>&6
-echo "configure:1630: checking whether -R must be followed by a space" >&5
+echo "configure:1657: checking whether -R must be followed by a space" >&5
ac_xsave_LIBS="$LIBS"; LIBS="$LIBS -R$x_libraries"
cat > conftest.$ac_ext <<EOF
-#line 1633 "configure"
+#line 1660 "configure"
#include "confdefs.h"
int main() {
; return 0; }
EOF
-if { (eval echo configure:1640: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1667: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
ac_R_nospace=yes
else
@@ -1652,14 +1679,14 @@ rm -f conftest*
else
LIBS="$ac_xsave_LIBS -R $x_libraries"
cat > conftest.$ac_ext <<EOF
-#line 1656 "configure"
+#line 1683 "configure"
#include "confdefs.h"
int main() {
; return 0; }
EOF
-if { (eval echo configure:1663: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1690: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
ac_R_space=yes
else
@@ -1691,7 +1718,7 @@ rm -f conftest*
# libraries were built with DECnet support. And karl@cs.umb.edu says
# the Alpha needs dnet_stub (dnet does not exist).
echo $ac_n "checking for dnet_ntoa in -ldnet""... $ac_c" 1>&6
-echo "configure:1695: checking for dnet_ntoa in -ldnet" >&5
+echo "configure:1722: checking for dnet_ntoa in -ldnet" >&5
ac_lib_var=`echo dnet'_'dnet_ntoa | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -1699,7 +1726,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-ldnet $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 1703 "configure"
+#line 1730 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -1710,7 +1737,7 @@ int main() {
dnet_ntoa()
; return 0; }
EOF
-if { (eval echo configure:1714: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1741: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -1732,7 +1759,7 @@ fi
if test $ac_cv_lib_dnet_dnet_ntoa = no; then
echo $ac_n "checking for dnet_ntoa in -ldnet_stub""... $ac_c" 1>&6
-echo "configure:1736: checking for dnet_ntoa in -ldnet_stub" >&5
+echo "configure:1763: checking for dnet_ntoa in -ldnet_stub" >&5
ac_lib_var=`echo dnet_stub'_'dnet_ntoa | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -1740,7 +1767,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-ldnet_stub $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 1744 "configure"
+#line 1771 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -1751,7 +1778,7 @@ int main() {
dnet_ntoa()
; return 0; }
EOF
-if { (eval echo configure:1755: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1782: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -1780,12 +1807,12 @@ fi
# The nsl library prevents programs from opening the X display
# on Irix 5.2, according to dickey@clark.net.
echo $ac_n "checking for gethostbyname""... $ac_c" 1>&6
-echo "configure:1784: checking for gethostbyname" >&5
+echo "configure:1811: checking for gethostbyname" >&5
if eval "test \"`echo '$''{'ac_cv_func_gethostbyname'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1789 "configure"
+#line 1816 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char gethostbyname(); below. */
@@ -1808,7 +1835,7 @@ gethostbyname();
; return 0; }
EOF
-if { (eval echo configure:1812: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1839: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_gethostbyname=yes"
else
@@ -1829,7 +1856,7 @@ fi
if test $ac_cv_func_gethostbyname = no; then
echo $ac_n "checking for gethostbyname in -lnsl""... $ac_c" 1>&6
-echo "configure:1833: checking for gethostbyname in -lnsl" >&5
+echo "configure:1860: checking for gethostbyname in -lnsl" >&5
ac_lib_var=`echo nsl'_'gethostbyname | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -1837,7 +1864,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-lnsl $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 1841 "configure"
+#line 1868 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -1848,7 +1875,7 @@ int main() {
gethostbyname()
; return 0; }
EOF
-if { (eval echo configure:1852: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1879: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -1878,12 +1905,12 @@ fi
# -lsocket must be given before -lnsl if both are needed.
# We assume that if connect needs -lnsl, so does gethostbyname.
echo $ac_n "checking for connect""... $ac_c" 1>&6
-echo "configure:1882: checking for connect" >&5
+echo "configure:1909: checking for connect" >&5
if eval "test \"`echo '$''{'ac_cv_func_connect'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1887 "configure"
+#line 1914 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char connect(); below. */
@@ -1906,7 +1933,7 @@ connect();
; return 0; }
EOF
-if { (eval echo configure:1910: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1937: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_connect=yes"
else
@@ -1927,7 +1954,7 @@ fi
if test $ac_cv_func_connect = no; then
echo $ac_n "checking for connect in -lsocket""... $ac_c" 1>&6
-echo "configure:1931: checking for connect in -lsocket" >&5
+echo "configure:1958: checking for connect in -lsocket" >&5
ac_lib_var=`echo socket'_'connect | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -1935,7 +1962,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-lsocket $X_EXTRA_LIBS $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 1939 "configure"
+#line 1966 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -1946,7 +1973,7 @@ int main() {
connect()
; return 0; }
EOF
-if { (eval echo configure:1950: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:1977: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -1970,12 +1997,12 @@ fi
# gomez@mi.uni-erlangen.de says -lposix is necessary on A/UX.
echo $ac_n "checking for remove""... $ac_c" 1>&6
-echo "configure:1974: checking for remove" >&5
+echo "configure:2001: checking for remove" >&5
if eval "test \"`echo '$''{'ac_cv_func_remove'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1979 "configure"
+#line 2006 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char remove(); below. */
@@ -1998,7 +2025,7 @@ remove();
; return 0; }
EOF
-if { (eval echo configure:2002: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2029: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_remove=yes"
else
@@ -2019,7 +2046,7 @@ fi
if test $ac_cv_func_remove = no; then
echo $ac_n "checking for remove in -lposix""... $ac_c" 1>&6
-echo "configure:2023: checking for remove in -lposix" >&5
+echo "configure:2050: checking for remove in -lposix" >&5
ac_lib_var=`echo posix'_'remove | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -2027,7 +2054,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-lposix $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 2031 "configure"
+#line 2058 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -2038,7 +2065,7 @@ int main() {
remove()
; return 0; }
EOF
-if { (eval echo configure:2042: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2069: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -2062,12 +2089,12 @@ fi
# BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay.
echo $ac_n "checking for shmat""... $ac_c" 1>&6
-echo "configure:2066: checking for shmat" >&5
+echo "configure:2093: checking for shmat" >&5
if eval "test \"`echo '$''{'ac_cv_func_shmat'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2071 "configure"
+#line 2098 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char shmat(); below. */
@@ -2090,7 +2117,7 @@ shmat();
; return 0; }
EOF
-if { (eval echo configure:2094: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2121: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_shmat=yes"
else
@@ -2111,7 +2138,7 @@ fi
if test $ac_cv_func_shmat = no; then
echo $ac_n "checking for shmat in -lipc""... $ac_c" 1>&6
-echo "configure:2115: checking for shmat in -lipc" >&5
+echo "configure:2142: checking for shmat in -lipc" >&5
ac_lib_var=`echo ipc'_'shmat | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -2119,7 +2146,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-lipc $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 2123 "configure"
+#line 2150 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -2130,7 +2157,7 @@ int main() {
shmat()
; return 0; }
EOF
-if { (eval echo configure:2134: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2161: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -2163,7 +2190,7 @@ fi
# libraries we check for below, so use a different variable.
# --interran@uluru.Stanford.EDU, kb@cs.umb.edu.
echo $ac_n "checking for IceConnectionNumber in -lICE""... $ac_c" 1>&6
-echo "configure:2167: checking for IceConnectionNumber in -lICE" >&5
+echo "configure:2194: checking for IceConnectionNumber in -lICE" >&5
ac_lib_var=`echo ICE'_'IceConnectionNumber | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -2171,7 +2198,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-lICE $X_EXTRA_LIBS $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 2175 "configure"
+#line 2202 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -2182,7 +2209,7 @@ int main() {
IceConnectionNumber()
; return 0; }
EOF
-if { (eval echo configure:2186: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2213: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -2212,7 +2239,7 @@ fi
# Uses ac_ vars as temps to allow command line to override cache and checks.
# --without-x overrides everything else, but does not touch the cache.
echo $ac_n "checking for X""... $ac_c" 1>&6
-echo "configure:2216: checking for X" >&5
+echo "configure:2243: checking for X" >&5
# Check whether --with-x or --without-x was given.
if test "${with_x+set}" = set; then
@@ -2274,12 +2301,12 @@ if test "$ac_x_includes" = NO; then
# First, try using that file with no special directory specified.
cat > conftest.$ac_ext <<EOF
-#line 2278 "configure"
+#line 2305 "configure"
#include "confdefs.h"
#include <$x_direct_test_include>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2283: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2310: \"$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
rm -rf conftest*
@@ -2348,14 +2375,14 @@ if test "$ac_x_libraries" = NO; then
ac_save_LIBS="$LIBS"
LIBS="-l$x_direct_test_library $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 2352 "configure"
+#line 2379 "configure"
#include "confdefs.h"
int main() {
${x_direct_test_function}()
; return 0; }
EOF
-if { (eval echo configure:2359: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:2386: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
LIBS="$ac_save_LIBS"
# We can link X programs with no special library path.
@@ -2442,12 +2469,12 @@ else
fi
echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6
-echo "configure:2446: checking for ANSI C header files" >&5
+echo "configure:2473: checking for ANSI C header files" >&5
if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2451 "configure"
+#line 2478 "configure"
#include "confdefs.h"
#include <stdlib.h>
#include <stdarg.h>
@@ -2455,7 +2482,7 @@ else
#include <float.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2459: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2486: \"$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
rm -rf conftest*
@@ -2472,7 +2499,7 @@ rm -f conftest*
if test $ac_cv_header_stdc = yes; then
# SunOS 4.x string.h does not declare mem*, contrary to ANSI.
cat > conftest.$ac_ext <<EOF
-#line 2476 "configure"
+#line 2503 "configure"
#include "confdefs.h"
#include <string.h>
EOF
@@ -2490,7 +2517,7 @@ fi
if test $ac_cv_header_stdc = yes; then
# ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
cat > conftest.$ac_ext <<EOF
-#line 2494 "configure"
+#line 2521 "configure"
#include "confdefs.h"
#include <stdlib.h>
EOF
@@ -2511,7 +2538,7 @@ if test "$cross_compiling" = yes; then
:
else
cat > conftest.$ac_ext <<EOF
-#line 2515 "configure"
+#line 2542 "configure"
#include "confdefs.h"
#include <ctype.h>
#define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
@@ -2522,7 +2549,7 @@ if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2);
exit (0); }
EOF
-if { (eval echo configure:2526: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:2553: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
:
else
@@ -2546,12 +2573,12 @@ EOF
fi
echo $ac_n "checking for sys/wait.h that is POSIX.1 compatible""... $ac_c" 1>&6
-echo "configure:2550: checking for sys/wait.h that is POSIX.1 compatible" >&5
+echo "configure:2577: checking for sys/wait.h that is POSIX.1 compatible" >&5
if eval "test \"`echo '$''{'ac_cv_header_sys_wait_h'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2555 "configure"
+#line 2582 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <sys/wait.h>
@@ -2567,7 +2594,7 @@ wait (&s);
s = WIFEXITED (s) ? WEXITSTATUS (s) : 1;
; return 0; }
EOF
-if { (eval echo configure:2571: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2598: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_header_sys_wait_h=yes
else
@@ -2591,17 +2618,57 @@ for ac_hdr in fcntl.h limits.h paths.h strings.h sys/file.h sys/ioctl.h sys/time
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:2595: checking for $ac_hdr" >&5
+echo "configure:2622: 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 <<EOF
+#line 2627 "configure"
+#include "confdefs.h"
+#include <$ac_hdr>
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:2632: \"$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
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=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"
+fi
+rm -f conftest*
+fi
+if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_hdr 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+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:2662: 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 <<EOF
-#line 2600 "configure"
+#line 2667 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2605: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:2672: \"$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
rm -rf conftest*
@@ -2629,7 +2696,7 @@ done
cat > conftest.$ac_ext <<EOF
-#line 2633 "configure"
+#line 2700 "configure"
#include "confdefs.h"
#include <netax25/ax25.h>
EOF
@@ -2644,7 +2711,7 @@ fi
rm -f conftest*
cat > conftest.$ac_ext <<EOF
-#line 2648 "configure"
+#line 2715 "configure"
#include "confdefs.h"
#include <netax25/ax25.h>
EOF
@@ -2659,7 +2726,7 @@ fi
rm -f conftest*
cat > conftest.$ac_ext <<EOF
-#line 2663 "configure"
+#line 2730 "configure"
#include "confdefs.h"
#include <netax25/ax25.h>
EOF
@@ -2677,12 +2744,12 @@ rm -f conftest*
echo $ac_n "checking for working const""... $ac_c" 1>&6
-echo "configure:2681: checking for working const" >&5
+echo "configure:2748: 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 <<EOF
-#line 2686 "configure"
+#line 2753 "configure"
#include "confdefs.h"
int main() {
@@ -2731,7 +2798,7 @@ ccp = (char const *const *) p;
; return 0; }
EOF
-if { (eval echo configure:2735: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2802: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_c_const=yes
else
@@ -2752,12 +2819,12 @@ EOF
fi
echo $ac_n "checking for uid_t in sys/types.h""... $ac_c" 1>&6
-echo "configure:2756: checking for uid_t in sys/types.h" >&5
+echo "configure:2823: checking for uid_t in sys/types.h" >&5
if eval "test \"`echo '$''{'ac_cv_type_uid_t'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2761 "configure"
+#line 2828 "configure"
#include "confdefs.h"
#include <sys/types.h>
EOF
@@ -2786,12 +2853,12 @@ EOF
fi
echo $ac_n "checking for pid_t""... $ac_c" 1>&6
-echo "configure:2790: checking for pid_t" >&5
+echo "configure:2857: checking for pid_t" >&5
if eval "test \"`echo '$''{'ac_cv_type_pid_t'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2795 "configure"
+#line 2862 "configure"
#include "confdefs.h"
#include <sys/types.h>
#if STDC_HEADERS
@@ -2819,12 +2886,12 @@ EOF
fi
echo $ac_n "checking whether time.h and sys/time.h may both be included""... $ac_c" 1>&6
-echo "configure:2823: checking whether time.h and sys/time.h may both be included" >&5
+echo "configure:2890: checking whether time.h and sys/time.h may both be included" >&5
if eval "test \"`echo '$''{'ac_cv_header_time'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2828 "configure"
+#line 2895 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <sys/time.h>
@@ -2833,7 +2900,7 @@ int main() {
struct tm *tp;
; return 0; }
EOF
-if { (eval echo configure:2837: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2904: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_header_time=yes
else
@@ -2854,12 +2921,12 @@ EOF
fi
echo $ac_n "checking whether struct tm is in sys/time.h or time.h""... $ac_c" 1>&6
-echo "configure:2858: checking whether struct tm is in sys/time.h or time.h" >&5
+echo "configure:2925: checking whether struct tm is in sys/time.h or time.h" >&5
if eval "test \"`echo '$''{'ac_cv_struct_tm'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2863 "configure"
+#line 2930 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <time.h>
@@ -2867,7 +2934,7 @@ int main() {
struct tm *tp; tp->tm_sec;
; return 0; }
EOF
-if { (eval echo configure:2871: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2938: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_struct_tm=time.h
else
@@ -2890,13 +2957,13 @@ fi
if test $ac_cv_prog_gcc = yes; then
echo $ac_n "checking whether ${CC-cc} needs -traditional""... $ac_c" 1>&6
-echo "configure:2894: checking whether ${CC-cc} needs -traditional" >&5
+echo "configure:2961: checking whether ${CC-cc} needs -traditional" >&5
if eval "test \"`echo '$''{'ac_cv_prog_gcc_traditional'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
ac_pattern="Autoconf.*'x'"
cat > conftest.$ac_ext <<EOF
-#line 2900 "configure"
+#line 2967 "configure"
#include "confdefs.h"
#include <sgtty.h>
Autoconf TIOCGETP
@@ -2914,7 +2981,7 @@ rm -f conftest*
if test $ac_cv_prog_gcc_traditional = no; then
cat > conftest.$ac_ext <<EOF
-#line 2918 "configure"
+#line 2985 "configure"
#include "confdefs.h"
#include <termio.h>
Autoconf TCGETA
@@ -2936,7 +3003,7 @@ echo "$ac_t""$ac_cv_prog_gcc_traditional" 1>&6
fi
echo $ac_n "checking for 8-bit clean memcmp""... $ac_c" 1>&6
-echo "configure:2940: checking for 8-bit clean memcmp" >&5
+echo "configure:3007: checking for 8-bit clean memcmp" >&5
if eval "test \"`echo '$''{'ac_cv_func_memcmp_clean'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2944,7 +3011,7 @@ else
ac_cv_func_memcmp_clean=no
else
cat > conftest.$ac_ext <<EOF
-#line 2948 "configure"
+#line 3015 "configure"
#include "confdefs.h"
main()
@@ -2954,7 +3021,7 @@ main()
}
EOF
-if { (eval echo configure:2958: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:3025: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
ac_cv_func_memcmp_clean=yes
else
@@ -2972,7 +3039,7 @@ echo "$ac_t""$ac_cv_func_memcmp_clean" 1>&6
test $ac_cv_func_memcmp_clean = no && LIBOBJS="$LIBOBJS memcmp.${ac_objext}"
echo $ac_n "checking whether setpgrp takes no argument""... $ac_c" 1>&6
-echo "configure:2976: checking whether setpgrp takes no argument" >&5
+echo "configure:3043: checking whether setpgrp takes no argument" >&5
if eval "test \"`echo '$''{'ac_cv_func_setpgrp_void'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2980,7 +3047,7 @@ else
{ echo "configure: error: cannot check setpgrp if cross compiling" 1>&2; exit 1; }
else
cat > conftest.$ac_ext <<EOF
-#line 2984 "configure"
+#line 3051 "configure"
#include "confdefs.h"
#ifdef HAVE_UNISTD_H
@@ -3000,7 +3067,7 @@ main()
}
EOF
-if { (eval echo configure:3004: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:3071: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
ac_cv_func_setpgrp_void=no
else
@@ -3024,12 +3091,12 @@ EOF
fi
echo $ac_n "checking return type of signal handlers""... $ac_c" 1>&6
-echo "configure:3028: checking return type of signal handlers" >&5
+echo "configure:3095: checking return type of signal handlers" >&5
if eval "test \"`echo '$''{'ac_cv_type_signal'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3033 "configure"
+#line 3100 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <signal.h>
@@ -3046,7 +3113,7 @@ int main() {
int i;
; return 0; }
EOF
-if { (eval echo configure:3050: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3117: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ac_cv_type_signal=void
else
@@ -3065,12 +3132,12 @@ EOF
echo $ac_n "checking for strftime""... $ac_c" 1>&6
-echo "configure:3069: checking for strftime" >&5
+echo "configure:3136: checking for strftime" >&5
if eval "test \"`echo '$''{'ac_cv_func_strftime'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3074 "configure"
+#line 3141 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char strftime(); below. */
@@ -3093,7 +3160,7 @@ strftime();
; return 0; }
EOF
-if { (eval echo configure:3097: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3164: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_strftime=yes"
else
@@ -3115,7 +3182,7 @@ else
echo "$ac_t""no" 1>&6
# strftime is in -lintl on SCO UNIX.
echo $ac_n "checking for strftime in -lintl""... $ac_c" 1>&6
-echo "configure:3119: checking for strftime in -lintl" >&5
+echo "configure:3186: checking for strftime in -lintl" >&5
ac_lib_var=`echo intl'_'strftime | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@@ -3123,7 +3190,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-lintl $LIBS"
cat > conftest.$ac_ext <<EOF
-#line 3127 "configure"
+#line 3194 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@@ -3134,7 +3201,7 @@ int main() {
strftime()
; return 0; }
EOF
-if { (eval echo configure:3138: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3205: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@@ -3161,7 +3228,7 @@ fi
fi
echo $ac_n "checking for wait3 that fills in rusage""... $ac_c" 1>&6
-echo "configure:3165: checking for wait3 that fills in rusage" >&5
+echo "configure:3232: checking for wait3 that fills in rusage" >&5
if eval "test \"`echo '$''{'ac_cv_func_wait3_rusage'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3169,7 +3236,7 @@ else
ac_cv_func_wait3_rusage=no
else
cat > conftest.$ac_ext <<EOF
-#line 3173 "configure"
+#line 3240 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <sys/time.h>
@@ -3200,7 +3267,7 @@ main() {
}
}
EOF
-if { (eval echo configure:3204: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:3271: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
ac_cv_func_wait3_rusage=yes
else
@@ -3225,12 +3292,12 @@ fi
for ac_func in gethostname gettimeofday mkdir select socket strdup strerror strspn strstr strtol strtoul uname
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:3229: checking for $ac_func" >&5
+echo "configure:3296: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3234 "configure"
+#line 3301 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@@ -3253,7 +3320,7 @@ $ac_func();
; return 0; }
EOF
-if { (eval echo configure:3257: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3324: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
@@ -3424,7 +3491,11 @@ s%@MAKEINFO@%$MAKEINFO%g
s%@SET_MAKE@%$SET_MAKE%g
s%@AWK@%$AWK%g
s%@CC@%$CC%g
+s%@Z_LIB@%$Z_LIB%g
+s%@AX25_LIB@%$AX25_LIB%g
+s%@AX25IO_LIB@%$AX25IO_LIB%g
s%@NCURSES_LIB@%$NCURSES_LIB%g
+s%@UTIL_LIB@%$UTIL_LIB%g
s%@CPP@%$CPP%g
s%@X_CFLAGS@%$X_CFLAGS%g
s%@X_PRE_LIBS@%$X_PRE_LIBS%g
diff --git a/configure.in b/configure.in
index 4efad35..4e5dd00 100644
--- a/configure.in
+++ b/configure.in
@@ -2,7 +2,7 @@ dnl Process this file with autoconf to produce a configure script.
AC_INIT(ax25/ax25d.c)
dnl For automake
-VERSION=0.0.1
+VERSION=0.0.2
PACKAGE=ax25-tools
AM_INIT_AUTOMAKE($PACKAGE,$VERSION)
@@ -16,14 +16,17 @@ AC_PROG_CC
AC_PROG_INSTALL
dnl Checks for libraries.
-AC_CHECK_LIB(z, zlibVersion)
-dnl AC_SUBST(AX25_LIB)
-dnl AC_CHECK_LIB(ax25, ax25_config_load_ports, AX25_LIB="-lax25", AX25_LIB=,-lz)
-AC_CHECK_LIB(ax25, ax25_config_load_ports,,,-lz)
+AC_SUBST(Z_LIB)
+AC_SUBST(AX25_LIB)
+AC_SUBST(AX25IO_LIB)
AC_SUBST(NCURSES_LIB)
+AC_SUBST(UTIL_LIB)
+AC_CHECK_LIB(z, zlibVersion,Z_LIB="-lz",Z_LIB=)
+AC_CHECK_LIB(ax25, ax25_config_load_ports, AX25_LIB="-lax25", AX25_LIB=)
+AC_CHECK_LIB(ax25io, axio_init, AX25IO_LIB="-lax25io", AX25IO_LIB=,lz)
AC_CHECK_LIB(ncurses, initscr,NCURSES_LIB="-lncurses",NCURSES_LIB=)
+AC_CHECK_LIB(util, openpty, UTIL_LIB="-lutil",UTIL_LIB=)
-AC_CHECK_LIB(util, openpty)
AC_PATH_XTRA
dnl Checks for header files.
@@ -31,6 +34,7 @@ AC_PATH_X
AC_HEADER_STDC
AC_HEADER_SYS_WAIT
AC_CHECK_HEADERS(fcntl.h limits.h paths.h strings.h sys/file.h sys/ioctl.h sys/time.h syslog.h unistd.h)
+AC_CHECK_HEADERS(netax25/ax25.h netrom/netrom.h netrose/rose.h)
dnl Check for ceratin functions in header files
AC_HEADER_EGREP(ax25_fwd_struct, netax25/ax25.h, AC_DEFINE(HAVE_AX25_FWD_STRUCT))
diff --git a/hdlcutil/Makefile.am b/hdlcutil/Makefile.am
index 32059d1..effca5e 100644
--- a/hdlcutil/Makefile.am
+++ b/hdlcutil/Makefile.am
@@ -5,6 +5,8 @@ sbin_PROGRAMS = setcrystal sethdlc smmixer smdiag
man_MANS = sethdlc.8 smdiag.8 smmixer.8 baycom.9 hdlcdrv.9 soundmodem.9
+EXTRA_DIST = $(man_MANS)
+
setcrystal_SOURCES = \
setcrystal.c
diff --git a/hdlcutil/Makefile.in b/hdlcutil/Makefile.in
index edf7170..a0d16f9 100644
--- a/hdlcutil/Makefile.in
+++ b/hdlcutil/Makefile.in
@@ -58,16 +58,22 @@ NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
AWK = @AWK@
+AX25IO_LIB = @AX25IO_LIB@
+AX25_LIB = @AX25_LIB@
CC = @CC@
MAKEINFO = @MAKEINFO@
NCURSES_LIB = @NCURSES_LIB@
PACKAGE = @PACKAGE@
+UTIL_LIB = @UTIL_LIB@
VERSION = @VERSION@
+Z_LIB = @Z_LIB@
sbin_PROGRAMS = setcrystal sethdlc smmixer smdiag
man_MANS = sethdlc.8 smdiag.8 smmixer.8 baycom.9 hdlcdrv.9 soundmodem.9
+EXTRA_DIST = $(man_MANS)
+
setcrystal_SOURCES = setcrystal.c
diff --git a/hdlcutil/baycom.9 b/hdlcutil/baycom.9
new file mode 100644
index 0000000..5e91100
--- /dev/null
+++ b/hdlcutil/baycom.9
@@ -0,0 +1,62 @@
+.\" Copyright 1996 Thomas Sailer (sailer@ife.ee.ethz.ch)
+.\" May be distributed under the GNU General Public License
+.\" "
+.TH BAYCOM 9 "2 October 1996" "Linux 2.1.x" "Kernel Reference Guide"
+.SH NAME
+baycom \- amateur (AX.25) packet radio network driver for baycom modems
+.SH SYNOPSIS
+
+.nf
+.B #include <linux/baycom.h>
+.B #include <linux/hdlcdrv.h>
+.fi
+
+.SH DESCRIPTION
+The driver currently supports three different modems: ser12, par96 and
+par97.
+.SS ser12
+This is a very simple 1200 baud AFSK modem. The modem consists only
+of a modulator/demodulator chip, usually a TI TCM3105. The computer
+is responsible for regenerating the receiver bit clock. The modem
+connects to a serial port, hence the name. Since the serial port is
+not used as an async serial port, the kernel driver for serial ports
+cannot be used, and this driver only supports standard serial
+hardware (8250, 16450, 16550).
+.SS par96
+This is a modem for 9600 baud FSK compatible to the G3RUH standard.
+The modem does all the filtering and regenerates the receiver clock.
+Data is transferred from and to the PC via a shift register.
+The shift register is filled with 16 bits and an interrupt is
+signalled. The PC then empties the shift register in a burst. This
+modem connects to the parallel port, hence the name.
+.SS par97
+This is a redesign of the par96 modem by Henning Rech, DF9IC. The
+modem is protocol compatible to par96, but uses only three low
+power ICs and can therefore be fed from the parallel port and
+does not require an additional power supply.
+
+.SH "IOCTL CALLS"
+The \fBioctl\fP calls follow the implementation in the \fIhdlcdrv\fP.
+
+.TP
+.B BAYCOMCTL_GETMODEMTYPE
+returns the modem type (i.e. \fIser12\fP or \fIpar96\fP) and the
+options in effect (currently only the source of the DCD signal)
+.TP
+.B BAYCOMCTL_SETMODEMTYPE
+sets the modem type and the options. Only superuser can do this.
+.TP
+.B BAYCOMCTL_GETDEBUG
+return some debugging values. Not always available.
+
+
+.SH "SEE ALSO"
+.BR baycom " (9), " soundmodem " (9),"
+linux/drivers/net/hdlcdrv.c,
+
+.SH AUTHOR
+baycom was written by Thomas Sailer, HB9JNX/AE4WA, (sailer@ife.ee.ethz.ch).
+
+
+
+
diff --git a/hdlcutil/hdlcdrv.9 b/hdlcutil/hdlcdrv.9
new file mode 100644
index 0000000..3a46948
--- /dev/null
+++ b/hdlcutil/hdlcdrv.9
@@ -0,0 +1,220 @@
+.\" Copyright 1996 Thomas Sailer (sailer@ife.ee.ethz.ch)
+.\" May be distributed under the GNU General Public License
+.\" "
+.TH HDLCDRV 9 "2 October 1996" "Linux 2.1.x" "Kernel Reference Guide"
+.SH NAME
+hdlcdrv \- HDLC amateur (AX.25) packet radio network driver
+.SH SYNOPSIS
+
+.B #include <linux/hdlcdrv.h>
+
+.B linux/drivers/net/hdlcdrv.c
+
+.BI "extern inline void hdlcdrv_putbits(struct hdlcdrv_state * " s ", unsigned int " bits ");"
+
+.BI "extern inline unsigned int hdlcdrv_getbits(struct hdlcdrv_state * " s ");"
+
+.BI "extern inline void hdlcdrv_channelbit(struct hdlcdrv_state * " s ", unsigned int " bit ");"
+
+.BI "extern inline void hdlcdrv_setdcd(struct hdlcdrv_state * " s " , int " dcd ");"
+
+.BI "extern inline int hdlcdrv_ptt(struct hdlcdrv_state * " s ");"
+
+.BI "void hdlcdrv_receiver(struct device *, struct hdlcdrv_state *);"
+
+.BI "void hdlcdrv_transmitter(struct device *, struct hdlcdrv_state *);"
+
+.BI "void hdlcdrv_arbitrate(struct device *, struct hdlcdrv_state *);"
+
+.BI "int hdlcdrv_register_hdlcdrv(struct device * " dev ", struct hdlcdrv_ops * " ops ", unsigned int " privsize ", char * " ifname ", unsigned int " baseaddr " , unsigned int " irq ", unsigned int " dma ");
+
+.BI "int hdlcdrv_unregister_hdlcdrv(struct device * " dev ");"
+
+.SH DESCRIPTION
+This driver should ease the implementation of simple AX.25 packet radio
+modems where the software is responsible for the HDLC encoding and decoding.
+Examples of such modems include the \fIbaycom\fP family and the
+\fIsoundcard\fP modems.
+
+This driver provides a standard Linux network driver interface.
+It can even be compiled if Kernel AX.25 is not enabled in the Linux
+configuration. This allows this driver to be used even for userland
+AX.25 stacks such as \fIWampes\fP or \fITNOS\fP, with the help of
+the \fInet2kiss\fP utility.
+
+This driver does not access any hardware; it is the responsibility of
+an additional hardware driver such as \fIbaycom\fP or \fIsoundmodem\fP
+to access the hardware and derive the bitstream to feed into this
+driver.
+
+The hardware driver should store its state in a structure of the
+following form:
+
+.nf
+struct hwdrv_state {
+ struct hdlc_state \fIhdrv\fP;
+
+ ... the drivers private state
+};
+.fi
+
+A pointer to this structure will be stored in \fIdev->priv\fP.
+
+\fBhdlcdrv_register_hdlcdrv\fP registers a hardware driver to the
+hdlc driver. \fIdev\fP points to storage for the \fIdevice\fP structure,
+which must be provided by the hardware driver, but gets initialized by
+this function call. \fIops\fP provides information about the hardware driver
+and its calls. \fIprivsize\fP should be \fIsizeof(struct\ hwdrv_state)\fP.
+\fIifname\fP specifies the name the interface should get. \fIbaseaddr\fP,
+\fIirq\fP and \fIdma\fP are simply stored in the \fIdevice\fP structure.
+After this function succeeds, the interface is registered with the kernel.
+It is not running, however, this must be done with
+\fBifconfig\ \fP\fIifname\fP\fB\ up\fP.
+
+\fBhdlcdrv_unregister_hdlcdrv\fP shuts the interface down and unregisters
+it with the kernel.
+
+\fBhdlcdrv_putbits\fP delivers 16 received bits for processing to the HDLC
+driver. This routine merely stores them in a buffer and does not process them.
+It is thus fast and can be called with interrupts off. The least significant
+bit should be the first one received.
+
+\fBhdlcdrv_getbits\fP requests 16 bits from the driver for transmission.
+The least significant bit should be transmitted first. This routine takes
+them from a buffer and is therefore fast. It can be called with interrupts
+off.
+
+\fBhdlcdrv_channelbit\fP puts a single bit into a buffer, which can be
+displayed with \fBsethdlc\ \-s\fP. It is intended for driver debugging
+purposes.
+
+\fBhdlcdrv_setdcd\fP informs the HDLC driver about the channel state
+(i.e. if the hardware driver detected a data carrier). This information
+is used in the channel access algorithm, i.e. it prevents the driver
+from transmitting on a half duplex channel if there is already a
+transmitter on air.
+
+\fBhdlcdrv_ptt\fP should be called by the hardware driver to determine
+if it should start or stop transmitting. The hardware driver does not
+need to worry about keyup delays. This is done by the HDLC driver.
+
+\fBhdlcdrv_receiver\fP actually processes the received bits delivered
+by \fBhdlcdrv_putbits\fP. It should be called with interrupts on.
+It guards itself against reentrance problems.
+
+\fBhdlcdrv_transmitter\fP actually prepares the bits to be transmitted.
+It should be called with interrupts on. It guards itself against
+reentrance problems.
+
+\fBhdlcdrv_arbitrate\fP does the channel access algorithm
+(p-persistent CSMA). It should be called once every 10ms. Note that the
+hardware driver \fBmust\fP set the \fIhdrv.par.bitrate\fP field prior
+to starting operation so that \fBhdlcdrv\fP can calculate the transmitter
+keyup delay correctly.
+
+.SH "HARDWARE DRIVER ENTRY POINTS"
+The hardware driver should provide the following information to
+the HDLC driver:
+
+.nf
+struct hdlcdrv_ops {
+ const char *\fIdrvname\fP;
+ const char *\fIdrvinfo\fP;
+ int (*\fIopen\fP)(struct device *);
+ int (*\fIclose\fP)(struct device *);
+ int (*\fIioctl\fP)(struct device *, struct ifreq *, int);
+};
+.fi
+
+\fBdrvname\fP and \fBdrvinfo\fP are just for informational purposes.
+
+The following routines receive a pointer to the \fIdevice\fP structure,
+where they may find the io address, irq and dma channels.
+
+\fBopen\fP must be provided. It is called during
+\fBifconfig\ \fP\fIifname\fP\fB\ up\fP and should check for the hardware,
+grab it and initialize it. It usually installs an interrupt handler
+which then gets invoked by the hardware.
+
+\fBclose\fP must be provided. It is called during
+\fBifconfig\ \fP\fIifname\fP\fB\ down\fP and should undo all actions done
+by \fBopen\fP, i.e. release io regions and irqs.
+
+\fBioctl\fP may be provided to implement device specific ioctl's.
+
+.SH "IOCTL CALLS"
+
+The driver only responds to \fISIOCDEVPRIVATE\fP. Parameters are passed
+from and to the driver using the following struct:
+
+.nf
+struct hdlcdrv_ioctl {
+ int cmd;
+ union {
+ struct hdlcdrv_params mp;
+ struct hdlcdrv_channel_params cp;
+ struct hdlcdrv_channel_state cs;
+ unsigned int calibrate;
+ unsigned char bits;
+ } data;
+};
+.fi
+
+Since the 16 private \fIioctl\ request\fP numbers for network drivers
+were not enough, the driver implements its own \fIsub\ request\fP number
+with \fIcmd\fP. The following numbers are implemented:
+
+.TP
+.B HDLCDRVCTL_GETMODEMPAR
+returns the IO parameters of the modem in \fIdata.mp\fP. This includes
+the io address, irq, eventually dma, and ports to output a PTT signal.
+
+.TP
+.B HDLCDRVCTL_SETMODEMPAR
+sets the modem parameters. Only superuser can do this. Parameters
+can only be changed if the interface is not running (i.e. down).
+
+.TP
+.B HDLCDRVCTL_GETCHANNELPAR
+returns the channel access parameters.
+
+.TP
+.B HDLCDRVCTL_SETCHANNELPAR
+sets the channel access parameters. Only superuser can do this.
+They may also be changed using the \fBkissparms\fP command if using
+kernel AX.25 or the \fBparam\fP command of \fB*NOS\fP.
+
+.TP
+.B HDLCDRVCTL_GETSTAT
+statistics and status information, such as if a carrier is detected
+on the channel and if the interface is currently transmitting.
+
+.TP
+.B HDLCDRVCTL_CALIBRATE
+instructs the driver to transmit a calibration pattern for the
+specified number of seconds.
+
+.TP
+.B HDLCDRVCTL_GETSAMPLES
+returns the bits delivered by the hardware driver with
+\fIhdlcdrv_channelbit\fP. The bits are returned 8 at a time
+with the least significant bit the first one. This command may not be
+available, depending on debugging settings.
+
+.TP
+.B HDLCDRVCTL_GETBITS
+returns the bits delivered by the hardware driver to the HDLC decoder.
+The bits are returned 8 at a time with the least significant bit the
+first one. This command may not be available, depending on debugging
+settings.
+
+.SH "SEE ALSO"
+.BR baycom "\ (9), " soundmodem "\ (9), " sethdlc "\ (8), "
+linux/drivers/net/hdlcdrv.c,
+
+.SH AUTHOR
+hdlcdrv was written by Thomas Sailer, HB9JNX/AE4WA, (sailer@ife.ee.ethz.ch).
+
+
+
+
diff --git a/hdlcutil/sethdlc.8 b/hdlcutil/sethdlc.8
new file mode 100644
index 0000000..d232b6c
--- /dev/null
+++ b/hdlcutil/sethdlc.8
@@ -0,0 +1,282 @@
+.\" Copyright 1996 Thomas Sailer (sailer@ife.ee.ethz.ch)
+.\" May be distributed under the GNU General Public License
+.\"
+.\" portions from setserial.8 by Rickard E. Faith (faith@cs.unc.edu)
+.\" "
+.TH SETHDLC 8 "1 October 1996" "Sethdlc 0.1" "Linux Programmer's Manual"
+.SH NAME
+sethdlc \- get/set Linux HDLC packet radio modem driver port information
+.SH SYNOPSIS
+.B sethdlc
+.B "[ \-bdhs ]"
+.B "[\-i device]"
+
+.B "sethdlc [\-i device] -c"
+cal
+
+.B "sethdlc\ -p"
+.B "[\-i\ device]"
+.BR "[\ mode\ " mode "\ ]"
+.BR "[\ io\ " iobase "\ ]"
+.BR "[\ irq\ " irq "\ ]"
+.BR "[\ dma\ " dma "\ ]"
+.BR "[\ dma2\ " dma2 "\ ]"
+.BR "[\ serio\ " seriobase "\ ]"
+.BR "[\ pario\ " pariobase "\ ]"
+.BR "[\ midiio\ " midiiobase "\ ]"
+.BR "[\ options\ " options "\ ]"
+
+.B "sethdlc\ -a"
+.B "[\-i\ device]"
+.BR "[\ txd\ " txdelay "\ ]"
+.BR "[\ txtail\ " txtail "\ ]"
+.BR "[\ slot\ " slottime "\ ]"
+.BR "[\ ppersist\ " ppersistence "\ ]"
+.BR "[\ full\ ]"
+.BR "[\ half\ ]"
+
+
+.SH DESCRIPTION
+.B sethdlc
+is a program designed to set and/or report the configuration information
+associated with a soundcard radio modem port. This information includes the
+modem type, what I/O port, IRQ and DMA channel a particular modem
+port is using, and where to output a transmitter keying (PTT) signal.
+
+With the
+.B \-p
+option,
+.B sethdlc
+sets and/or reports the port configuration.
+
+With the
+.B \-a
+option,
+.B sethdlc
+sets and/or reports the AX.25 channel access parameters. These parameters can also
+be set with the
+.I kissparms
+utility.
+
+With the
+.B \-c
+option,
+.B sethdlc
+instructs the driver to send a calibration pattern for
+.I cal
+seconds.
+
+Without the
+.B \-p,
+.B \-a
+and
+.B \-c
+option,
+.B sethdlc
+will stay in the foreground and display received packets. The AX.25 header
+and eventually a FlexNet compressed header are decoded. CTRL-C terminates
+.B sethdlc.
+Specifying additional options,
+.B sethdlc
+may display additional information.
+
+
+.SH OPTIONS
+.B sethdlc
+accepts the following options:
+
+.TP
+.B \-b
+Trace the bits at the output of the demodulator, after RX clock recovery.
+This option is only available if \fBsethdlc\fP
+and the soundcard modem kernel driver is compiled with debugging support on.
+This is useful for driver debugging.
+.TP
+.B \-d
+Trace DCD, PTT and other status information on stdout. \fBsethdlc\fP
+displays two times per second a line containing these informations.
+.TP
+.B \-h
+Display an overview of the available command line parameters and exit.
+.TP
+.B \-i
+The
+.I device
+argument specifies the HDLC modem device which should be configured or
+interrogated. It will usually have the following form:
+\fIbc[0-3]\fP for the baycom driver and
+\fIsm[0-3]\fP for the soundcard modem driver.
+.TP
+.B \-s
+Trace the bits at the demodulator output, \fIbefore\fP
+the RX clock recovery, to stdout. This option is only available the modem driver
+is compiled with debugging support on. It may not be available on some modem, such
+as the \fIpar96\fP.
+
+.SH PARAMETERS
+The following parameters can be assigned to a soundcard radio modem port.
+
+All numerical parameter values are assumed to be in decimal unless preceeded by "0x".
+
+The
+.B mode
+parameter sets the type of hardware and the operating mode of the driver.
+\fIser12\fP and \fIpar96\fP are valid modes for the \fBbaycom\fP driver.
+A star "\fI*\fP" may be added to enable software DCD. The \fBmode\fP string
+format of the \fBsoundmodem\fP driver is as follows: \fIhw:mode\fP.
+\fIhw\fP may be either \fIsbc\fP, \fIwss\fP or \fIwssfdx\fP. The first
+one specifies SoundBlaster compatible soundcards, the second one
+WindowsSoundSystem compatible hardware, and the third one WSS fullduplex
+operation (which currently works with Crystal Semiconductor Chipsets
+CS423[126]). The \fImode\fP portion may be \fIafsk1200\fP or \fIfsk9600\fP.
+Optionally, the receive and transmit modes may be different
+(\fIhw:txmode.rxmode\fP).
+
+The
+.B ioport
+parameter sets the I/O port address. Typical values for the \fIser12\fP modem are
+0x3f8, 0x2f8, 0x3e8 or 0x2e8, for the \fIpar96\fP modem 0x378, 0x278 or 0x3bc, for
+the \fIsbc\fP modems 0x220 and for the \fIwss\fP modems 0x530, 0x608, 0xe80 or 0xf40.
+
+The
+.B irq
+parameter sets the hardware IRQ number. Typical values for the \fIser12\fP modem are
+4 and 3, for the \fIpar96\fP modem 7 or 5, for the \fIsbc\fP modems are 7 or 5 and for
+the \fIwss\fP modems, any free IRQ from the set 2, 7, 9, 10, 11 will do. The driver
+automatically configures the WSS soundcard to the correct IRQ.
+
+The
+.B dma
+parameter sets the hardware DMA number. Typical values for the \fIsbc\fP modems are
+1 or 0 and for the \fIwss\fP modems, any free DMA from 0 to 3 (except 2) will do.
+The driver automatically configures the WSS soundcard to the correct DMA.
+The Baycom modems do not need DMA.
+
+The
+.B dma2
+parameter sets the second hardware DMA number. This is only needed for
+full duplex operation with the \fBsoundmodem\fP driver.
+
+The
+.B seriobase
+parameter optionally sets the address of a serial port, where
+the driver will output a PTT signal at the TxD and RTS pins, and a DCD
+signal at the DTR pin. As Baycom modems do have their own PTT pin, this
+parameter is not used by the Baycom modem driver.
+
+The
+.B pariobase
+parameter optionally sets the address of a LPT port where
+the driver will output a PTT signal on the DATA0 line and a DCD signal
+on the DATA1 line. As Baycom modems do have their own PTT pin, this
+parameter is not used by the Baycom modem driver.
+
+The
+.B midiiobase
+parameter optionally sets the address of a MPU401 compatible
+MIDI port, where the driver will output a PTT signal. Since the MIDI port is
+effectively an UART and therefore cannot output a DC signal, the output must
+be fed through a retriggerable monoflop with a period of about 15ms. See
+.I http://www.ife.ee.ethz.ch/~sailer/pcf/ptt_circ/ptt.html
+for a sample schematic diagram. As Baycom modems do have their own PTT pin,
+this parameter is not used by the Baycom modem driver.
+
+The
+.B txdelay
+sets the transmitter keyup delay time. Unlike \fIkissparms\fP, the unit is
+\fItens of ms\fP. This is the time the transmitter needs to switch its PA
+on and for its frequency synthesizer to settle. Typical values for a handheld
+transceiver are 200ms (i.e. 20), and for a good crystal driven transceiver
+20ms (i.e. 2).
+
+The
+.B txtail
+sets the time PTT is held after the last packet. Unlike \fIkissparms\fP, the unit
+is \fItens of ms\fP. Do not set this value to 0. Most modems need some extra
+time to actually clock the last bits out to the transmitter.
+
+The
+.B slottime
+parameter specifies how often the channel access algorithm is executed.
+Unlike \fIkissparms\fP, the unit is \fItens of ms\fP. Unless you have very
+specific requirements, set this to 100ms (i.e. 10).
+
+The
+.B ppersist
+sets how "eagerly" the station starts to transmit as soon as the channel
+gets free. The optimum value is 256 divided by the number of stations on the
+channel. (This should really be done automatically by the L2)
+
+.B full
+sets the modem to full duplex mode. Note that some modems do not actually support
+full duplex mode, in this case this parameter makes the modem start its transmission
+as soon as it gets packets from the upper layer, without waiting for the channel
+to become free. This is needed by some implementations of alternative channel
+access algorithms, e.g. \fIDAMA\fP.
+
+.B half
+sets the modem to half duplex mode.
+
+.SH CONSIDERATIONS OF CONFIGURING BAYCOM PORTS
+It is important to note that sethdlc merely tells the Linux kernel
+where it should expect to find the I/O port and IRQ lines of a
+particular serial port. It does
+.I not
+configure the hardware to use a
+particular I/O port. In order to do that, you will need to physically
+program the serial board, usually by setting some jumpers or by
+switching some DIP switches.
+
+This section will provide some pointers in helping you decide how you
+would like to configure your baycom ports.
+
+The "standard MS-DOS" port associations are given below:
+
+.nf
+.RS
+COM1, port 0x3f8, irq 4
+COM2, port 0x2f8, irq 3
+COM3, port 0x3e8, irq 4
+COM4, port 0x2e8, irq 3
+LPT1, port 0x378, irq 7
+LPT1 (on hercules graphics adapter), port 0x3bc, irq 7
+LPT1, port 0x278, irq 5
+.RE
+.fi
+
+.SH CONSIDERATIONS OF CONFIGURING SOUNDCARD RADIO MODEM PORTS
+Some cards need to be initialized before they act as a WSS or SoundBlaster
+compatible card. This driver does \fInot\fP do this. You can use the standard
+linux sound driver, if compiled as a module. Just load the sound driver
+(insmod sound) and remove it again (rmmod sound). The card should then be
+configured for either soundblaster or WSS compatibility. If this does not work
+for some reason, you'll have to write your own soundcard configuration
+utility. This is not as complicated as it sounds; it can be done from
+user space (but requiring root privileges) using \fIioperm\fP and/or \fIiopl\fP.
+
+It is important that the audio levels of your radio match those of the
+soundcard. To help achieve this, there are two utilities: \fIsmdiag\fP
+and \fIsmmixer\fP. See their respective manpage.
+
+The sound driver and the soundcard modem driver are mutually exclusive, i.e. they
+cannot both access the same soundcard at the same time. Even worse, the sound driver
+reserves the soundcard as soon as it gets loaded. The souncard modem driver however
+reserves the card only when the interface is started, i.e. during ifconfig sm[0-3] up.
+
+9600 baud may not currently work on SoundBlaster cards with DSP revision 4.x, i.e.
+SB16 and SB32 AWE. This is because they seem to not be fully backwards compatible.
+
+.SH CAUTION
+CAUTION: Using an invalid port can lock up your machine.
+
+.SH "SEE ALSO"
+.nf
+.BR smdiag "\ (8), " smmixer "\ (8), " kissparms "\ (8),"
+linux/drivers/net/hdlcdrv.c,
+linux/drivers/net/baycom.c,
+linux/drivers/net/soundmodem.c
+.fi
+
+.SH AUTHOR
+sethdlc was written by Thomas Sailer, HB9JNX/AE4WA (sailer@ife.ee.ethz.ch).
+Inspired by setserial.
diff --git a/hdlcutil/smdiag.8 b/hdlcutil/smdiag.8
new file mode 100644
index 0000000..276a1b7
--- /dev/null
+++ b/hdlcutil/smdiag.8
@@ -0,0 +1,78 @@
+.\" Copyright 1996 Thomas Sailer (sailer@ife.ee.ethz.ch)
+.\" May be distributed under the GNU General Public License
+.\" "
+.TH SMDIAG 8 "1 October 1996" "Smdiag 0.1" "Linux Programmer's Manual"
+.SH NAME
+smdiag \- Linux soundcard packet radio modem driver diagnostics utility
+.SH SYNOPSIS
+.B smdiag
+.B "[\-i device]"
+.B "[\-d display]"
+.B "[ \-ce ]"
+
+.SH DESCRIPTION
+.B smdiag
+may help to adjust the audio levels of the soundcard modem driver, as well
+as to control the quality of the radio link. It may either display an
+oscilloscope like view of the input signal, or display an eye diagram.
+The display may be gated with DCD, i.e. only updated if the modem detects
+a data carrier.
+
+.SH OPTIONS
+.B smdiag
+accepts the following options:
+
+.TP
+.B \-i
+The
+.I device
+argument specifies the soundcard modem device which should be configured or
+interrogated. It will usually have the following form:
+.I sm[0-3].
+.TP
+.B \-d
+sets the address of the X server to display the window.
+.TP
+.B \-h
+display an overview of the available command line parameters and exit.
+.TP
+.B \-c
+toggle the carrier gating of the display.
+.TP
+.B \-e
+display an eye diagram (overlay of the synchronized demodulator output)
+instead of an oscilloscope view of the input signal.
+
+.SH KEYS
+.TP
+.B C
+clears the window
+.TP
+.B D
+toggles the DCD gating.
+.TP
+.B E
+displays an eye diagram
+.TP
+.B I
+displays the input signal
+.TP
+.B Q
+quits
+.I smdiag
+
+.SH BUGS
+.B smdiag
+Reacts sluggishly to keypresses. The window size is fixed. For speed reasons,
+two square root operations per sample are not implemented in the AFSK 1200
+baud modes. The eye diagram for the AFSK 1200 baud mode is therefore
+distorted.
+
+.SH "SEE ALSO"
+.BR smmixer " (8), " sethdlc " (8),"
+linux/drivers/net/soundmodem.c
+
+.SH AUTHOR
+smdiag was written by Thomas Sailer (sailer@ife.ee.ethz.ch).
+
+
diff --git a/hdlcutil/smmixer.8 b/hdlcutil/smmixer.8
new file mode 100644
index 0000000..c6fc2bb
--- /dev/null
+++ b/hdlcutil/smmixer.8
@@ -0,0 +1,164 @@
+.\" Copyright 1996 Thomas Sailer (sailer@ife.ee.ethz.ch)
+.\" May be distributed under the GNU General Public License
+.\" "
+.TH SMMIXER 8 "1 October 1996" "Smmixer 0.1" "Linux Programmer's Manual"
+.SH NAME
+smmixer \- get/set Linux soundcard packet radio modem driver mixer
+.SH SYNOPSIS
+.B smmixer
+.B "[\-i device]"
+.BR "[ " params " ]"
+
+.SH DESCRIPTION
+.B smmixer
+displays and/or sets the input source and input and output levels of a
+soundcard modem port.
+
+.SH OPTIONS
+.B smmixer
+accepts the following option:
+
+.TP
+.B \-i
+The
+.I device
+argument specifies the soundcard modem device which should be configured or
+interrogated. It will usually have the following form:
+.I sm[0-3].
+
+.SH PARAMETERS
+The
+.B AD1848 (WSS)
+mixer accepts the following parameters:
+.TP
+.B ol=val
+sets the level of the left output to the specified value. Legal values are from
+-100..0dB.
+.TP
+.B or=val
+sets the level of the right output to the specified value. Legal values are from
+-100..0dB.
+.TP
+.B o=val
+sets the level of both outputs to the specified value. Legal values are from
+-100..0dB.
+.TP
+.B il=val
+sets the level of the left input to the specified value. Legal values are from
+0..43dB.
+.TP
+.B ir=val
+sets the level of the right input to the specified value. Legal values are from
+0..43dB.
+.TP
+.B i=val
+sets the level of both inputs to the specified value. Legal values are from
+0..43dB.
+.TP
+.B sl=val
+sets the source of the left input to the specified value. Legal values are
+.I line, aux1, mic
+or
+.I dac.
+.TP
+.B sr=val
+sets the source of the right input to the specified value. Legal values are
+.I line, aux1, mic
+or
+.I dac.
+.TP
+.B s=val
+sets the source of both inputs to the specified value. Legal values are
+.I line, aux1, mic
+or
+.I dac.
+
+.in \n[IN]u
+The
+.B CT1335 (SB2.x)
+mixer accepts the following parameter:
+.TP
+.B o=val
+sets the output level to the specified value. Legal values are from -46..0dB.
+
+.in \n[IN]u
+The
+.B CT1345 (SBPro)
+mixer accepts the following parameters:
+.TP
+.B ol=val
+sets the level of the left output to the specified value. Legal values are from
+-46..0dB.
+.TP
+.B or=val
+sets the level of the right output to the specified value. Legal values are from
+-46..0dB.
+.TP
+.B o=val
+sets the level of both outputs to the specified value. Legal values are from
+-46..0dB.
+.TP
+.B s=val
+sets the input source to the specified value. Legal values are
+.I mic, cd
+or
+.I line.
+
+.in \n[IN]u
+The
+.B CT1745 (SB16, SB32 AWE)
+mixer accepts the following parameters:
+.TP
+.B ol=val
+sets the level of the left output to the specified value. Legal values are from
+-62..18dB.
+.TP
+.B or=val
+sets the level of the right output to the specified value. Legal values are from
+-62..18dB.
+.TP
+.B o=val
+sets the level of both outputs to the specified value. Legal values are from
+-62..18dB.
+.TP
+.B il=val
+sets the level of the left input to the specified value. Legal values are from
+-62..18dB.
+.TP
+.B ir=val
+sets the level of the right input to the specified value. Legal values are from
+-62..18dB.
+.TP
+.B i=val
+sets the level of both inputs to the specified value. Legal values are from
+-62..18dB.
+.TP
+.B s=val
+enables the specified value as a source. Legal values are
+.I line, line.l, line.r, midi, midi.l, midi.r, cd, cd.l, cd.r
+or
+.I mic.
+
+.SH CONSIDERATIONS
+It is important that the audio levels of your radio match those of the
+soundcard. To help achieve this, use the
+.I smdiag
+utility.
+
+This utility can only be used after the interface is started up, i.e. after
+ifconfig sm? up.
+
+The sound driver and the soundcard modem driver are mutually exclusive, i.e. they
+cannot both access the same soundcard at the same time. Even worse, the sound driver
+reserves the soundcard as soon as it gets loaded. The souncard modem driver however
+reserves the card only when the interface is started, i.e. during ifconfig if up.
+
+9600 baud may not currently work on SoundBlaster cards with DSP revision 4.x, i.e.
+SB16 and SB32 AWE. This is because they seem to not be fully backwards compatible.
+
+.SH "SEE ALSO"
+.BR smdiag " (8), " sethdlc " (8),"
+linux/drivers/net/soundmodem.c
+
+.SH AUTHOR
+smmixer was written by Thomas Sailer (sailer@ife.ee.ethz.ch).
diff --git a/hdlcutil/soundmodem.9 b/hdlcutil/soundmodem.9
new file mode 100644
index 0000000..c65837c
--- /dev/null
+++ b/hdlcutil/soundmodem.9
@@ -0,0 +1,82 @@
+.\" Copyright 1996 Thomas Sailer (sailer@ife.ee.ethz.ch)
+.\" May be distributed under the GNU General Public License
+.\" "
+.TH SOUNDMODEM 9 "2 October 1996" "Linux 2.1.x" "Kernel Reference Guide"
+.SH NAME
+soundmodem \- amateur (AX.25) packet radio network driver for soundcards
+.SH SYNOPSIS
+
+.nf
+.B #include <linux/soundmodem.h>
+.B #include <linux/hdlcdrv.h>
+.fi
+
+.SH DESCRIPTION
+The driver currently supports both 1200 baud AFSK and 9600 baud FSK
+(G3RUH compatible) using a standard SoundBlaster compatible or
+WindowsSoundSystem compatible soundcard. The whole decoding is done
+in software, so you definitely do not want to use it on a 386SX class
+machine.
+
+.SH "KEYING THE TRANSMITTER"
+Soundcards do not have a DC coupled output that could serve as a
+PTT signal. So there are basically for possibilities for
+obtaining a PTT signal. Sample schematic diagrams can be found on
+\fIhttp://www.ife.ee.ethz.ch/~sailer/pcf/ptt_circ/ptt.html\fP.
+.SS "VOX circuitry"
+A simple VOX circuitry that detects output signals at the output of
+the soundcard can be used, especially as it can be built with a single
+transistor plus a few passive components and typical soundcards have
+strong output signals.
+.SS "Parallel Port"
+A parallel port line can also be used to signal PTT. If selected,
+the PTT signal is output on the DATA0 line and DCD is output on the
+DATA1 line.
+.SS "Serial Port"
+A standard serial port (8250, 16450, 16550) can also be used to output
+PTT. PTT is output on RTS and TxD, while DCD is output on DTR.
+.SS "MPU401 MIDI Port"
+The MIDI port is basically an asynchronous serial interface and
+thus cannot output a straight DC level, however it may be used if
+connected through a retriggerable monoflop with about 15ms pulse
+duration. Note that only newer SoundBlaster models have a genuine
+MPU401 MIDI port. The older SB MIDI port cannot be used.
+
+.SH "IOCTL CALLS"
+The \fBioctl\fP calls follow the implementation in the \fIhdlcdrv\fP.
+
+.TP
+.B SMCTL_GETMODEMTYPE
+returns the modem type (i.e. \fISBC1200\fP, \fISBC9600\fP, \fIWSS1200\fP
+or \fIWSS9600\fP)
+.TP
+.B SMCTL_SETMODEMTYPE
+sets the modem type. Only superuser can do this.
+.TP
+.B SMCTL_GETMIXER
+returns the mixer type and the contents of the specified
+mixer register.
+.TP
+.B SMCTL_SETMIXER
+sets the specified mixer register, if the specified
+mixer type matches the mixer type of the soundcard. Only
+superuser can do this.
+.TP
+.B SMCTL_DIAGNOSE
+returns the contents of the diagnose buffer, which is used by
+\fIsmdiag\fP to display the eye and oscilloscope diagrams.
+.TP
+.B SMCTL_GETDEBUG
+return some debugging values. Not always available.
+
+
+.SH "SEE ALSO"
+.BR baycom " (9), " soundmodem " (9)," smdiag " (8)," smmixer " (9),"
+linux/drivers/net/hdlcdrv.c,
+
+.SH AUTHOR
+soundmodem was written by Thomas Sailer, HB9JNX/AE4WA, (sailer@ife.ee.ethz.ch).
+
+
+
+
diff --git a/kiss/Makefile.am b/kiss/Makefile.am
index 7a130da..82db252 100644
--- a/kiss/Makefile.am
+++ b/kiss/Makefile.am
@@ -3,6 +3,9 @@ installconf:
sbin_PROGRAMS = kissattach kissnetd kissparms mkiss net2kiss
+LDADD= $(AX25_LIB)
+
man_MANS = kissattach.8 kissnetd.8 kissparms.8 mkiss.8 net2kiss.8
+EXTRA_DIST = $(man_MANS)
diff --git a/kiss/Makefile.in b/kiss/Makefile.in
index 883ef04..ba5b17c 100644
--- a/kiss/Makefile.in
+++ b/kiss/Makefile.in
@@ -58,15 +58,23 @@ NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
AWK = @AWK@
+AX25IO_LIB = @AX25IO_LIB@
+AX25_LIB = @AX25_LIB@
CC = @CC@
MAKEINFO = @MAKEINFO@
NCURSES_LIB = @NCURSES_LIB@
PACKAGE = @PACKAGE@
+UTIL_LIB = @UTIL_LIB@
VERSION = @VERSION@
+Z_LIB = @Z_LIB@
sbin_PROGRAMS = kissattach kissnetd kissparms mkiss net2kiss
+LDADD = $(AX25_LIB)
+
man_MANS = kissattach.8 kissnetd.8 kissparms.8 mkiss.8 net2kiss.8
+
+EXTRA_DIST = $(man_MANS)
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = ../config.h
CONFIG_CLEAN_FILES =
diff --git a/kiss/kissattach.8 b/kiss/kissattach.8
new file mode 100644
index 0000000..eabc2a1
--- /dev/null
+++ b/kiss/kissattach.8
@@ -0,0 +1,50 @@
+.TH KISSATTACH 8 "13 October 1996" Linux "Linux System Managers Manual"
+.SH NAME
+kissattach \- Attach a KISS interface
+.SH SYNOPSIS
+.B kissattach [-i inetaddr] [-l] [-m mtu] [-v] tty port
+.SH DESCRIPTION
+.LP
+Attach a KISS interface to what is normally a tty line connected to a TNC in
+KISS mode. This program will turn itself into a background process. To down
+an interface send its kissattach process a SIGKILL.
+.LP
+.B Kissattach
+takes many of the parameters for the port from the axports(5) file. If the
+speed parameter in the file is not equal to zero then it is used for the
+serial port speed, a zero value means that no speed is set. The paclen
+parameter is used for the device mtu unless overridden by a value on the
+command line.
+.LP
+The tty argument will typically be that of a serial port with a KISS TNC
+attached, although it could be a psuedo tty or a KISS port emulator such as
+an SCC card. The port arguments is the name of a port as given in the
+axports(5) file.
+.SH OPTIONS
+.TP 16
+.BI "\-i inetaddr"
+Set the internet address of the interface. This address may either be a
+dotted decimal address or a host name.
+.TP 16
+.BI \-l
+Log messages to the system log, the default is not to.
+.TP 16
+.BI "\-m mtu"
+Sets the mtu of the interface. If this value is not given then the value is
+taken from the paclen parameter in axports.
+.TP 16
+.BI \-v
+Display the version.
+.SH "SEE ALSO"
+.BR kill (1),
+.BR stty (1),
+.BR ax25 (4),
+.BR axparms (4),
+.BR axports (5),
+.BR ifconfig (8).
+.SH AUTHOR
+.nf
+Alan Cox GW4PTS <alan@cymru.net>
+.br
+Jonathan Naylor G4KLX <g4klx@g4klx.demon.co.uk>
+.fi
diff --git a/kiss/kissattach.c b/kiss/kissattach.c
index 149c2bd..0c80fe4 100644
--- a/kiss/kissattach.c
+++ b/kiss/kissattach.c
@@ -10,21 +10,29 @@
#include <netdb.h>
#include <syslog.h>
+#include <config.h>
+
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/socket.h>
#include <sys/ioctl.h>
#include <net/if.h>
+#ifdef HAVE_NETAX25_AX25_H
#include <netax25/ax25.h>
+#else
+#include <netax25/kernel_ax25.h>
+#endif
+#ifdef HAVE_NETROSE_ROSE_H
#include <netrose/rose.h>
+#else
+#include <netax25/kernel_rose.h>
+#endif
#include <netax25/daemon.h>
#include <netax25/axlib.h>
#include <netax25/ttyutils.h>
-#include <config.h>
-
#include "../pathnames.h"
static char *callsign;
diff --git a/kiss/kissnetd.8 b/kiss/kissnetd.8
new file mode 100644
index 0000000..d069ac9
--- /dev/null
+++ b/kiss/kissnetd.8
@@ -0,0 +1,26 @@
+.TH KISSNETD 8 "13 October 1996" Linux "Linux System Managers Manual"
+.SH NAME
+kissnetd \- Create a virtual network.
+.SH SYNOPSIS
+.B kissnetd [-f size] [-v] tty...
+.SH DESCRIPTION
+.LP
+.B Kissnetd
+allows the creation of a virtual network of AX.25 systems that use the KISS
+protocol. Each tty named on the command line is opened and any KISS frames
+received on tty is copied to the other ttys. This allows a number of AX.25
+systems to share the same packets.
+.SH OPTIONS
+.TP 10
+.BI "\-f size"
+This sets the maximum KISS frame size that the program will handle. The
+default is 512 bytes which will be adequate under most circumstances.
+.TP 10
+.BI \-v
+Enables verbose mode, tracing of data passed is sent to standard output.
+.SH "SEE ALSO"
+.BR kissattach (8),
+.BR kissparms (8),
+.BR mkiss (8).
+.SH AUTHOR
+Frederic Rible F1OAT <frible@teaser.fr>
diff --git a/kiss/kissparms.8 b/kiss/kissparms.8
new file mode 100644
index 0000000..ee004de
--- /dev/null
+++ b/kiss/kissparms.8
@@ -0,0 +1,70 @@
+.TH KISSPARMS 8 "15 October 1996" Linux "Linux System Managers Manual"
+.SH NAME
+kissparms \- Configure KISS TNCs.
+.SH SYNOPSIS
+.B kissparms -p <port> [-f y|n] [-h hw] [-l txtail] [-r pers] [-s slot] [-t txd] [-e feclevel] [-v] [-x]
+.SH DESCRIPTION
+.LP
+.B Kissparms
+is used to dynamically configure KISS TNCs that have been setup for AX.25
+use by
+.B kissattach.
+This program uses the packet interface to allow it to communicate with the
+KISS TNC without interrupting the AX.25 data stream. Therefore the KISS
+parameters may be set at any time during the operation of the AX.25 port.
+.LP
+A full description of the KISS protocol can be found in the ARRL 6th Computer
+Networking Conference papers pp 38-43. While use of the Tx Tail value is
+now deprecated, it has been included to satisfy the requirements of users of
+old TNC firmware.
+.LP
+Although this utility was originally designed for controlling KISS TNCs
+connected to a serial port, it is used by a number of other Linux packet
+radio devices such as the Z8530 SCC driver for controlling their parameters
+in exactly the same manner. Therefore
+.B kissparms
+functionality extends to more than KISS TNCs.
+.SH OPTIONS
+.TP 12
+.BI "\-p port"
+Sets the port that is being configured.
+.TP 12
+.BI "\-f y|n"
+This sets the TNC into either full duplex ``y'', or half duplex ``n'' mode.
+.TP 12
+.BI "\-h hardware"
+This is used to set hardware specific parameters.
+.TP 12
+.BI "\-e FEC error correction level"
+Sets the FEC error correction level in a DSP card based modem (KISS parameter
+8). Larger correction level means better noise resistance, but slower
+throughput on a good connection. This is an experimental feature found in a
+QPSK modem for the Motorola DSP56001 based DSP4 and EVM cards only.
+.TP 12
+.BI "\-l txtail"
+Sets the TX Tail time in milliseconds. Note that the command to the TNC only
+operates in steps of ten milliseconds, so only use values like 10, 20 etc.
+.TP 12
+.BI "\-r persist"
+Sets the persist value. This parameter is scaled to the range 0 to 255.
+.TP 12
+.BI "\-s slottime"
+Sets the slottime in milliseconds. Note that the command to the TNC only
+operates in steps of ten milliseconds, so only use values like 10, 20 etc.
+.TP 12
+.BI "\-t txdelay"
+Sets the TX Delay in milliseconds. Note that the command to the TNC only
+operates in steps of ten milliseconds, so only use values like 10, 20 etc.
+.TP 12
+.BI \-v
+Display the version.
+.TP 12
+.BI \-x
+Takes the TNC out of KISS mode back into ``normal'' mode. This command is
+manufacturer specific but works in many cases. This option overrides all
+options except the port number.
+.SH "SEE ALSO"
+.BR axports (5),
+.BR kissattach (8).
+.SH AUTHOR
+Jonathan Naylor G4KLX <g4klx@g4klx.demon.co.uk>
diff --git a/kiss/kissparms.c b/kiss/kissparms.c
index 0a1a101..d761f55 100644
--- a/kiss/kissparms.c
+++ b/kiss/kissparms.c
@@ -3,15 +3,23 @@
#include <unistd.h>
#include <string.h>
+#include <config.h>
+
#include <sys/socket.h>
#include <netinet/in.h>
#include <net/if.h>
#include <net/ethernet.h>
+#ifdef HAVE_NETAX25_AX25_H
#include <netax25/ax25.h>
-#include <netax25/axconfig.h>
-
-#include <config.h>
+#else
+#include <netax25/kernel_ax25.h>
+#endif
+#ifdef HAVE_NETROSE_ROSE_H
+#include <netrose/rose.h>
+#else
+#include <netax25/kernel_rose.h>
+#endif
#define PARAM_TXDELAY 1
#define PARAM_PERSIST 2
diff --git a/kiss/mkiss.8 b/kiss/mkiss.8
new file mode 100644
index 0000000..4c6c973
--- /dev/null
+++ b/kiss/mkiss.8
@@ -0,0 +1,66 @@
+.TH MKISS 8 "05 January 1997" Linux "Linux System Managers Manual"
+.SH NAME
+mkiss \- Attach a multi KISS interface
+.SH SYNOPSIS
+.B mkiss [-c] [-h] [-l] [-s speed] [-p] [-v] ttyinterface pty...
+.SH DESCRIPTION
+.LP
+.B Mkiss
+allows dual port TNCs or multiple TNCs sharing the same serial port to be
+used with the Linux AX.25 kernel software. The AX.25 softare has no support
+for dual port TNCs or multiple TNCs charing the same serial line. The
+different ports are addressed by encoding the port number in the control
+byte of every kiss frame.
+.B Mkiss
+watches a serial port, and routes kiss frames to/from the pseudo ttys. The
+other side of the pseudo ttys are then attached with
+.B kissattach
+as normal.
+.sp 1
+Statistics about the operation of
+.B mkiss
+may be obtained by sending the SIGUSR1 signal to the running program. On
+reception of such a signal
+.B mkiss
+will print a set of statistics to the system log if logging has been
+enabled.
+.sp 1
+Although mention is made of using pseudo ttys as the last arguments,
+these devices may be normal serial ports. However
+.B mkiss
+provides no way in which to set their speed, the speed must therefore be set
+by some other method.
+.SH OPTIONS
+.TP 10
+.BI \-c
+This enables a one-byte checksum on each incoming and outgoing KISS frame on
+the serial port. This checksum is used by G8BPQ KISS roms to maintain the
+integrity of KISS frames.
+.TP 10
+.BI \-h
+Enables hardware handshaking on the serial line to the TNC. The KISS
+specification states that no hardware flow control shall be used so the
+default is off. But some KISS implementations do use hardware flow control.
+.TP 10
+.BI \-l
+Enables system logging, the default is off.
+.TP 10
+.BI "\-s speed"
+Set the speed of the serial port.
+.TP 10
+.BI "\-p"
+Enables polling. Polled mode is used by G8BPQ KISS roms to prevent
+contention on systems where multiple TNCs share the same serial line.
+.TP 10
+.BI \-v
+Display the version.
+.SH "SEE ALSO"
+.BR kissattach (8),
+.BR ifconfig (8),
+.BR kill (1).
+.SH AUTHORS
+Tomi Manninen OH2BNS <tpmannin@cc.hut.fi>
+.br
+Jonathan Naylor G4KLX <g4klx@g4klx.demon.co.uk>
+.br
+Kevin Uhlir N0BEL <kevinu@flochart.com>
diff --git a/kiss/net2kiss.8 b/kiss/net2kiss.8
new file mode 100644
index 0000000..040f164
--- /dev/null
+++ b/kiss/net2kiss.8
@@ -0,0 +1,45 @@
+.TH NET2KISS 8 "15 October 1996" "" ""
+.SH NAME
+net2kiss \- convert a network AX.25 driver to a KISS stream on a pseudo-tty
+.SH SYNOPSIS
+.B "net2kiss [-sfzva] [-i ifname] ptyname"
+.br
+.SH DESCRIPTION
+.B net2kiss
+takes AX.25 packets from an AX.25 kernel network interface and converts them
+into a KISS data stream via a pseudo-tty.
+.SH PARAMETERS
+.TP
+.B ptyname
+specifies the path to the pseudo-tty.
+.SH OPTIONS
+.TP
+.B "\-i ifname"
+specifies the name of the kernel AX.25 network interface. The default
+is bc0.
+.TP
+.B \-s
+tells net2kiss to search by itself for a free pseudoterminal, open the
+master side and create a symlink named by -p to the slave side.
+.TP
+.B \-f
+can be used in conjunction with -s to force the creation of the symlink
+even if the target file does already exist.
+.TP
+.B \-v
+Verbose output. Displays error messages during operation and decoded
+packets to stdout.
+.TP
+.B \-z
+put the network interface into promiscious mode.
+.TP
+.B \-a
+receive every packet instead of only AX.25 from the kernel AX.25 network
+interface.
+.SH BUGS
+None known.
+.SH SEE ALSO
+.BR ifconfig (8),
+.BR kissattach (8).
+.SH AUTHORS
+Thomas M. Sailer, HB9JNX/AE4WA, <sailer@ife.ee.ethz.ch>
diff --git a/netrom/Makefile.am b/netrom/Makefile.am
index 03f0c0d..c5845b8 100644
--- a/netrom/Makefile.am
+++ b/netrom/Makefile.am
@@ -12,6 +12,8 @@ installconf:
sbin_PROGRAMS = netromd nodesave nrattach nrparms nrsdrv
+LDADD = $(AX25_LIB)
+
man_MANS = netrom.4 nrports.5 nrbroadcast.5 netromd.8 nodesave.8 \
nrattach.8 nrparms.8 nrsdrv.8
diff --git a/netrom/Makefile.in b/netrom/Makefile.in
index 80c3c9c..810c407 100644
--- a/netrom/Makefile.in
+++ b/netrom/Makefile.in
@@ -58,17 +58,23 @@ NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
AWK = @AWK@
+AX25IO_LIB = @AX25IO_LIB@
+AX25_LIB = @AX25_LIB@
CC = @CC@
MAKEINFO = @MAKEINFO@
NCURSES_LIB = @NCURSES_LIB@
PACKAGE = @PACKAGE@
+UTIL_LIB = @UTIL_LIB@
VERSION = @VERSION@
+Z_LIB = @Z_LIB@
etcfiles = nrbroadcast nrports
etcdir = $(sysconfdir)/ax25
sbin_PROGRAMS = netromd nodesave nrattach nrparms nrsdrv
+LDADD = $(AX25_LIB)
+
man_MANS = netrom.4 nrports.5 nrbroadcast.5 netromd.8 nodesave.8 nrattach.8 nrparms.8 nrsdrv.8
@@ -359,9 +365,9 @@ distdir: $(DISTFILES)
fi; \
done
netromd.o: netromd.c ../config.h ../pathnames.h netromd.h
-netromr.o: netromr.c ../pathnames.h netromd.h
-netromt.o: netromt.c ../pathnames.h netromd.h
-nodesave.o: nodesave.c
+netromr.o: netromr.c ../config.h ../pathnames.h netromd.h
+netromt.o: netromt.c ../config.h ../pathnames.h netromd.h
+nodesave.o: nodesave.c ../config.h
nrattach.o: nrattach.c ../config.h ../pathnames.h
nrparms.o: nrparms.c ../config.h
nrsdrv.o: nrsdrv.c ../config.h ../pathnames.h
diff --git a/netrom/netromd.c b/netrom/netromd.c
index fa80c9b..5fab52d 100644
--- a/netrom/netromd.c
+++ b/netrom/netromd.c
@@ -5,6 +5,8 @@
#include <syslog.h>
#include <signal.h>
+#include <config.h>
+
#include <sys/types.h>
#include <sys/ioctl.h>
#include <sys/time.h>
@@ -14,17 +16,27 @@
#include <net/if.h>
#include <net/ethernet.h>
+#ifdef HAVE_NETAX25_AX25_H
#include <netax25/ax25.h>
+#else
+#include <netax25/kernel_ax25.h>
+#endif
+#ifdef HAVE_NETROM_NETROM_H
#include <netrom/netrom.h>
+#else
+#include <netax25/kernel_netrom.h>
+#endif
+#ifdef HAVE_NETROSE_ROSE_H
#include <netrose/rose.h>
+#else
+#include <netax25/kernel_rose.h>
+#endif
#include <netax25/axlib.h>
#include <netax25/axconfig.h>
#include <netax25/daemon.h>
#include <netax25/nrconfig.h>
-#include <config.h>
-
#include "../pathnames.h"
#include "netromd.h"
diff --git a/netrom/netromr.c b/netrom/netromr.c
index eafd225..90e775a 100644
--- a/netrom/netromr.c
+++ b/netrom/netromr.c
@@ -4,6 +4,8 @@
#include <unistd.h>
#include <syslog.h>
+#include <config.h>
+
#include <sys/types.h>
#include <sys/ioctl.h>
@@ -12,9 +14,22 @@
#include <net/if.h>
#include <net/ethernet.h>
+#ifdef HAVE_NETAX25_AX25_H
#include <netax25/ax25.h>
+#else
+#include <netax25/kernel_ax25.h>
+#endif
+#ifdef HAVE_NETROM_NETROM_H
#include <netrom/netrom.h>
+#else
+#include <netax25/kernel_netrom.h>
+#endif
+#ifdef HAVE_NETROSE_ROSE_H
#include <netrose/rose.h>
+#else
+#include <netax25/kernel_rose.h>
+#endif
+
#include <netax25/axlib.h>
#include "../pathnames.h"
diff --git a/netrom/netromt.c b/netrom/netromt.c
index d22caf1..3b37d5f 100644
--- a/netrom/netromt.c
+++ b/netrom/netromt.c
@@ -5,13 +5,28 @@
#include <ctype.h>
#include <syslog.h>
+#include <config.h>
+
#include <sys/types.h>
#include <sys/ioctl.h>
#include <sys/socket.h>
+
+#ifdef HAVE_NETAX25_AX25_H
#include <netax25/ax25.h>
+#else
+#include <netax25/kernel_ax25.h>
+#endif
+#ifdef HAVE_NETROM_NETROM_H
#include <netrom/netrom.h>
+#else
+#include <netax25/kernel_netrom.h>
+#endif
+#ifdef HAVE_NETROSE_ROSE_H
#include <netrose/rose.h>
+#else
+#include <netax25/kernel_rose.h>
+#endif
#include <netax25/axlib.h>
#include <netax25/axconfig.h>
diff --git a/netrom/nodesave.c b/netrom/nodesave.c
index 3eab61b..a677422 100644
--- a/netrom/nodesave.c
+++ b/netrom/nodesave.c
@@ -2,11 +2,17 @@
#include <stdio.h>
#include <errno.h>
+#include <config.h>
+
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/socket.h>
+#ifdef HAVE_NETAX25_AX25_H
#include <netax25/ax25.h>
+#else
+#include <netax25/kernel_ax25.h>
+#endif
#include <netax25/axconfig.h>
diff --git a/netrom/nrattach.c b/netrom/nrattach.c
index aee0936..ecbbd56 100644
--- a/netrom/nrattach.c
+++ b/netrom/nrattach.c
@@ -8,17 +8,32 @@
#include <ctype.h>
#include <netdb.h>
+#include <config.h>
+
#include <sys/ioctl.h>
#include <sys/socket.h>
#include <net/if.h>
#include <net/if_arp.h>
+
+#ifdef HAVE_NETAX25_AX25_H
#include <netax25/ax25.h>
+#else
+#include <netax25/kernel_ax25.h>
+#endif
+#ifdef HAVE_NETROM_NETROM_H
+#include <netrom/netrom.h>
+#else
+#include <netax25/kernel_netrom.h>
+#endif
+#ifdef HAVE_NETROSE_ROSE_H
#include <netrose/rose.h>
-#include <netax25/axlib.h>
+#else
+#include <netax25/kernel_rose.h>
+#endif
-#include <config.h>
+#include <netax25/nrconfig.h>
#include "../pathnames.h"
diff --git a/netrom/nrparms.c b/netrom/nrparms.c
index 7e89ff9..bc5803b 100644
--- a/netrom/nrparms.c
+++ b/netrom/nrparms.c
@@ -4,20 +4,32 @@
#include <ctype.h>
#include <unistd.h>
+#include <config.h>
+
#include <sys/types.h>
#include <sys/ioctl.h>
#include <sys/socket.h>
+#ifdef HAVE_NETAX25_AX25_H
#include <netax25/ax25.h>
+#else
+#include <netax25/kernel_ax25.h>
+#endif
+#ifdef HAVE_NETROM_NETROM_H
#include <netrom/netrom.h>
+#else
+#include <netax25/kernel_netrom.h>
+#endif
+#ifdef HAVE_NETROSE_ROSE_H
#include <netrose/rose.h>
+#else
+#include <netax25/kernel_rose.h>
+#endif
#include <netax25/axlib.h>
#include <netax25/axconfig.h>
#include <netax25/nrconfig.h>
-#include <config.h>
-
char nodes_usage[] = "usage: nrparms -nodes nodecall +|- ident quality count port neighbour [digicall...]\n";
char routes_usage[] = "usage: nrparms -routes port nodecall [digicall...] +|- pathquality\n";
diff --git a/pathnames.h b/pathnames.h
new file mode 100644
index 0000000..62b8227
--- /dev/null
+++ b/pathnames.h
@@ -0,0 +1,28 @@
+
+#define CONF_AX25D_FILE "/etc/ax25/ax25d.conf"
+#define CONF_AXPORTS_FILE "/etc/ax25/axports"
+#define CONF_AXSPAWN_FILE "/etc/ax25/axspawn.conf"
+#define CONF_AXSPAWN_PROF_FILE "/etc/ax25/ax25.profile"
+#define CONF_NETROMD_FILE "/etc/ax25/nrbroadcast"
+#define CONF_NRPORTS_FILE "/etc/ax25/nrports"
+#define CONF_RIP98D_FILE "/etc/ax25/rip98d.conf"
+#define CONF_RSPORTS_FILE "/etc/ax25/rsports"
+#define CONF_RXECHO_FILE "/etc/ax25/rxecho.conf"
+#define CONF_TTYLINKD_FILE "/etc/ax25/ttylinkd.conf"
+
+#define DATA_MHEARD_FILE "/var/ax25/mheard/mheard.dat"
+
+#define LOCK_AXSPAWN_FILE "/var/lock/axspawn"
+#define LOCK_SERIAL_DIR "/var/lock"
+
+#define PROC_AX25_FILE "/proc/net/ax25"
+#define PROC_AX25_ROUTE_FILE "/proc/net/ax25_route"
+#define PROC_IP_ROUTE_FILE "/proc/net/route"
+#define PROC_NR_SYSCTL_DIR "/proc/sys/net/netrom"
+#define PROC_RS_NEIGH_FILE "/proc/net/rose_neigh"
+#define PROC_RS_NODES_FILE "/proc/net/rose_nodes"
+#define PROC_AX25_CALLS_FILE "/proc/net/ax25_calls"
+#define PROC_NR_NEIGH_FILE "/proc/net/nr_neigh"
+#define PROC_NR_NODES_FILE "/proc/net/nr_nodes"
+
+
diff --git a/rose/Makefile.am b/rose/Makefile.am
index 3cbb2c8..c806d95 100644
--- a/rose/Makefile.am
+++ b/rose/Makefile.am
@@ -11,9 +11,13 @@ installconf:
sbin_PROGRAMS = rsattach rsdwnlnk rsmemsiz rsparms rsuplnk
+LDADD = $(AX25_LIB)
+
+rsmemsiz_LDADD =
+
sbin_SCRIPTS = rsusers.sh
man_MANS = rose.4 rsports.5 rsattach.8 rsparms.8 rsdwnlnk.8 rsuplnk.8
-EXTRA_DIST = $(man_MANS) $(etcfiles)
+EXTRA_DIST = $(man_MANS) $(etcfiles) $(sbin_SCRIPTS)
diff --git a/rose/Makefile.in b/rose/Makefile.in
index 0ded273..8849f25 100644
--- a/rose/Makefile.in
+++ b/rose/Makefile.in
@@ -58,22 +58,30 @@ NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
AWK = @AWK@
+AX25IO_LIB = @AX25IO_LIB@
+AX25_LIB = @AX25_LIB@
CC = @CC@
MAKEINFO = @MAKEINFO@
NCURSES_LIB = @NCURSES_LIB@
PACKAGE = @PACKAGE@
+UTIL_LIB = @UTIL_LIB@
VERSION = @VERSION@
+Z_LIB = @Z_LIB@
etcfiles = rsports
etcdir = $(sysconfdir)/ax25
sbin_PROGRAMS = rsattach rsdwnlnk rsmemsiz rsparms rsuplnk
+LDADD = $(AX25_LIB)
+
+rsmemsiz_LDADD =
+
sbin_SCRIPTS = rsusers.sh
man_MANS = rose.4 rsports.5 rsattach.8 rsparms.8 rsdwnlnk.8 rsuplnk.8
-EXTRA_DIST = $(man_MANS) $(etcfiles)
+EXTRA_DIST = $(man_MANS) $(etcfiles) $(sbin_SCRIPTS)
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = ../config.h
CONFIG_CLEAN_FILES =
@@ -100,7 +108,6 @@ rsdwnlnk_DEPENDENCIES =
rsdwnlnk_LDFLAGS =
rsmemsiz_SOURCES = rsmemsiz.c
rsmemsiz_OBJECTS = rsmemsiz.o
-rsmemsiz_LDADD = $(LDADD)
rsmemsiz_DEPENDENCIES =
rsmemsiz_LDFLAGS =
rsparms_SOURCES = rsparms.c
diff --git a/rose/rsattach.c b/rose/rsattach.c
index 3d98858..b7323e1 100644
--- a/rose/rsattach.c
+++ b/rose/rsattach.c
@@ -8,6 +8,8 @@
#include <ctype.h>
#include <netdb.h>
+#include <config.h>
+
#include <sys/ioctl.h>
#include <sys/socket.h>
@@ -16,11 +18,24 @@
#include <net/if_arp.h>
/* #include <linux/sockios.h> */
+
+#ifdef HAVE_NETAX25_AX25_H
#include <netax25/ax25.h>
+#else
+#include <netax25/kernel_ax25.h>
+#endif
+#ifdef HAVE_NETROM_NETROM_H
+#include <netrom/netrom.h>
+#else
+#include <netax25/kernel_netrom.h>
+#endif
+#ifdef HAVE_NETROSE_ROSE_H
#include <netrose/rose.h>
-#include <netax25/axlib.h>
+#else
+#include <netax25/kernel_rose.h>
+#endif
-#include <config.h>
+#include <netax25/axlib.h>
#include "../pathnames.h"
diff --git a/rose/rsdwnlnk.c b/rose/rsdwnlnk.c
index 5729d99..d4e4348 100644
--- a/rose/rsdwnlnk.c
+++ b/rose/rsdwnlnk.c
@@ -5,18 +5,26 @@
#include <signal.h>
#include <syslog.h>
+#include <config.h>
+
#include <sys/time.h>
#include <sys/types.h>
#include <sys/socket.h>
+#ifdef HAVE_NETAX25_AX25_H
#include <netax25/ax25.h>
+#else
+#include <netax25/kernel_ax25.h>
+#endif
+#ifdef HAVE_NETROSE_ROSE_H
#include <netrose/rose.h>
+#else
+#include <netax25/kernel_rose.h>
+#endif
#include <netax25/axlib.h>
#include <netax25/axconfig.h>
-#include <config.h>
-
#define AX25_HBIT 0x80
void alarm_handler(int sig)
diff --git a/rose/rsparms.c b/rose/rsparms.c
index 86e0935..68e8481 100644
--- a/rose/rsparms.c
+++ b/rose/rsparms.c
@@ -4,19 +4,27 @@
#include <ctype.h>
#include <unistd.h>
+#include <config.h>
+
#include <sys/types.h>
#include <sys/ioctl.h>
#include <sys/socket.h>
+#ifdef HAVE_NETAX25_AX25_H
#include <netax25/ax25.h>
+#else
+#include <netax25/kernel_ax25.h>
+#endif
+#ifdef HAVE_NETROSE_ROSE_H
#include <netrose/rose.h>
+#else
+#include <netax25/kernel_rose.h>
+#endif
#include <netax25/axlib.h>
#include <netax25/axconfig.h>
#include <netax25/rsconfig.h>
-#include <config.h>
-
#include "../pathnames.h"
char nodes_usage[] = "usage: rsparms -node add|del nodeaddr[/mask] port neighbour [digis...]\n rsparms -node list\n";
diff --git a/rose/rsuplnk.c b/rose/rsuplnk.c
index a024e20..e9f5ecd 100644
--- a/rose/rsuplnk.c
+++ b/rose/rsuplnk.c
@@ -5,19 +5,27 @@
#include <signal.h>
#include <syslog.h>
+#include <config.h>
+
#include <sys/time.h>
#include <sys/types.h>
#include <sys/socket.h>
+#ifdef HAVE_NETAX25_AX25_H
#include <netax25/ax25.h>
+#else
+#include <netax25/kernel_ax25.h>
+#endif
+#ifdef HAVE_NETROSE_ROSE_H
#include <netrose/rose.h>
+#else
+#include <netax25/kernel_rose.h>
+#endif
#include <netax25/axlib.h>
#include <netax25/axconfig.h>
#include <netax25/rsconfig.h>
-#include <config.h>
-
void alarm_handler(int sig)
{
}
diff --git a/rose/rsusers.sh b/rose/rsusers.sh
new file mode 100755
index 0000000..09c2e97
--- /dev/null
+++ b/rose/rsusers.sh
@@ -0,0 +1,128 @@
+#! /bin/sh
+
+ALL=n
+
+if [ $# = 1 ]; then
+ ALL=y
+fi
+
+echo -en "Linux/ROSE 001. AX.25, NET/ROM and ROSE Users.\r"
+
+if [ -r /proc/net/ax25 ]; then
+ cat /proc/net/ax25 | awk '
+ BEGIN {
+ printf "Active AX.25 Sessions\r"
+ printf "Dest Source State\r"
+ n = 0
+ }
+ NR > 1 {
+ if ($4 == 0) {
+ state = "LISTENING"
+ } else if ($4 == 1) {
+ state = "CONNECTING"
+ } else if ($4 == 2) {
+ state = "DISCONNECTING"
+ } else if ($4 == 3) {
+ state = "CONNECTED"
+ } else {
+ state = "RECOVERY"
+ }
+ if ($4 != 0) {
+ printf "%-9s %-9s %s\r", $1, $2, state
+ n++
+ } else {
+ if (ALL == "y") {
+ printf "%-9s %-9s %s\r", $1, $2, state
+ n++
+ }
+ }
+ }
+ END {
+ if (n == 0) {
+ printf "None active\r"
+ }
+ }' ALL=$ALL
+
+ echo -en "\r"
+fi
+
+if [ -r /proc/net/nr ]; then
+ cat /proc/net/nr | awk '
+ BEGIN {
+ printf "Active NET/ROM Sessions\r"
+ printf "User Dest Source State\r"
+ n = 0
+ }
+ NR > 1 {
+ if ($7 == 0) {
+ state = "LISTENING"
+ } else if ($7 == 1) {
+ state = "CONNECTING"
+ } else if ($7 == 2) {
+ state = "DISCONNECTING"
+ } else if ($7 == 3) {
+ state = "CONNECTED"
+ } else {
+ state = "RECOVERY"
+ }
+ if ($7 != 0) {
+ printf "%-9s %-9s %-9s %s\r", $1, $2, $3, state
+ n++
+ } else {
+ if (ALL == "y") {
+ printf "%-9s %-9s %-9s %s\r", $1, $2, $3, state
+ n++
+ }
+ }
+ }
+ END {
+ if (n == 0) {
+ printf "None active\r"
+ }
+ }' ALL=$ALL
+
+ echo -en "\r"
+fi
+
+if [ -r /proc/net/rose ]; then
+ cat /proc/net/rose | awk '
+ BEGIN {
+ printf "Active ROSE Sessions\r"
+ printf "Dest Source State\r"
+ n = 0
+ }
+ NR > 1 {
+ if ($7 == 0) {
+ state = "LISTENING"
+ } else if ($7 == 1) {
+ state = "CONNECTING"
+ } else if ($7 == 2) {
+ state = "DISCONNECTING"
+ } else if ($7 == 3) {
+ state = "CONNECTED"
+ } else {
+ state = "RESETTING"
+ }
+ if ($7 != 0) {
+ printf "%-10s %-9s %-10s %-9s %s\r", $1, $2, $3, $4, state
+ n++
+ } else {
+ if (ALL == "y") {
+ printf "%-10s %-9s %-10s %-9s %s\r", $1, $2, $3, $4, state
+ n++
+ }
+ }
+ }
+ END {
+ if (n == 0) {
+ printf "None active\r"
+ }
+ }' ALL=$ALL
+
+ echo -en "\r"
+fi
+
+read
+
+exit 0
+
diff --git a/tcpip/Makefile.am b/tcpip/Makefile.am
index d047ac5..4fbc7e9 100644
--- a/tcpip/Makefile.am
+++ b/tcpip/Makefile.am
@@ -21,3 +21,5 @@ rip98d_SOURCES = \
rip98t.c \
rip98d.h
+rip98d_LDADD = $(AX25_LIB)
+
diff --git a/tcpip/Makefile.in b/tcpip/Makefile.in
index 90da959..84ce5b2 100644
--- a/tcpip/Makefile.in
+++ b/tcpip/Makefile.in
@@ -58,11 +58,15 @@ NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
AWK = @AWK@
+AX25IO_LIB = @AX25IO_LIB@
+AX25_LIB = @AX25_LIB@
CC = @CC@
MAKEINFO = @MAKEINFO@
NCURSES_LIB = @NCURSES_LIB@
PACKAGE = @PACKAGE@
+UTIL_LIB = @UTIL_LIB@
VERSION = @VERSION@
+Z_LIB = @Z_LIB@
etcfiles = rip98.conf ttylinkd.conf
etcdir = $(sysconfdir)/ax25
@@ -75,6 +79,8 @@ EXTRA_DIST = $(man_MANS) $(etcfiles)
rip98d_SOURCES = rip98d.c rip98r.c rip98t.c rip98d.h
+
+rip98d_LDADD = $(AX25_LIB)
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = ../config.h
CONFIG_CLEAN_FILES =
@@ -90,7 +96,6 @@ X_LIBS = @X_LIBS@
X_EXTRA_LIBS = @X_EXTRA_LIBS@
X_PRE_LIBS = @X_PRE_LIBS@
rip98d_OBJECTS = rip98d.o rip98r.o rip98t.o
-rip98d_LDADD = $(LDADD)
rip98d_DEPENDENCIES =
rip98d_LDFLAGS =
ttylinkd_SOURCES = ttylinkd.c
@@ -299,7 +304,7 @@ distdir: $(DISTFILES)
rip98d.o: rip98d.c ../config.h ../pathnames.h rip98d.h
rip98r.o: rip98r.c rip98d.h
rip98t.o: rip98t.c rip98d.h
-ttylinkd.o: ttylinkd.c ../pathnames.h
+ttylinkd.o: ttylinkd.c ../config.h ../pathnames.h
info-am:
info: info-am
diff --git a/tcpip/ttylinkd.c b/tcpip/ttylinkd.c
index e185c7e..aeef59a 100644
--- a/tcpip/ttylinkd.c
+++ b/tcpip/ttylinkd.c
@@ -35,6 +35,8 @@
#include <netinet/in.h>
#include <arpa/inet.h>
+#include <config.h>
+
#define osockaddr sockaddr
#include <protocols/talkd.h>
@@ -45,8 +47,16 @@
#include <sys/ioctl.h>
#include <sys/socket.h>
+#ifdef HAVE_NETAX25_AX25_H
#include <netax25/ax25.h>
+#else
+#include <netax25/kernel_ax25.h>
+#endif
+#ifdef HAVE_NETROSE_ROSE_H
#include <netrose/rose.h>
+#else
+#include <netax25/kernel_rose.h>
+#endif
#include "../pathnames.h"
diff --git a/user_call/Makefile.am b/user_call/Makefile.am
index 5aedbd3..0a176b9 100644
--- a/user_call/Makefile.am
+++ b/user_call/Makefile.am
@@ -6,5 +6,7 @@ sbin_PROGRAMS = ax25_call netrom_call rose_call
man_MANS = ax25_call.8 netrom_call.8 rose_call.8
-DATA_EXTRA = $(man_MANS)
+EXTRA_DIST = $(man_MANS)
+
+LDADD = $(AX25_LIB)
diff --git a/user_call/Makefile.in b/user_call/Makefile.in
index 232f104..cf78c65 100644
--- a/user_call/Makefile.in
+++ b/user_call/Makefile.in
@@ -58,17 +58,23 @@ NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
AWK = @AWK@
+AX25IO_LIB = @AX25IO_LIB@
+AX25_LIB = @AX25_LIB@
CC = @CC@
MAKEINFO = @MAKEINFO@
NCURSES_LIB = @NCURSES_LIB@
PACKAGE = @PACKAGE@
+UTIL_LIB = @UTIL_LIB@
VERSION = @VERSION@
+Z_LIB = @Z_LIB@
sbin_PROGRAMS = ax25_call netrom_call rose_call
man_MANS = ax25_call.8 netrom_call.8 rose_call.8
-DATA_EXTRA = $(man_MANS)
+EXTRA_DIST = $(man_MANS)
+
+LDADD = $(AX25_LIB)
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = ../config.h
CONFIG_CLEAN_FILES =
@@ -266,9 +272,9 @@ distdir: $(DISTFILES)
|| cp -p $$d/$$file $(distdir)/$$file || :; \
fi; \
done
-ax25_call.o: ax25_call.c
-netrom_call.o: netrom_call.c
-rose_call.o: rose_call.c
+ax25_call.o: ax25_call.c ../config.h
+netrom_call.o: netrom_call.c ../config.h
+rose_call.o: rose_call.c ../config.h
info-am:
info: info-am
diff --git a/user_call/ax25_call.8 b/user_call/ax25_call.8
new file mode 100644
index 0000000..ab93de0
--- /dev/null
+++ b/user_call/ax25_call.8
@@ -0,0 +1,24 @@
+.TH AX25_CALL 8 "11 December 1996" Linux "Linux Programmer's Manual"
+.SH NAME
+ax25_call \- make an AX.25 connection
+.SH SYNOPSIS
+.B ax25_call port local_call remote_call [digipeaters ...]
+.SH DESCRIPTION
+.LP
+.B ax25_call
+establishes an AX.25 connection in a manner suitable for calling from either
+the
+.B ax25d
+program directly, or from the
+.B node
+program as an external command. By setting the command line arguments
+appropriately it is possible to set the local callsign from which the call
+will be made. No translation of the end of lines is performed by this
+program.
+.SH FILES
+.br
+/etc/ax25/axports
+.SH "SEE ALSO"
+.BR ax25 (4).
+.SH AUTHOR
+Jonathan Naylor G4KLX <g4klx@g4klx.demon.co.uk>
diff --git a/user_call/ax25_call.c b/user_call/ax25_call.c
index aaa47ce..235feb9 100644
--- a/user_call/ax25_call.c
+++ b/user_call/ax25_call.c
@@ -4,12 +4,23 @@
#include <errno.h>
#include <signal.h>
+#include <config.h>
+
#include <sys/time.h>
#include <sys/types.h>
#include <sys/socket.h>
+#ifdef HAVE_NETAX25_AX25_H
#include <netax25/ax25.h>
+#else
+#include <netax25/kernel_ax25.h>
+#endif
+#ifdef HAVE_NETROSE_ROSE_H
#include <netrose/rose.h>
+#else
+#include <netax25/kernel_rose.h>
+#endif
+
#include <netax25/axlib.h>
#include <netax25/axconfig.h>
diff --git a/user_call/netrom_call.8 b/user_call/netrom_call.8
new file mode 100644
index 0000000..1a11989
--- /dev/null
+++ b/user_call/netrom_call.8
@@ -0,0 +1,28 @@
+.TH NETROM_CALL 8 "11 December 1996" Linux "Linux Programmer's Manual"
+.SH NAME
+netrom_call \- make a NET/ROM connection
+.SH SYNOPSIS
+.B netrom_call port local_call remote_addr
+.SH DESCRIPTION
+.LP
+.B netrom_call
+establishes a NET/ROM connection in a manner suitable for calling from either
+the
+.B ax25d
+program directly, or from the
+.B node
+program as an external command. By setting the command line arguments
+appropriately it is possible to set the local callsign from which the call
+will be made. No translation of the end of line conventions is performed by
+this program.
+.sp 1
+The remote_addr parameter may either be in the form of a single callsign or
+as a NET/ROM alias and callsign pair seperated by colon. For example
+NMCLUS:GB7BPQ.
+.SH FILES
+.br
+/etc/ax25/nrports
+.SH "SEE ALSO"
+.BR netrom (4).
+.SH AUTHOR
+Jonathan Naylor G4KLX <g4klx@g4klx.demon.co.uk>
diff --git a/user_call/netrom_call.c b/user_call/netrom_call.c
index 004b109..deb877e 100644
--- a/user_call/netrom_call.c
+++ b/user_call/netrom_call.c
@@ -4,13 +4,27 @@
#include <errno.h>
#include <signal.h>
+#include <config.h>
+
#include <sys/time.h>
#include <sys/types.h>
#include <sys/socket.h>
+#ifdef HAVE_NETAX25_AX25_H
#include <netax25/ax25.h>
+#else
+#include <netax25/kernel_ax25.h>
+#endif
+#ifdef HAVE_NETROM_NETROM_H
#include <netrom/netrom.h>
+#else
+#include <netax25/kernel_netrom.h>
+#endif
+#ifdef HAVE_NETROSE_ROSE_H
#include <netrose/rose.h>
+#else
+#include <netax25/kernel_rose.h>
+#endif
#include <netax25/axlib.h>
#include <netax25/axconfig.h>
diff --git a/user_call/rose_call.8 b/user_call/rose_call.8
new file mode 100644
index 0000000..9eb888e
--- /dev/null
+++ b/user_call/rose_call.8
@@ -0,0 +1,26 @@
+.TH ROSE_CALL 8 "11 December 1996" Linux "Linux Programmer's Manual"
+.SH NAME
+rose_call \- make a ROSE connection
+.SH SYNOPSIS
+.B rose_call port local_call remote_call remote_rose_addr
+.SH DESCRIPTION
+.LP
+.B rose_call
+establishes a ROSE connection in a manner suitable for calling from either
+the
+.B ax25d
+program directly, or from the
+.B node
+program as an external command. By setting the command line arguments
+appropriately it is possible to set the local callsign from which the call
+will be made. No translation of the end of line conventions is performed by
+this program.
+.sp 1
+The remote_rose_addr parameter must be in the form of a ten digit ROSE address.
+.SH FILES
+.br
+/etc/ax25/rsports
+.SH "SEE ALSO"
+.BR rose (4).
+.SH AUTHOR
+Jonathan Naylor G4KLX <g4klx@g4klx.demon.co.uk>
diff --git a/user_call/rose_call.c b/user_call/rose_call.c
index 606284d..10e235b 100644
--- a/user_call/rose_call.c
+++ b/user_call/rose_call.c
@@ -4,12 +4,23 @@
#include <errno.h>
#include <signal.h>
+#include <config.h>
+
#include <sys/time.h>
#include <sys/types.h>
#include <sys/socket.h>
+#ifdef HAVE_NETAX25_AX25_H
#include <netax25/ax25.h>
+#else
+#include <netax25/kernel_ax25.h>
+#endif
+#ifdef HAVE_NETROSE_ROSE_H
#include <netrose/rose.h>
+#else
+#include <netax25/kernel_rose.h>
+#endif
+
#include <netax25/axlib.h>
#include <netax25/axconfig.h>
#include <netax25/rsconfig.h>