Elliott Hughes | 180edef | 2023-11-02 00:08:05 +0000 | [diff] [blame] | 1 | /* |
| 2 | * This file is auto-generated. Modifications will be lost. |
| 3 | * |
| 4 | * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/ |
| 5 | * for more information. |
| 6 | */ |
Ben Cheng | 655a7c0 | 2013-10-16 16:09:24 -0700 | [diff] [blame] | 7 | #ifndef _UAPILINUX_ATMDEV_H |
| 8 | #define _UAPILINUX_ATMDEV_H |
| 9 | #include <linux/atmapi.h> |
| 10 | #include <linux/atm.h> |
Ben Cheng | 655a7c0 | 2013-10-16 16:09:24 -0700 | [diff] [blame] | 11 | #include <linux/atmioc.h> |
| 12 | #define ESI_LEN 6 |
Tao Bao | d7db594 | 2015-01-28 10:07:51 -0800 | [diff] [blame] | 13 | #define ATM_OC3_PCR (155520000 / 270 * 260 / 8 / 53) |
| 14 | #define ATM_25_PCR ((25600000 / 8 - 8000) / 54) |
Tao Bao | d7db594 | 2015-01-28 10:07:51 -0800 | [diff] [blame] | 15 | #define ATM_OC12_PCR (622080000 / 1080 * 1040 / 8 / 53) |
| 16 | #define ATM_DS3_PCR (8000 * 12) |
| 17 | #define __AAL_STAT_ITEMS __HANDLE_ITEM(tx); __HANDLE_ITEM(tx_err); __HANDLE_ITEM(rx); __HANDLE_ITEM(rx_err); __HANDLE_ITEM(rx_drop); |
Ben Cheng | 655a7c0 | 2013-10-16 16:09:24 -0700 | [diff] [blame] | 18 | struct atm_aal_stats { |
Ben Cheng | 655a7c0 | 2013-10-16 16:09:24 -0700 | [diff] [blame] | 19 | #define __HANDLE_ITEM(i) int i |
Tao Bao | d7db594 | 2015-01-28 10:07:51 -0800 | [diff] [blame] | 20 | __AAL_STAT_ITEMS |
Ben Cheng | 655a7c0 | 2013-10-16 16:09:24 -0700 | [diff] [blame] | 21 | #undef __HANDLE_ITEM |
| 22 | }; |
Ben Cheng | 655a7c0 | 2013-10-16 16:09:24 -0700 | [diff] [blame] | 23 | struct atm_dev_stats { |
Tao Bao | d7db594 | 2015-01-28 10:07:51 -0800 | [diff] [blame] | 24 | struct atm_aal_stats aal0; |
| 25 | struct atm_aal_stats aal34; |
| 26 | struct atm_aal_stats aal5; |
Ben Cheng | 655a7c0 | 2013-10-16 16:09:24 -0700 | [diff] [blame] | 27 | } __ATM_API_ALIGN; |
Tao Bao | d7db594 | 2015-01-28 10:07:51 -0800 | [diff] [blame] | 28 | #define ATM_GETLINKRATE _IOW('a', ATMIOC_ITF + 1, struct atmif_sioc) |
| 29 | #define ATM_GETNAMES _IOW('a', ATMIOC_ITF + 3, struct atm_iobuf) |
| 30 | #define ATM_GETTYPE _IOW('a', ATMIOC_ITF + 4, struct atmif_sioc) |
Tao Bao | d7db594 | 2015-01-28 10:07:51 -0800 | [diff] [blame] | 31 | #define ATM_GETESI _IOW('a', ATMIOC_ITF + 5, struct atmif_sioc) |
| 32 | #define ATM_GETADDR _IOW('a', ATMIOC_ITF + 6, struct atmif_sioc) |
| 33 | #define ATM_RSTADDR _IOW('a', ATMIOC_ITF + 7, struct atmif_sioc) |
| 34 | #define ATM_ADDADDR _IOW('a', ATMIOC_ITF + 8, struct atmif_sioc) |
Tao Bao | d7db594 | 2015-01-28 10:07:51 -0800 | [diff] [blame] | 35 | #define ATM_DELADDR _IOW('a', ATMIOC_ITF + 9, struct atmif_sioc) |
| 36 | #define ATM_GETCIRANGE _IOW('a', ATMIOC_ITF + 10, struct atmif_sioc) |
| 37 | #define ATM_SETCIRANGE _IOW('a', ATMIOC_ITF + 11, struct atmif_sioc) |
| 38 | #define ATM_SETESI _IOW('a', ATMIOC_ITF + 12, struct atmif_sioc) |
Tao Bao | d7db594 | 2015-01-28 10:07:51 -0800 | [diff] [blame] | 39 | #define ATM_SETESIF _IOW('a', ATMIOC_ITF + 13, struct atmif_sioc) |
| 40 | #define ATM_ADDLECSADDR _IOW('a', ATMIOC_ITF + 14, struct atmif_sioc) |
| 41 | #define ATM_DELLECSADDR _IOW('a', ATMIOC_ITF + 15, struct atmif_sioc) |
| 42 | #define ATM_GETLECSADDR _IOW('a', ATMIOC_ITF + 16, struct atmif_sioc) |
Tao Bao | d7db594 | 2015-01-28 10:07:51 -0800 | [diff] [blame] | 43 | #define ATM_GETSTAT _IOW('a', ATMIOC_SARCOM + 0, struct atmif_sioc) |
| 44 | #define ATM_GETSTATZ _IOW('a', ATMIOC_SARCOM + 1, struct atmif_sioc) |
| 45 | #define ATM_GETLOOP _IOW('a', ATMIOC_SARCOM + 2, struct atmif_sioc) |
| 46 | #define ATM_SETLOOP _IOW('a', ATMIOC_SARCOM + 3, struct atmif_sioc) |
Tao Bao | d7db594 | 2015-01-28 10:07:51 -0800 | [diff] [blame] | 47 | #define ATM_QUERYLOOP _IOW('a', ATMIOC_SARCOM + 4, struct atmif_sioc) |
| 48 | #define ATM_SETSC _IOW('a', ATMIOC_SPECIAL + 1, int) |
| 49 | #define ATM_SETBACKEND _IOW('a', ATMIOC_SPECIAL + 2, atm_backend_t) |
| 50 | #define ATM_NEWBACKENDIF _IOW('a', ATMIOC_SPECIAL + 3, atm_backend_t) |
Tao Bao | d7db594 | 2015-01-28 10:07:51 -0800 | [diff] [blame] | 51 | #define ATM_ADDPARTY _IOW('a', ATMIOC_SPECIAL + 4, struct atm_iobuf) |
| 52 | #define ATM_DROPPARTY _IOW('a', ATMIOC_SPECIAL + 5, int) |
Ben Cheng | 655a7c0 | 2013-10-16 16:09:24 -0700 | [diff] [blame] | 53 | #define ATM_BACKEND_RAW 0 |
| 54 | #define ATM_BACKEND_PPP 1 |
Ben Cheng | 655a7c0 | 2013-10-16 16:09:24 -0700 | [diff] [blame] | 55 | #define ATM_BACKEND_BR2684 2 |
| 56 | #define ATM_ITFTYP_LEN 8 |
| 57 | #define __ATM_LM_NONE 0 |
| 58 | #define __ATM_LM_AAL 1 |
Ben Cheng | 655a7c0 | 2013-10-16 16:09:24 -0700 | [diff] [blame] | 59 | #define __ATM_LM_ATM 2 |
| 60 | #define __ATM_LM_PHY 8 |
| 61 | #define __ATM_LM_ANALOG 16 |
| 62 | #define __ATM_LM_MKLOC(n) ((n)) |
Ben Cheng | 655a7c0 | 2013-10-16 16:09:24 -0700 | [diff] [blame] | 63 | #define __ATM_LM_MKRMT(n) ((n) << 8) |
| 64 | #define __ATM_LM_XTLOC(n) ((n) & 0xff) |
| 65 | #define __ATM_LM_XTRMT(n) (((n) >> 8) & 0xff) |
| 66 | #define ATM_LM_NONE 0 |
Ben Cheng | 655a7c0 | 2013-10-16 16:09:24 -0700 | [diff] [blame] | 67 | #define ATM_LM_LOC_AAL __ATM_LM_MKLOC(__ATM_LM_AAL) |
| 68 | #define ATM_LM_LOC_ATM __ATM_LM_MKLOC(__ATM_LM_ATM) |
| 69 | #define ATM_LM_LOC_PHY __ATM_LM_MKLOC(__ATM_LM_PHY) |
| 70 | #define ATM_LM_LOC_ANALOG __ATM_LM_MKLOC(__ATM_LM_ANALOG) |
Ben Cheng | 655a7c0 | 2013-10-16 16:09:24 -0700 | [diff] [blame] | 71 | #define ATM_LM_RMT_AAL __ATM_LM_MKRMT(__ATM_LM_AAL) |
| 72 | #define ATM_LM_RMT_ATM __ATM_LM_MKRMT(__ATM_LM_ATM) |
| 73 | #define ATM_LM_RMT_PHY __ATM_LM_MKRMT(__ATM_LM_PHY) |
| 74 | #define ATM_LM_RMT_ANALOG __ATM_LM_MKRMT(__ATM_LM_ANALOG) |
Ben Cheng | 655a7c0 | 2013-10-16 16:09:24 -0700 | [diff] [blame] | 75 | struct atm_iobuf { |
Tao Bao | d7db594 | 2015-01-28 10:07:51 -0800 | [diff] [blame] | 76 | int length; |
Elliott Hughes | 0f0c18f | 2023-03-29 15:53:31 -0700 | [diff] [blame] | 77 | void * buffer; |
Ben Cheng | 655a7c0 | 2013-10-16 16:09:24 -0700 | [diff] [blame] | 78 | }; |
Tao Bao | d7db594 | 2015-01-28 10:07:51 -0800 | [diff] [blame] | 79 | #define ATM_CI_MAX - 1 |
Ben Cheng | 655a7c0 | 2013-10-16 16:09:24 -0700 | [diff] [blame] | 80 | struct atm_cirange { |
Tao Bao | d7db594 | 2015-01-28 10:07:51 -0800 | [diff] [blame] | 81 | signed char vpi_bits; |
| 82 | signed char vci_bits; |
Ben Cheng | 655a7c0 | 2013-10-16 16:09:24 -0700 | [diff] [blame] | 83 | }; |
| 84 | #define ATM_SC_RX 1024 |
| 85 | #define ATM_SC_TX 2048 |
| 86 | #define ATM_BACKLOG_DEFAULT 32 |
Ben Cheng | 655a7c0 | 2013-10-16 16:09:24 -0700 | [diff] [blame] | 87 | #define ATM_MF_IMMED 1 |
| 88 | #define ATM_MF_INC_RSV 2 |
| 89 | #define ATM_MF_INC_SHP 4 |
| 90 | #define ATM_MF_DEC_RSV 8 |
Ben Cheng | 655a7c0 | 2013-10-16 16:09:24 -0700 | [diff] [blame] | 91 | #define ATM_MF_DEC_SHP 16 |
| 92 | #define ATM_MF_BWD 32 |
Tao Bao | d7db594 | 2015-01-28 10:07:51 -0800 | [diff] [blame] | 93 | #define ATM_MF_SET (ATM_MF_INC_RSV | ATM_MF_INC_SHP | ATM_MF_DEC_RSV | ATM_MF_DEC_SHP | ATM_MF_BWD) |
Ben Cheng | 655a7c0 | 2013-10-16 16:09:24 -0700 | [diff] [blame] | 94 | #define ATM_VS_IDLE 0 |
Ben Cheng | 655a7c0 | 2013-10-16 16:09:24 -0700 | [diff] [blame] | 95 | #define ATM_VS_CONNECTED 1 |
| 96 | #define ATM_VS_CLOSING 2 |
| 97 | #define ATM_VS_LISTEN 3 |
| 98 | #define ATM_VS_INUSE 4 |
Ben Cheng | 655a7c0 | 2013-10-16 16:09:24 -0700 | [diff] [blame] | 99 | #define ATM_VS_BOUND 5 |
Tao Bao | d7db594 | 2015-01-28 10:07:51 -0800 | [diff] [blame] | 100 | #define ATM_VS2TXT_MAP "IDLE", "CONNECTED", "CLOSING", "LISTEN", "INUSE", "BOUND" |
| 101 | #define ATM_VF2TXT_MAP "ADDR", "READY", "PARTIAL", "REGIS", "RELEASED", "HASQOS", "LISTEN", "META", "256", "512", "1024", "2048", "SESSION", "HASSAP", "BOUND", "CLOSE" |
Ben Cheng | 655a7c0 | 2013-10-16 16:09:24 -0700 | [diff] [blame] | 102 | #endif |