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