1 /*
2 * The Linux soundcard driver for 1200 baud and 9600 baud packet radio
3 * (C) 1996-1998 by Thomas Sailer, HB9JNX/AE4WA
4 */
5
6 #ifndef _SOUNDMODEM_H
7 #define _SOUNDMODEM_H
8
9 /* -------------------------------------------------------------------- */
10 /*
11 * structs for the IOCTL commands
12 */
13
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;
19 };
20
21 struct sm_diag_data {
22 unsigned int mode;
23 unsigned int flags;
24 unsigned int samplesperbit;
25 unsigned int datalen;
26 short *data;
27 };
28
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;
35 };
36
37 struct sm_config {
38 int hardware;
39 int mode;
40 };
41
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;
50 };
51
52 /* -------------------------------------------------------------------- */
53
54 /*
55 * diagnose modes
56 */
57 #define SM_DIAGMODE_OFF 0
58 #define SM_DIAGMODE_INPUT 1
59 #define SM_DIAGMODE_DEMOD 2
60 #define SM_DIAGMODE_CONSTELLATION 3
61
62 /*
63 * diagnose flags
64 */
65 #define SM_DIAGFLAG_DCDGATE (1<<0)
66 #define SM_DIAGFLAG_VALID (1<<1)
67
68 /*
69 * mixer types
70 */
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
77
78 /*
79 * ioctl values
80 */
81 #define SMCTL_DIAGNOSE 0x82
82 #define SMCTL_GETMIXER 0x83
83 #define SMCTL_SETMIXER 0x84
84 #define SMCTL_GETDEBUG 0x85
85
86 /* -------------------------------------------------------------------- */
87
88 #endif /* _SOUNDMODEM_H */
89
90 /* --------------------------------------------------------------------- */
91
This page was automatically generated by the
LXR engine.
Visit the LXR main site for more
information.