blob: 095dc301eb526f21dc320075d544443ee5c299d9 [file] [log] [blame]
Elliott Hughes180edef2023-11-02 00:08:05 +00001/*
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 Cheng655a7c02013-10-16 16:09:24 -07007#ifndef _UAPILINUX_ATMDEV_H
8#define _UAPILINUX_ATMDEV_H
9#include <linux/atmapi.h>
10#include <linux/atm.h>
Ben Cheng655a7c02013-10-16 16:09:24 -070011#include <linux/atmioc.h>
12#define ESI_LEN 6
Tao Baod7db5942015-01-28 10:07:51 -080013#define ATM_OC3_PCR (155520000 / 270 * 260 / 8 / 53)
14#define ATM_25_PCR ((25600000 / 8 - 8000) / 54)
Tao Baod7db5942015-01-28 10:07:51 -080015#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 Cheng655a7c02013-10-16 16:09:24 -070018struct atm_aal_stats {
Ben Cheng655a7c02013-10-16 16:09:24 -070019#define __HANDLE_ITEM(i) int i
Tao Baod7db5942015-01-28 10:07:51 -080020 __AAL_STAT_ITEMS
Ben Cheng655a7c02013-10-16 16:09:24 -070021#undef __HANDLE_ITEM
22};
Ben Cheng655a7c02013-10-16 16:09:24 -070023struct atm_dev_stats {
Tao Baod7db5942015-01-28 10:07:51 -080024 struct atm_aal_stats aal0;
25 struct atm_aal_stats aal34;
26 struct atm_aal_stats aal5;
Ben Cheng655a7c02013-10-16 16:09:24 -070027} __ATM_API_ALIGN;
Tao Baod7db5942015-01-28 10:07:51 -080028#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 Baod7db5942015-01-28 10:07:51 -080031#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 Baod7db5942015-01-28 10:07:51 -080035#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 Baod7db5942015-01-28 10:07:51 -080039#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 Baod7db5942015-01-28 10:07:51 -080043#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 Baod7db5942015-01-28 10:07:51 -080047#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 Baod7db5942015-01-28 10:07:51 -080051#define ATM_ADDPARTY _IOW('a', ATMIOC_SPECIAL + 4, struct atm_iobuf)
52#define ATM_DROPPARTY _IOW('a', ATMIOC_SPECIAL + 5, int)
Ben Cheng655a7c02013-10-16 16:09:24 -070053#define ATM_BACKEND_RAW 0
54#define ATM_BACKEND_PPP 1
Ben Cheng655a7c02013-10-16 16:09:24 -070055#define ATM_BACKEND_BR2684 2
56#define ATM_ITFTYP_LEN 8
57#define __ATM_LM_NONE 0
58#define __ATM_LM_AAL 1
Ben Cheng655a7c02013-10-16 16:09:24 -070059#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 Cheng655a7c02013-10-16 16:09:24 -070063#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 Cheng655a7c02013-10-16 16:09:24 -070067#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 Cheng655a7c02013-10-16 16:09:24 -070071#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 Cheng655a7c02013-10-16 16:09:24 -070075struct atm_iobuf {
Tao Baod7db5942015-01-28 10:07:51 -080076 int length;
Elliott Hughes0f0c18f2023-03-29 15:53:31 -070077 void * buffer;
Ben Cheng655a7c02013-10-16 16:09:24 -070078};
Tao Baod7db5942015-01-28 10:07:51 -080079#define ATM_CI_MAX - 1
Ben Cheng655a7c02013-10-16 16:09:24 -070080struct atm_cirange {
Tao Baod7db5942015-01-28 10:07:51 -080081 signed char vpi_bits;
82 signed char vci_bits;
Ben Cheng655a7c02013-10-16 16:09:24 -070083};
84#define ATM_SC_RX 1024
85#define ATM_SC_TX 2048
86#define ATM_BACKLOG_DEFAULT 32
Ben Cheng655a7c02013-10-16 16:09:24 -070087#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 Cheng655a7c02013-10-16 16:09:24 -070091#define ATM_MF_DEC_SHP 16
92#define ATM_MF_BWD 32
Tao Baod7db5942015-01-28 10:07:51 -080093#define ATM_MF_SET (ATM_MF_INC_RSV | ATM_MF_INC_SHP | ATM_MF_DEC_RSV | ATM_MF_DEC_SHP | ATM_MF_BWD)
Ben Cheng655a7c02013-10-16 16:09:24 -070094#define ATM_VS_IDLE 0
Ben Cheng655a7c02013-10-16 16:09:24 -070095#define ATM_VS_CONNECTED 1
96#define ATM_VS_CLOSING 2
97#define ATM_VS_LISTEN 3
98#define ATM_VS_INUSE 4
Ben Cheng655a7c02013-10-16 16:09:24 -070099#define ATM_VS_BOUND 5
Tao Baod7db5942015-01-28 10:07:51 -0800100#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 Cheng655a7c02013-10-16 16:09:24 -0700102#endif