atmdev.h
001:
002:
003:
004:
005:
006: #ifndef LINUX_ATMDEV_H
007: #define LINUX_ATMDEV_H
008:
009:
010: #include <linux/atmapi.h>
011: #include <linux/atm.h>
012: #include <linux/atmioc.h>
013:
014:
015: #define ESI_LEN 6
016:
017: #define ATM_OC3_PCR (155520000/270*260/8/53)
018:
019:
020:
021:
022: #define ATM_25_PCR ((25600000/8-8000)/54)
023:
024: #define ATM_OC12_PCR (622080000/1080*1040/8/53)
025:
026:
027:
028:
029: #define ATM_DS3_PCR (8000*12)
030:
031:
032:
033: #define __AAL_STAT_ITEMS \
034: __HANDLE_ITEM(tx); \
035: __HANDLE_ITEM(tx_err); \
036: __HANDLE_ITEM(rx); \
037: __HANDLE_ITEM(rx_err); \
038: __HANDLE_ITEM(rx_drop);
039:
040: struct atm_aal_stats {
041: #define __HANDLE_ITEM(i) int i
042: __AAL_STAT_ITEMS
043: #undef __HANDLE_ITEM
044: };
045:
046:
047: struct atm_dev_stats {
048: struct atm_aal_stats aal0;
049: struct atm_aal_stats aal34;
050: struct atm_aal_stats aal5;
051: } __ATM_API_ALIGN;
052:
053:
054: #define ATM_GETLINKRATE _IOW('a',ATMIOC_ITF+1,struct atmif_sioc)
055:
056: #define ATM_GETNAMES _IOW('a',ATMIOC_ITF+3,struct atm_iobuf)
057:
058: #define ATM_GETTYPE _IOW('a',ATMIOC_ITF+4,struct atmif_sioc)
059:
060: #define ATM_GETESI _IOW('a',ATMIOC_ITF+5,struct atmif_sioc)
061:
062: #define ATM_GETADDR _IOW('a',ATMIOC_ITF+6,struct atmif_sioc)
063:
064: #define ATM_RSTADDR _IOW('a',ATMIOC_ITF+7,struct atmif_sioc)
065:
066: #define ATM_ADDADDR _IOW('a',ATMIOC_ITF+8,struct atmif_sioc)
067:
068: #define ATM_DELADDR _IOW('a',ATMIOC_ITF+9,struct atmif_sioc)
069:
070: #define ATM_GETCIRANGE _IOW('a',ATMIOC_ITF+10,struct atmif_sioc)
071:
072: #define ATM_SETCIRANGE _IOW('a',ATMIOC_ITF+11,struct atmif_sioc)
073:
074: #define ATM_SETESI _IOW('a',ATMIOC_ITF+12,struct atmif_sioc)
075:
076: #define ATM_SETESIF _IOW('a',ATMIOC_ITF+13,struct atmif_sioc)
077:
078: #define ATM_ADDLECSADDR _IOW('a', ATMIOC_ITF+14, struct atmif_sioc)
079:
080: #define ATM_DELLECSADDR _IOW('a', ATMIOC_ITF+15, struct atmif_sioc)
081:
082: #define ATM_GETLECSADDR _IOW('a', ATMIOC_ITF+16, struct atmif_sioc)
083:
084:
085: #define ATM_GETSTAT _IOW('a',ATMIOC_SARCOM+0,struct atmif_sioc)
086:
087: #define ATM_GETSTATZ _IOW('a',ATMIOC_SARCOM+1,struct atmif_sioc)
088:
089: #define ATM_GETLOOP _IOW('a',ATMIOC_SARCOM+2,struct atmif_sioc)
090:
091: #define ATM_SETLOOP _IOW('a',ATMIOC_SARCOM+3,struct atmif_sioc)
092:
093: #define ATM_QUERYLOOP _IOW('a',ATMIOC_SARCOM+4,struct atmif_sioc)
094:
095: #define ATM_SETSC _IOW('a',ATMIOC_SPECIAL+1,int)
096:
097: #define ATM_SETBACKEND _IOW('a',ATMIOC_SPECIAL+2,atm_backend_t)
098:
099: #define ATM_NEWBACKENDIF _IOW('a',ATMIOC_SPECIAL+3,atm_backend_t)
100:
101: #define ATM_ADDPARTY _IOW('a', ATMIOC_SPECIAL+4,struct atm_iobuf)
102:
103: #ifdef CONFIG_COMPAT
104:
105: #define COMPAT_ATM_ADDPARTY _IOW('a', ATMIOC_SPECIAL+4,struct compat_atm_iobuf)
106: #endif
107: #define ATM_DROPPARTY _IOW('a', ATMIOC_SPECIAL+5,int)
108:
109:
110:
111:
112:
113:
114:
115: #define ATM_BACKEND_RAW 0
116: #define ATM_BACKEND_PPP 1
117: #define ATM_BACKEND_BR2684 2
118:
119:
120: #define ATM_ITFTYP_LEN 8
121:
122:
123:
124:
125:
126:
127: #define __ATM_LM_NONE 0
128: #define __ATM_LM_AAL 1
129: #define __ATM_LM_ATM 2
130:
131: #define __ATM_LM_PHY 8
132: #define __ATM_LM_ANALOG 16
133:
134:
135: #define __ATM_LM_MKLOC(n) ((n))
136: #define __ATM_LM_MKRMT(n) ((n) << 8)
137:
138: #define __ATM_LM_XTLOC(n) ((n) & 0xff)
139: #define __ATM_LM_XTRMT(n) (((n) >> 8) & 0xff)
140:
141: #define ATM_LM_NONE 0
142:
143: #define ATM_LM_LOC_AAL __ATM_LM_MKLOC(__ATM_LM_AAL)
144: #define ATM_LM_LOC_ATM __ATM_LM_MKLOC(__ATM_LM_ATM)
145: #define ATM_LM_LOC_PHY __ATM_LM_MKLOC(__ATM_LM_PHY)
146: #define ATM_LM_LOC_ANALOG __ATM_LM_MKLOC(__ATM_LM_ANALOG)
147:
148: #define ATM_LM_RMT_AAL __ATM_LM_MKRMT(__ATM_LM_AAL)
149: #define ATM_LM_RMT_ATM __ATM_LM_MKRMT(__ATM_LM_ATM)
150: #define ATM_LM_RMT_PHY __ATM_LM_MKRMT(__ATM_LM_PHY)
151: #define ATM_LM_RMT_ANALOG __ATM_LM_MKRMT(__ATM_LM_ANALOG)
152:
153:
154:
155:
156:
157:
158:
159: struct atm_iobuf {
160: int length;
161: void *buffer;
162: };
163:
164:
165:
166: #define ATM_CI_MAX -1
167:
168: struct atm_cirange {
169: signed char vpi_bits;
170: signed char vci_bits;
171: };
172:
173:
174:
175: #define ATM_SC_RX 1024
176: #define ATM_SC_TX 2048
177:
178: #define ATM_BACKLOG_DEFAULT 32
179:
180:
181:
182:
183: #define ATM_MF_IMMED 1
184: #define ATM_MF_INC_RSV 2
185: #define ATM_MF_INC_SHP 4
186: #define ATM_MF_DEC_RSV 8
187: #define ATM_MF_DEC_SHP 16
188: #define ATM_MF_BWD 32
189:
190: #define ATM_MF_SET (ATM_MF_INC_RSV | ATM_MF_INC_SHP | ATM_MF_DEC_RSV | \
191: ATM_MF_DEC_SHP | ATM_MF_BWD)
192:
193:
194:
195:
196:
197: #define ATM_VS_IDLE 0
198: #define ATM_VS_CONNECTED 1
199: #define ATM_VS_CLOSING 2
200: #define ATM_VS_LISTEN 3
201: #define ATM_VS_INUSE 4
202: #define ATM_VS_BOUND 5
203:
204: #define ATM_VS2TXT_MAP \
205: "IDLE", "CONNECTED", "CLOSING", "LISTEN", "INUSE", "BOUND"
206:
207: #define ATM_VF2TXT_MAP \
208: "ADDR", "READY", "PARTIAL", "REGIS", \
209: "RELEASED", "HASQOS", "LISTEN", "META", \
210: "256", "512", "1024", "2048", \
211: "SESSION", "HASSAP", "BOUND", "CLOSE"
212:
213:
214:
215: #endif
216:
© Andrew Scott 2006 -
2025,
All Rights Reserved