More Makefile cleanups, otherwise mainly noticeable are the netfilter fix
[davej-history.git] / include / linux / soundmodem.h
blob10d0799d6e1ca48a4fc797d1acb68d7abd94dcac
1 /*
2 * The Linux soundcard driver for 1200 baud and 9600 baud packet radio
3 * (C) 1996-1998 by Thomas Sailer, HB9JNX/AE4WA
4 */
6 #ifndef _SOUNDMODEM_H
7 #define _SOUNDMODEM_H
9 /* -------------------------------------------------------------------- */
11 * structs for the IOCTL commands
14 struct sm_debug_data {
15 unsigned int int_rate;
16 unsigned int mod_cycles;
17 unsigned int demod_cycles;
18 unsigned int dma_residue;
21 struct sm_diag_data {
22 unsigned int mode;
23 unsigned int flags;
24 unsigned int samplesperbit;
25 unsigned int datalen;
26 short *data;
29 struct sm_mixer_data {
30 unsigned int mixer_type;
31 unsigned int sample_rate;
32 unsigned int bit_rate;
33 unsigned int reg;
34 unsigned int data;
37 struct sm_config {
38 int hardware;
39 int mode;
42 struct sm_ioctl {
43 int cmd;
44 union {
45 struct sm_config cfg;
46 struct sm_diag_data diag;
47 struct sm_mixer_data mix;
48 struct sm_debug_data dbg;
49 } data;
52 /* -------------------------------------------------------------------- */
55 * diagnose modes
57 #define SM_DIAGMODE_OFF 0
58 #define SM_DIAGMODE_INPUT 1
59 #define SM_DIAGMODE_DEMOD 2
60 #define SM_DIAGMODE_CONSTELLATION 3
63 * diagnose flags
65 #define SM_DIAGFLAG_DCDGATE (1<<0)
66 #define SM_DIAGFLAG_VALID (1<<1)
69 * mixer types
71 #define SM_MIXER_INVALID 0
72 #define SM_MIXER_AD1848 0x10
73 #define SM_MIXER_CRYSTAL 0x11
74 #define SM_MIXER_CT1335 0x20
75 #define SM_MIXER_CT1345 0x21
76 #define SM_MIXER_CT1745 0x22
79 * ioctl values
81 #define SMCTL_DIAGNOSE 0x82
82 #define SMCTL_GETMIXER 0x83
83 #define SMCTL_SETMIXER 0x84
84 #define SMCTL_GETDEBUG 0x85
86 /* -------------------------------------------------------------------- */
88 #endif /* _SOUNDMODEM_H */
90 /* --------------------------------------------------------------------- */