summaryrefslogtreecommitdiffstats
path: root/libc/kernel/common/linux/atmdev.h
blob: 27baeb01fad39927cbb52e4b83f4098ac2f264ed (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
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
/****************************************************************************
 ****************************************************************************
 ***
 ***   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.
 ***
 ****************************************************************************
 ****************************************************************************/
#ifndef LINUX_ATMDEV_H
#define LINUX_ATMDEV_H

#include <linux/atmapi.h>
#include <linux/atm.h>
#include <linux/atmioc.h>

#define ESI_LEN 6

#define ATM_OC3_PCR (155520000/270*260/8/53)

#define ATM_25_PCR ((25600000/8-8000)/54)

#define ATM_OC12_PCR (622080000/1080*1040/8/53)

#define ATM_DS3_PCR (8000*12)

#define __AAL_STAT_ITEMS   __HANDLE_ITEM(tx);     __HANDLE_ITEM(tx_err);     __HANDLE_ITEM(rx);     __HANDLE_ITEM(rx_err);     __HANDLE_ITEM(rx_drop);  

struct atm_aal_stats {
#define __HANDLE_ITEM(i) int i
 __AAL_STAT_ITEMS
#undef __HANDLE_ITEM
};

struct atm_dev_stats {
 struct atm_aal_stats aal0;
 struct atm_aal_stats aal34;
 struct atm_aal_stats aal5;
} __ATM_API_ALIGN;

#define ATM_GETLINKRATE _IOW('a',ATMIOC_ITF+1,struct atmif_sioc)

#define ATM_GETNAMES _IOW('a',ATMIOC_ITF+3,struct atm_iobuf)

#define ATM_GETTYPE _IOW('a',ATMIOC_ITF+4,struct atmif_sioc)

#define ATM_GETESI _IOW('a',ATMIOC_ITF+5,struct atmif_sioc)

#define ATM_GETADDR _IOW('a',ATMIOC_ITF+6,struct atmif_sioc)

#define ATM_RSTADDR _IOW('a',ATMIOC_ITF+7,struct atmif_sioc)

#define ATM_ADDADDR _IOW('a',ATMIOC_ITF+8,struct atmif_sioc)

#define ATM_DELADDR _IOW('a',ATMIOC_ITF+9,struct atmif_sioc)

#define ATM_GETCIRANGE _IOW('a',ATMIOC_ITF+10,struct atmif_sioc)

#define ATM_SETCIRANGE _IOW('a',ATMIOC_ITF+11,struct atmif_sioc)

#define ATM_SETESI _IOW('a',ATMIOC_ITF+12,struct atmif_sioc)

#define ATM_SETESIF _IOW('a',ATMIOC_ITF+13,struct atmif_sioc)

#define ATM_ADDLECSADDR _IOW('a', ATMIOC_ITF+14, struct atmif_sioc)

#define ATM_DELLECSADDR _IOW('a', ATMIOC_ITF+15, struct atmif_sioc)

#define ATM_GETLECSADDR _IOW('a', ATMIOC_ITF+16, struct atmif_sioc)

#define ATM_GETSTAT _IOW('a',ATMIOC_SARCOM+0,struct atmif_sioc)

#define ATM_GETSTATZ _IOW('a',ATMIOC_SARCOM+1,struct atmif_sioc)

#define ATM_GETLOOP _IOW('a',ATMIOC_SARCOM+2,struct atmif_sioc)

#define ATM_SETLOOP _IOW('a',ATMIOC_SARCOM+3,struct atmif_sioc)

#define ATM_QUERYLOOP _IOW('a',ATMIOC_SARCOM+4,struct atmif_sioc)

#define ATM_SETSC _IOW('a',ATMIOC_SPECIAL+1,int)

#define ATM_SETBACKEND _IOW('a',ATMIOC_SPECIAL+2,atm_backend_t)

#define ATM_NEWBACKENDIF _IOW('a',ATMIOC_SPECIAL+3,atm_backend_t)

#define ATM_ADDPARTY _IOW('a', ATMIOC_SPECIAL+4,struct atm_iobuf)

#define ATM_DROPPARTY _IOW('a', ATMIOC_SPECIAL+5,int)

#define ATM_BACKEND_RAW 0 
#define ATM_BACKEND_PPP 1  
#define ATM_BACKEND_BR2684 2  

#define ATM_ITFTYP_LEN 8  

#define __ATM_LM_NONE 0  
#define __ATM_LM_AAL 1  
#define __ATM_LM_ATM 2  

#define __ATM_LM_PHY 8  
#define __ATM_LM_ANALOG 16  

#define __ATM_LM_MKLOC(n) ((n))  
#define __ATM_LM_MKRMT(n) ((n) << 8)  

#define __ATM_LM_XTLOC(n) ((n) & 0xff)
#define __ATM_LM_XTRMT(n) (((n) >> 8) & 0xff)

#define ATM_LM_NONE 0  

#define ATM_LM_LOC_AAL __ATM_LM_MKLOC(__ATM_LM_AAL)
#define ATM_LM_LOC_ATM __ATM_LM_MKLOC(__ATM_LM_ATM)
#define ATM_LM_LOC_PHY __ATM_LM_MKLOC(__ATM_LM_PHY)
#define ATM_LM_LOC_ANALOG __ATM_LM_MKLOC(__ATM_LM_ANALOG)

#define ATM_LM_RMT_AAL __ATM_LM_MKRMT(__ATM_LM_AAL)
#define ATM_LM_RMT_ATM __ATM_LM_MKRMT(__ATM_LM_ATM)
#define ATM_LM_RMT_PHY __ATM_LM_MKRMT(__ATM_LM_PHY)
#define ATM_LM_RMT_ANALOG __ATM_LM_MKRMT(__ATM_LM_ANALOG)

struct atm_iobuf {
 int length;
 void __user *buffer;
};

#define ATM_CI_MAX -1  

struct atm_cirange {
 signed char vpi_bits;
 signed char vci_bits;
};

#define ATM_SC_RX 1024  
#define ATM_SC_TX 2048  

#define ATM_BACKLOG_DEFAULT 32  

#define ATM_MF_IMMED 1  
#define ATM_MF_INC_RSV 2  
#define ATM_MF_INC_SHP 4  
#define ATM_MF_DEC_RSV 8  
#define ATM_MF_DEC_SHP 16  
#define ATM_MF_BWD 32  

#define ATM_MF_SET (ATM_MF_INC_RSV | ATM_MF_INC_SHP | ATM_MF_DEC_RSV |   ATM_MF_DEC_SHP | ATM_MF_BWD)

#define ATM_VS_IDLE 0  
#define ATM_VS_CONNECTED 1  
#define ATM_VS_CLOSING 2  
#define ATM_VS_LISTEN 3  
#define ATM_VS_INUSE 4  
#define ATM_VS_BOUND 5  

#define ATM_VS2TXT_MAP   "IDLE", "CONNECTED", "CLOSING", "LISTEN", "INUSE", "BOUND"

#define ATM_VF2TXT_MAP   "ADDR", "READY", "PARTIAL", "REGIS",   "RELEASED", "HASQOS", "LISTEN", "META",   "256", "512", "1024", "2048",   "SESSION", "HASSAP", "BOUND", "CLOSE"

#endif