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_SCC_H 8 #define _UAPI_SCC_H 9 #include <linux/sockios.h> 10 #define PA0HZP 0x00 11 #define EAGLE 0x01 12 #define PC100 0x02 13 #define PRIMUS 0x04 14 #define DRSI 0x08 15 #define BAYCOM 0x10 16 enum SCC_ioctl_cmds { 17 SIOCSCCRESERVED = SIOCDEVPRIVATE, 18 SIOCSCCCFG, 19 SIOCSCCINI, 20 SIOCSCCCHANINI, 21 SIOCSCCSMEM, 22 SIOCSCCGKISS, 23 SIOCSCCSKISS, 24 SIOCSCCGSTAT, 25 SIOCSCCCAL 26 }; 27 enum L1_params { 28 PARAM_DATA, 29 PARAM_TXDELAY, 30 PARAM_PERSIST, 31 PARAM_SLOTTIME, 32 PARAM_TXTAIL, 33 PARAM_FULLDUP, 34 PARAM_SOFTDCD, 35 PARAM_MUTE, 36 PARAM_DTR, 37 PARAM_RTS, 38 PARAM_SPEED, 39 PARAM_ENDDELAY, 40 PARAM_GROUP, 41 PARAM_IDLE, 42 PARAM_MIN, 43 PARAM_MAXKEY, 44 PARAM_WAIT, 45 PARAM_MAXDEFER, 46 PARAM_TX, 47 PARAM_HWEVENT = 31, 48 PARAM_RETURN = 255 49 }; 50 enum FULLDUP_modes { 51 KISS_DUPLEX_HALF, 52 KISS_DUPLEX_FULL, 53 KISS_DUPLEX_LINK, 54 KISS_DUPLEX_OPTIMA 55 }; 56 #define TIMER_OFF 65535U 57 #define NO_SUCH_PARAM 65534U 58 enum HWEVENT_opts { 59 HWEV_DCD_ON, 60 HWEV_DCD_OFF, 61 HWEV_ALL_SENT 62 }; 63 #define RXGROUP 0100 64 #define TXGROUP 0200 65 enum CLOCK_sources { 66 CLK_DPLL, 67 CLK_EXTERNAL, 68 CLK_DIVIDER, 69 CLK_BRG 70 }; 71 enum TX_state { 72 TXS_IDLE, 73 TXS_BUSY, 74 TXS_ACTIVE, 75 TXS_NEWFRAME, 76 TXS_IDLE2, 77 TXS_WAIT, 78 TXS_TIMEOUT 79 }; 80 typedef unsigned long io_port; 81 struct scc_stat { 82 long rxints; 83 long txints; 84 long exints; 85 long spints; 86 long txframes; 87 long rxframes; 88 long rxerrs; 89 long txerrs; 90 unsigned int nospace; 91 unsigned int rx_over; 92 unsigned int tx_under; 93 unsigned int tx_state; 94 int tx_queued; 95 unsigned int maxqueue; 96 unsigned int bufsize; 97 }; 98 struct scc_modem { 99 long speed; 100 char clocksrc; 101 char nrz; 102 }; 103 struct scc_kiss_cmd { 104 int command; 105 unsigned param; 106 }; 107 struct scc_hw_config { 108 io_port data_a; 109 io_port ctrl_a; 110 io_port data_b; 111 io_port ctrl_b; 112 io_port vector_latch; 113 io_port special; 114 int irq; 115 long clock; 116 char option; 117 char brand; 118 char escc; 119 }; 120 struct scc_mem_config { 121 unsigned int dummy; 122 unsigned int bufsize; 123 }; 124 struct scc_calibrate { 125 unsigned int time; 126 unsigned char pattern; 127 }; 128 #endif 129