blob: 27baeb01fad39927cbb52e4b83f4098ac2f264ed [file] [log] [blame]
The Android Open Source Project1dc9e472009-03-03 19:28:35 -08001/****************************************************************************
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 ****************************************************************************
11 ****************************************************************************/
12#ifndef LINUX_ATMDEV_H
13#define LINUX_ATMDEV_H
Ben Cheng4b29af02012-03-07 16:14:53 -080014
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080015#include <linux/atmapi.h>
16#include <linux/atm.h>
17#include <linux/atmioc.h>
Ben Cheng4b29af02012-03-07 16:14:53 -080018
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080019#define ESI_LEN 6
Ben Cheng4b29af02012-03-07 16:14:53 -080020
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080021#define ATM_OC3_PCR (155520000/270*260/8/53)
Ben Cheng4b29af02012-03-07 16:14:53 -080022
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080023#define ATM_25_PCR ((25600000/8-8000)/54)
Ben Cheng4b29af02012-03-07 16:14:53 -080024
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080025#define ATM_OC12_PCR (622080000/1080*1040/8/53)
Ben Cheng4b29af02012-03-07 16:14:53 -080026
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080027#define ATM_DS3_PCR (8000*12)
Ben Cheng4b29af02012-03-07 16:14:53 -080028
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080029#define __AAL_STAT_ITEMS __HANDLE_ITEM(tx); __HANDLE_ITEM(tx_err); __HANDLE_ITEM(rx); __HANDLE_ITEM(rx_err); __HANDLE_ITEM(rx_drop);
Ben Cheng4b29af02012-03-07 16:14:53 -080030
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080031struct atm_aal_stats {
32#define __HANDLE_ITEM(i) int i
33 __AAL_STAT_ITEMS
34#undef __HANDLE_ITEM
35};
Ben Cheng4b29af02012-03-07 16:14:53 -080036
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080037struct atm_dev_stats {
38 struct atm_aal_stats aal0;
39 struct atm_aal_stats aal34;
40 struct atm_aal_stats aal5;
41} __ATM_API_ALIGN;
Ben Cheng4b29af02012-03-07 16:14:53 -080042
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080043#define ATM_GETLINKRATE _IOW('a',ATMIOC_ITF+1,struct atmif_sioc)
Ben Cheng4b29af02012-03-07 16:14:53 -080044
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080045#define ATM_GETNAMES _IOW('a',ATMIOC_ITF+3,struct atm_iobuf)
Ben Cheng4b29af02012-03-07 16:14:53 -080046
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080047#define ATM_GETTYPE _IOW('a',ATMIOC_ITF+4,struct atmif_sioc)
Ben Cheng4b29af02012-03-07 16:14:53 -080048
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080049#define ATM_GETESI _IOW('a',ATMIOC_ITF+5,struct atmif_sioc)
Ben Cheng4b29af02012-03-07 16:14:53 -080050
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080051#define ATM_GETADDR _IOW('a',ATMIOC_ITF+6,struct atmif_sioc)
Ben Cheng4b29af02012-03-07 16:14:53 -080052
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080053#define ATM_RSTADDR _IOW('a',ATMIOC_ITF+7,struct atmif_sioc)
Ben Cheng4b29af02012-03-07 16:14:53 -080054
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080055#define ATM_ADDADDR _IOW('a',ATMIOC_ITF+8,struct atmif_sioc)
Ben Cheng4b29af02012-03-07 16:14:53 -080056
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080057#define ATM_DELADDR _IOW('a',ATMIOC_ITF+9,struct atmif_sioc)
Ben Cheng4b29af02012-03-07 16:14:53 -080058
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080059#define ATM_GETCIRANGE _IOW('a',ATMIOC_ITF+10,struct atmif_sioc)
Ben Cheng4b29af02012-03-07 16:14:53 -080060
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080061#define ATM_SETCIRANGE _IOW('a',ATMIOC_ITF+11,struct atmif_sioc)
Ben Cheng4b29af02012-03-07 16:14:53 -080062
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080063#define ATM_SETESI _IOW('a',ATMIOC_ITF+12,struct atmif_sioc)
Ben Cheng4b29af02012-03-07 16:14:53 -080064
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080065#define ATM_SETESIF _IOW('a',ATMIOC_ITF+13,struct atmif_sioc)
Ben Cheng4b29af02012-03-07 16:14:53 -080066
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080067#define ATM_ADDLECSADDR _IOW('a', ATMIOC_ITF+14, struct atmif_sioc)
Ben Cheng4b29af02012-03-07 16:14:53 -080068
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080069#define ATM_DELLECSADDR _IOW('a', ATMIOC_ITF+15, struct atmif_sioc)
Ben Cheng4b29af02012-03-07 16:14:53 -080070
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080071#define ATM_GETLECSADDR _IOW('a', ATMIOC_ITF+16, struct atmif_sioc)
Ben Cheng4b29af02012-03-07 16:14:53 -080072
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080073#define ATM_GETSTAT _IOW('a',ATMIOC_SARCOM+0,struct atmif_sioc)
Ben Cheng4b29af02012-03-07 16:14:53 -080074
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080075#define ATM_GETSTATZ _IOW('a',ATMIOC_SARCOM+1,struct atmif_sioc)
Ben Cheng4b29af02012-03-07 16:14:53 -080076
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080077#define ATM_GETLOOP _IOW('a',ATMIOC_SARCOM+2,struct atmif_sioc)
Ben Cheng4b29af02012-03-07 16:14:53 -080078
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080079#define ATM_SETLOOP _IOW('a',ATMIOC_SARCOM+3,struct atmif_sioc)
Ben Cheng4b29af02012-03-07 16:14:53 -080080
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080081#define ATM_QUERYLOOP _IOW('a',ATMIOC_SARCOM+4,struct atmif_sioc)
Ben Cheng4b29af02012-03-07 16:14:53 -080082
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080083#define ATM_SETSC _IOW('a',ATMIOC_SPECIAL+1,int)
Ben Cheng4b29af02012-03-07 16:14:53 -080084
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080085#define ATM_SETBACKEND _IOW('a',ATMIOC_SPECIAL+2,atm_backend_t)
Ben Cheng4b29af02012-03-07 16:14:53 -080086
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080087#define ATM_NEWBACKENDIF _IOW('a',ATMIOC_SPECIAL+3,atm_backend_t)
Ben Cheng4b29af02012-03-07 16:14:53 -080088
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080089#define ATM_ADDPARTY _IOW('a', ATMIOC_SPECIAL+4,struct atm_iobuf)
Ben Cheng4b29af02012-03-07 16:14:53 -080090
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080091#define ATM_DROPPARTY _IOW('a', ATMIOC_SPECIAL+5,int)
Ben Cheng4b29af02012-03-07 16:14:53 -080092
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080093#define ATM_BACKEND_RAW 0
94#define ATM_BACKEND_PPP 1
95#define ATM_BACKEND_BR2684 2
Ben Cheng4b29af02012-03-07 16:14:53 -080096
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080097#define ATM_ITFTYP_LEN 8
Ben Cheng4b29af02012-03-07 16:14:53 -080098
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080099#define __ATM_LM_NONE 0
100#define __ATM_LM_AAL 1
101#define __ATM_LM_ATM 2
Ben Cheng4b29af02012-03-07 16:14:53 -0800102
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800103#define __ATM_LM_PHY 8
104#define __ATM_LM_ANALOG 16
Ben Cheng4b29af02012-03-07 16:14:53 -0800105
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800106#define __ATM_LM_MKLOC(n) ((n))
107#define __ATM_LM_MKRMT(n) ((n) << 8)
Ben Cheng4b29af02012-03-07 16:14:53 -0800108
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800109#define __ATM_LM_XTLOC(n) ((n) & 0xff)
110#define __ATM_LM_XTRMT(n) (((n) >> 8) & 0xff)
Ben Cheng4b29af02012-03-07 16:14:53 -0800111
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800112#define ATM_LM_NONE 0
Ben Cheng4b29af02012-03-07 16:14:53 -0800113
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800114#define ATM_LM_LOC_AAL __ATM_LM_MKLOC(__ATM_LM_AAL)
115#define ATM_LM_LOC_ATM __ATM_LM_MKLOC(__ATM_LM_ATM)
116#define ATM_LM_LOC_PHY __ATM_LM_MKLOC(__ATM_LM_PHY)
117#define ATM_LM_LOC_ANALOG __ATM_LM_MKLOC(__ATM_LM_ANALOG)
Ben Cheng4b29af02012-03-07 16:14:53 -0800118
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800119#define ATM_LM_RMT_AAL __ATM_LM_MKRMT(__ATM_LM_AAL)
120#define ATM_LM_RMT_ATM __ATM_LM_MKRMT(__ATM_LM_ATM)
121#define ATM_LM_RMT_PHY __ATM_LM_MKRMT(__ATM_LM_PHY)
122#define ATM_LM_RMT_ANALOG __ATM_LM_MKRMT(__ATM_LM_ANALOG)
Ben Cheng4b29af02012-03-07 16:14:53 -0800123
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800124struct atm_iobuf {
125 int length;
126 void __user *buffer;
127};
Ben Cheng4b29af02012-03-07 16:14:53 -0800128
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800129#define ATM_CI_MAX -1
Ben Cheng4b29af02012-03-07 16:14:53 -0800130
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800131struct atm_cirange {
132 signed char vpi_bits;
133 signed char vci_bits;
134};
Ben Cheng4b29af02012-03-07 16:14:53 -0800135
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800136#define ATM_SC_RX 1024
137#define ATM_SC_TX 2048
Ben Cheng4b29af02012-03-07 16:14:53 -0800138
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800139#define ATM_BACKLOG_DEFAULT 32
Ben Cheng4b29af02012-03-07 16:14:53 -0800140
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800141#define ATM_MF_IMMED 1
142#define ATM_MF_INC_RSV 2
143#define ATM_MF_INC_SHP 4
144#define ATM_MF_DEC_RSV 8
145#define ATM_MF_DEC_SHP 16
146#define ATM_MF_BWD 32
Ben Cheng4b29af02012-03-07 16:14:53 -0800147
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800148#define ATM_MF_SET (ATM_MF_INC_RSV | ATM_MF_INC_SHP | ATM_MF_DEC_RSV | ATM_MF_DEC_SHP | ATM_MF_BWD)
Ben Cheng4b29af02012-03-07 16:14:53 -0800149
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800150#define ATM_VS_IDLE 0
151#define ATM_VS_CONNECTED 1
152#define ATM_VS_CLOSING 2
153#define ATM_VS_LISTEN 3
154#define ATM_VS_INUSE 4
155#define ATM_VS_BOUND 5
Ben Cheng4b29af02012-03-07 16:14:53 -0800156
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800157#define ATM_VS2TXT_MAP "IDLE", "CONNECTED", "CLOSING", "LISTEN", "INUSE", "BOUND"
Ben Cheng4b29af02012-03-07 16:14:53 -0800158
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800159#define ATM_VF2TXT_MAP "ADDR", "READY", "PARTIAL", "REGIS", "RELEASED", "HASQOS", "LISTEN", "META", "256", "512", "1024", "2048", "SESSION", "HASSAP", "BOUND", "CLOSE"
Ben Cheng4b29af02012-03-07 16:14:53 -0800160
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800161#endif