1/****************************************************************************
2 ****************************************************************************
3 ***
4 ***   This header was automatically generated from a Linux kernel header
5 ***   of the same name, to make information necessary for userspace to
6 ***   call into the kernel available to libc.  It contains only constants,
7 ***   structures, and macros generated from the original header, and thus,
8 ***   contains no copyrightable information.
9 ***
10 ***   To edit the content of this header, modify the corresponding
11 ***   source file (e.g. under external/kernel-headers/original/) then
12 ***   run bionic/libc/kernel/tools/update_all.py
13 ***
14 ***   Any manual change here will be lost the next time this script will
15 ***   be run. You've been warned!
16 ***
17 ****************************************************************************
18 ****************************************************************************/
19#ifndef _UAPI_SCC_H
20#define _UAPI_SCC_H
21#define PA0HZP 0x00
22#define EAGLE 0x01
23/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
24#define PC100 0x02
25#define PRIMUS 0x04
26#define DRSI 0x08
27#define BAYCOM 0x10
28/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
29enum SCC_ioctl_cmds {
30  SIOCSCCRESERVED = SIOCDEVPRIVATE,
31  SIOCSCCCFG,
32  SIOCSCCINI,
33/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
34  SIOCSCCCHANINI,
35  SIOCSCCSMEM,
36  SIOCSCCGKISS,
37  SIOCSCCSKISS,
38/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
39  SIOCSCCGSTAT,
40  SIOCSCCCAL
41};
42enum L1_params {
43/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
44  PARAM_DATA,
45  PARAM_TXDELAY,
46  PARAM_PERSIST,
47  PARAM_SLOTTIME,
48/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
49  PARAM_TXTAIL,
50  PARAM_FULLDUP,
51  PARAM_SOFTDCD,
52  PARAM_MUTE,
53/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
54  PARAM_DTR,
55  PARAM_RTS,
56  PARAM_SPEED,
57  PARAM_ENDDELAY,
58/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
59  PARAM_GROUP,
60  PARAM_IDLE,
61  PARAM_MIN,
62  PARAM_MAXKEY,
63/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
64  PARAM_WAIT,
65  PARAM_MAXDEFER,
66  PARAM_TX,
67  PARAM_HWEVENT = 31,
68/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
69  PARAM_RETURN = 255
70};
71enum FULLDUP_modes {
72  KISS_DUPLEX_HALF,
73/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
74  KISS_DUPLEX_FULL,
75  KISS_DUPLEX_LINK,
76  KISS_DUPLEX_OPTIMA
77};
78/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
79#define TIMER_OFF 65535U
80#define NO_SUCH_PARAM 65534U
81enum HWEVENT_opts {
82  HWEV_DCD_ON,
83/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
84  HWEV_DCD_OFF,
85  HWEV_ALL_SENT
86};
87#define RXGROUP 0100
88/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
89#define TXGROUP 0200
90enum CLOCK_sources {
91  CLK_DPLL,
92  CLK_EXTERNAL,
93/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
94  CLK_DIVIDER,
95  CLK_BRG
96};
97enum TX_state {
98/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
99  TXS_IDLE,
100  TXS_BUSY,
101  TXS_ACTIVE,
102  TXS_NEWFRAME,
103/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
104  TXS_IDLE2,
105  TXS_WAIT,
106  TXS_TIMEOUT
107};
108/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
109typedef unsigned long io_port;
110struct scc_stat {
111  long rxints;
112  long txints;
113/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
114  long exints;
115  long spints;
116  long txframes;
117  long rxframes;
118/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
119  long rxerrs;
120  long txerrs;
121  unsigned int nospace;
122  unsigned int rx_over;
123/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
124  unsigned int tx_under;
125  unsigned int tx_state;
126  int tx_queued;
127  unsigned int maxqueue;
128/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
129  unsigned int bufsize;
130};
131struct scc_modem {
132  long speed;
133/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
134  char clocksrc;
135  char nrz;
136};
137struct scc_kiss_cmd {
138/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
139  int command;
140  unsigned param;
141};
142struct scc_hw_config {
143/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
144  io_port data_a;
145  io_port ctrl_a;
146  io_port data_b;
147  io_port ctrl_b;
148/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
149  io_port vector_latch;
150  io_port special;
151  int irq;
152  long clock;
153/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
154  char option;
155  char brand;
156  char escc;
157};
158/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
159struct scc_mem_config {
160  unsigned int dummy;
161  unsigned int bufsize;
162};
163/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
164struct scc_calibrate {
165  unsigned int time;
166  unsigned char pattern;
167};
168/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
169#endif
170