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