1 /* 2 * This header was generated from the Linux kernel headers by update_headers.py, 3 * to provide necessary information from kernel to userspace, such as constants, 4 * structures, and macros, and thus, contains no copyrightable information. 5 */ 6 #ifndef _UAPI_HDLCDRV_H 7 #define _UAPI_HDLCDRV_H 8 struct hdlcdrv_params { 9 int iobase; 10 int irq; 11 int dma; 12 int dma2; 13 int seriobase; 14 int pariobase; 15 int midiiobase; 16 }; 17 struct hdlcdrv_channel_params { 18 int tx_delay; 19 int tx_tail; 20 int slottime; 21 int ppersist; 22 int fulldup; 23 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