Submitted By: Jeremy Utley <jeremy@linuxfromscratch.org>
Date: 2004-09-25
Initial package Version: 0.0.8
Upstream Status: Not Submitted (Hack)
Origin: Ported from Debian ax25-utils-0.0.8-5 Diff
Description: This unmaintained package has a problem compiling on a system
based from the linux-libc-headers, since the soundmodem driver and it's
associated header file has been removed from kernel 2.6.  This patch places the
soundmodem.h header file into the source package itself, allowing proper
compilation.  This is a hack solution, the better solution would be to remove
any references to the header from the source.

diff -Naur ax25-tools-0.0.8/hdlcutil/hdrvcomm.h ax25-tools-0.0.8-new/hdlcutil/hdrvcomm.h
--- ax25-tools-0.0.8/hdlcutil/hdrvcomm.h	2001-04-10 02:10:48.000000000 +0000
+++ ax25-tools-0.0.8-new/hdlcutil/hdrvcomm.h	2004-09-26 04:46:53.390747547 +0000
@@ -42,7 +42,7 @@
 
 #ifdef HDRVC_KERNEL
 #include <linux/hdlcdrv.h>
-#include <linux/soundmodem.h>
+#include "soundmodem.h"
 #include <linux/baycom.h>
 #endif /* HDRVC_KERNEL */
 
diff -Naur ax25-tools-0.0.8/hdlcutil/soundmodem.h ax25-tools-0.0.8-new/hdlcutil/soundmodem.h
--- ax25-tools-0.0.8/hdlcutil/soundmodem.h	1970-01-01 00:00:00.000000000 +0000
+++ ax25-tools-0.0.8-new/hdlcutil/soundmodem.h	2004-09-26 04:46:53.392747063 +0000
@@ -0,0 +1,90 @@
+/*
+ * The Linux soundcard driver for 1200 baud and 9600 baud packet radio
+ * (C) 1996-1998 by Thomas Sailer, HB9JNX/AE4WA
+ */
+
+#ifndef _SOUNDMODEM_H
+#define _SOUNDMODEM_H
+
+/* -------------------------------------------------------------------- */
+/*
+ * structs for the IOCTL commands
+ */
+
+struct sm_debug_data {
+	unsigned int int_rate;
+	unsigned int mod_cycles;
+	unsigned int demod_cycles;
+	unsigned int dma_residue;
+};
+
+struct sm_diag_data {
+	unsigned int mode;
+	unsigned int flags;
+	unsigned int samplesperbit;
+	unsigned int datalen;
+	short *data;
+};
+
+struct sm_mixer_data {
+	unsigned int mixer_type;
+	unsigned int sample_rate;
+	unsigned int bit_rate;
+	unsigned int reg;
+	unsigned int data;
+};
+
+struct sm_config {
+	int hardware;
+	int mode;
+};
+
+struct sm_ioctl {
+	int cmd;
+	union {
+		struct sm_config cfg;
+		struct sm_diag_data diag;	
+		struct sm_mixer_data mix;
+		struct sm_debug_data dbg;
+	} data;
+};
+
+/* -------------------------------------------------------------------- */
+
+/*
+ * diagnose modes
+ */
+#define SM_DIAGMODE_OFF            0
+#define SM_DIAGMODE_INPUT          1
+#define SM_DIAGMODE_DEMOD          2
+#define SM_DIAGMODE_CONSTELLATION  3
+
+/*
+ * diagnose flags
+ */
+#define SM_DIAGFLAG_DCDGATE    (1<<0)
+#define SM_DIAGFLAG_VALID      (1<<1)
+
+/*
+ * mixer types
+ */
+#define SM_MIXER_INVALID       0
+#define SM_MIXER_AD1848        0x10
+#define SM_MIXER_CRYSTAL       0x11
+#define SM_MIXER_CT1335        0x20
+#define SM_MIXER_CT1345        0x21
+#define SM_MIXER_CT1745        0x22
+
+/*
+ * ioctl values
+ */
+#define SMCTL_DIAGNOSE         0x82
+#define SMCTL_GETMIXER         0x83
+#define SMCTL_SETMIXER         0x84
+#define SMCTL_GETDEBUG         0x85
+
+/* -------------------------------------------------------------------- */
+
+#endif /* _SOUNDMODEM_H */
+
+/* --------------------------------------------------------------------- */
