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 _UAPILINUX_ATMDEV_H 20 #define _UAPILINUX_ATMDEV_H 21 #include <linux/atmapi.h> 22 #include <linux/atm.h> 23 #include <linux/atmioc.h> 24 #define ESI_LEN 6 25 #define ATM_OC3_PCR (155520000 / 270 * 260 / 8 / 53) 26 #define ATM_25_PCR ((25600000 / 8 - 8000) / 54) 27 #define ATM_OC12_PCR (622080000 / 1080 * 1040 / 8 / 53) 28 #define ATM_DS3_PCR (8000 * 12) 29 #define __AAL_STAT_ITEMS __HANDLE_ITEM(tx); __HANDLE_ITEM(tx_err); __HANDLE_ITEM(rx); __HANDLE_ITEM(rx_err); __HANDLE_ITEM(rx_drop); 30 struct atm_aal_stats { 31 #define __HANDLE_ITEM(i) int i 32 __AAL_STAT_ITEMS 33 #undef __HANDLE_ITEM 34 }; 35 struct atm_dev_stats { 36 struct atm_aal_stats aal0; 37 struct atm_aal_stats aal34; 38 struct atm_aal_stats aal5; 39 } __ATM_API_ALIGN; 40 #define ATM_GETLINKRATE _IOW('a', ATMIOC_ITF + 1, struct atmif_sioc) 41 #define ATM_GETNAMES _IOW('a', ATMIOC_ITF + 3, struct atm_iobuf) 42 #define ATM_GETTYPE _IOW('a', ATMIOC_ITF + 4, struct atmif_sioc) 43 #define ATM_GETESI _IOW('a', ATMIOC_ITF + 5, struct atmif_sioc) 44 #define ATM_GETADDR _IOW('a', ATMIOC_ITF + 6, struct atmif_sioc) 45 #define ATM_RSTADDR _IOW('a', ATMIOC_ITF + 7, struct atmif_sioc) 46 #define ATM_ADDADDR _IOW('a', ATMIOC_ITF + 8, struct atmif_sioc) 47 #define ATM_DELADDR _IOW('a', ATMIOC_ITF + 9, struct atmif_sioc) 48 #define ATM_GETCIRANGE _IOW('a', ATMIOC_ITF + 10, struct atmif_sioc) 49 #define ATM_SETCIRANGE _IOW('a', ATMIOC_ITF + 11, struct atmif_sioc) 50 #define ATM_SETESI _IOW('a', ATMIOC_ITF + 12, struct atmif_sioc) 51 #define ATM_SETESIF _IOW('a', ATMIOC_ITF + 13, struct atmif_sioc) 52 #define ATM_ADDLECSADDR _IOW('a', ATMIOC_ITF + 14, struct atmif_sioc) 53 #define ATM_DELLECSADDR _IOW('a', ATMIOC_ITF + 15, struct atmif_sioc) 54 #define ATM_GETLECSADDR _IOW('a', ATMIOC_ITF + 16, struct atmif_sioc) 55 #define ATM_GETSTAT _IOW('a', ATMIOC_SARCOM + 0, struct atmif_sioc) 56 #define ATM_GETSTATZ _IOW('a', ATMIOC_SARCOM + 1, struct atmif_sioc) 57 #define ATM_GETLOOP _IOW('a', ATMIOC_SARCOM + 2, struct atmif_sioc) 58 #define ATM_SETLOOP _IOW('a', ATMIOC_SARCOM + 3, struct atmif_sioc) 59 #define ATM_QUERYLOOP _IOW('a', ATMIOC_SARCOM + 4, struct atmif_sioc) 60 #define ATM_SETSC _IOW('a', ATMIOC_SPECIAL + 1, int) 61 #define ATM_SETBACKEND _IOW('a', ATMIOC_SPECIAL + 2, atm_backend_t) 62 #define ATM_NEWBACKENDIF _IOW('a', ATMIOC_SPECIAL + 3, atm_backend_t) 63 #define ATM_ADDPARTY _IOW('a', ATMIOC_SPECIAL + 4, struct atm_iobuf) 64 #define ATM_DROPPARTY _IOW('a', ATMIOC_SPECIAL + 5, int) 65 #define ATM_BACKEND_RAW 0 66 #define ATM_BACKEND_PPP 1 67 #define ATM_BACKEND_BR2684 2 68 #define ATM_ITFTYP_LEN 8 69 #define __ATM_LM_NONE 0 70 #define __ATM_LM_AAL 1 71 #define __ATM_LM_ATM 2 72 #define __ATM_LM_PHY 8 73 #define __ATM_LM_ANALOG 16 74 #define __ATM_LM_MKLOC(n) ((n)) 75 #define __ATM_LM_MKRMT(n) ((n) << 8) 76 #define __ATM_LM_XTLOC(n) ((n) & 0xff) 77 #define __ATM_LM_XTRMT(n) (((n) >> 8) & 0xff) 78 #define ATM_LM_NONE 0 79 #define ATM_LM_LOC_AAL __ATM_LM_MKLOC(__ATM_LM_AAL) 80 #define ATM_LM_LOC_ATM __ATM_LM_MKLOC(__ATM_LM_ATM) 81 #define ATM_LM_LOC_PHY __ATM_LM_MKLOC(__ATM_LM_PHY) 82 #define ATM_LM_LOC_ANALOG __ATM_LM_MKLOC(__ATM_LM_ANALOG) 83 #define ATM_LM_RMT_AAL __ATM_LM_MKRMT(__ATM_LM_AAL) 84 #define ATM_LM_RMT_ATM __ATM_LM_MKRMT(__ATM_LM_ATM) 85 #define ATM_LM_RMT_PHY __ATM_LM_MKRMT(__ATM_LM_PHY) 86 #define ATM_LM_RMT_ANALOG __ATM_LM_MKRMT(__ATM_LM_ANALOG) 87 struct atm_iobuf { 88 int length; 89 void * buffer; 90 }; 91 #define ATM_CI_MAX - 1 92 struct atm_cirange { 93 signed char vpi_bits; 94 signed char vci_bits; 95 }; 96 #define ATM_SC_RX 1024 97 #define ATM_SC_TX 2048 98 #define ATM_BACKLOG_DEFAULT 32 99 #define ATM_MF_IMMED 1 100 #define ATM_MF_INC_RSV 2 101 #define ATM_MF_INC_SHP 4 102 #define ATM_MF_DEC_RSV 8 103 #define ATM_MF_DEC_SHP 16 104 #define ATM_MF_BWD 32 105 #define ATM_MF_SET (ATM_MF_INC_RSV | ATM_MF_INC_SHP | ATM_MF_DEC_RSV | ATM_MF_DEC_SHP | ATM_MF_BWD) 106 #define ATM_VS_IDLE 0 107 #define ATM_VS_CONNECTED 1 108 #define ATM_VS_CLOSING 2 109 #define ATM_VS_LISTEN 3 110 #define ATM_VS_INUSE 4 111 #define ATM_VS_BOUND 5 112 #define ATM_VS2TXT_MAP "IDLE", "CONNECTED", "CLOSING", "LISTEN", "INUSE", "BOUND" 113 #define ATM_VF2TXT_MAP "ADDR", "READY", "PARTIAL", "REGIS", "RELEASED", "HASQOS", "LISTEN", "META", "256", "512", "1024", "2048", "SESSION", "HASSAP", "BOUND", "CLOSE" 114 #endif 115