1 /*
2  * This file is auto-generated. Modifications will be lost.
3  *
4  * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
5  * for more information.
6  */
7 #ifndef _UAPI_HDLCDRV_H
8 #define _UAPI_HDLCDRV_H
9 struct hdlcdrv_params {
10   int iobase;
11   int irq;
12   int dma;
13   int dma2;
14   int seriobase;
15   int pariobase;
16   int midiiobase;
17 };
18 struct hdlcdrv_channel_params {
19   int tx_delay;
20   int tx_tail;
21   int slottime;
22   int ppersist;
23   int fulldup;
24 };
25 struct hdlcdrv_old_channel_state {
26   int ptt;
27   int dcd;
28   int ptt_keyed;
29 };
30 struct hdlcdrv_channel_state {
31   int ptt;
32   int dcd;
33   int ptt_keyed;
34   unsigned long tx_packets;
35   unsigned long tx_errors;
36   unsigned long rx_packets;
37   unsigned long rx_errors;
38 };
39 struct hdlcdrv_ioctl {
40   int cmd;
41   union {
42     struct hdlcdrv_params mp;
43     struct hdlcdrv_channel_params cp;
44     struct hdlcdrv_channel_state cs;
45     struct hdlcdrv_old_channel_state ocs;
46     unsigned int calibrate;
47     unsigned char bits;
48     char modename[128];
49     char drivername[32];
50   } data;
51 };
52 #define HDLCDRVCTL_GETMODEMPAR 0
53 #define HDLCDRVCTL_SETMODEMPAR 1
54 #define HDLCDRVCTL_MODEMPARMASK 2
55 #define HDLCDRVCTL_GETCHANNELPAR 10
56 #define HDLCDRVCTL_SETCHANNELPAR 11
57 #define HDLCDRVCTL_OLDGETSTAT 20
58 #define HDLCDRVCTL_CALIBRATE 21
59 #define HDLCDRVCTL_GETSTAT 22
60 #define HDLCDRVCTL_GETSAMPLES 30
61 #define HDLCDRVCTL_GETBITS 31
62 #define HDLCDRVCTL_GETMODE 40
63 #define HDLCDRVCTL_SETMODE 41
64 #define HDLCDRVCTL_MODELIST 42
65 #define HDLCDRVCTL_DRIVERNAME 43
66 #define HDLCDRV_PARMASK_IOBASE (1 << 0)
67 #define HDLCDRV_PARMASK_IRQ (1 << 1)
68 #define HDLCDRV_PARMASK_DMA (1 << 2)
69 #define HDLCDRV_PARMASK_DMA2 (1 << 3)
70 #define HDLCDRV_PARMASK_SERIOBASE (1 << 4)
71 #define HDLCDRV_PARMASK_PARIOBASE (1 << 5)
72 #define HDLCDRV_PARMASK_MIDIIOBASE (1 << 6)
73 #endif
74