blob: 66e599adc22bc63224963de4a598d15edf2092e9 [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 _ATMMPC_H_
8#define _ATMMPC_H_
9#include <linux/atmapi.h>
10#include <linux/atmioc.h>
Ben Cheng655a7c02013-10-16 16:09:24 -070011#include <linux/atm.h>
12#include <linux/types.h>
13#define ATMMPC_CTRL _IO('a', ATMIOC_MPOA)
Tao Baod7db5942015-01-28 10:07:51 -080014#define ATMMPC_DATA _IO('a', ATMIOC_MPOA + 1)
Ben Cheng655a7c02013-10-16 16:09:24 -070015#define MPC_SOCKET_INGRESS 1
16#define MPC_SOCKET_EGRESS 2
17struct atmmpc_ioc {
Tao Baod7db5942015-01-28 10:07:51 -080018 int dev_num;
Tao Baod7db5942015-01-28 10:07:51 -080019 __be32 ipaddr;
20 int type;
Ben Cheng655a7c02013-10-16 16:09:24 -070021};
22typedef struct in_ctrl_info {
Tao Baod7db5942015-01-28 10:07:51 -080023 __u8 Last_NHRP_CIE_code;
24 __u8 Last_Q2931_cause_value;
25 __u8 eg_MPC_ATM_addr[ATM_ESA_LEN];
26 __be32 tag;
Tao Baod7db5942015-01-28 10:07:51 -080027 __be32 in_dst_ip;
28 __u16 holding_time;
29 __u32 request_id;
Ben Cheng655a7c02013-10-16 16:09:24 -070030} in_ctrl_info;
Ben Cheng655a7c02013-10-16 16:09:24 -070031typedef struct eg_ctrl_info {
Tao Baod7db5942015-01-28 10:07:51 -080032 __u8 DLL_header[256];
33 __u8 DH_length;
34 __be32 cache_id;
Tao Baod7db5942015-01-28 10:07:51 -080035 __be32 tag;
36 __be32 mps_ip;
37 __be32 eg_dst_ip;
38 __u8 in_MPC_data_ATM_addr[ATM_ESA_LEN];
Tao Baod7db5942015-01-28 10:07:51 -080039 __u16 holding_time;
Ben Cheng655a7c02013-10-16 16:09:24 -070040} eg_ctrl_info;
41struct mpc_parameters {
Tao Baod7db5942015-01-28 10:07:51 -080042 __u16 mpc_p1;
Tao Baod7db5942015-01-28 10:07:51 -080043 __u16 mpc_p2;
44 __u8 mpc_p3[8];
45 __u16 mpc_p4;
46 __u16 mpc_p5;
Tao Baod7db5942015-01-28 10:07:51 -080047 __u16 mpc_p6;
48};
Ben Cheng655a7c02013-10-16 16:09:24 -070049struct k_message {
Tao Baod7db5942015-01-28 10:07:51 -080050 __u16 type;
Tao Baod7db5942015-01-28 10:07:51 -080051 __be32 ip_mask;
52 __u8 MPS_ctrl[ATM_ESA_LEN];
53 union {
54 in_ctrl_info in_info;
Tao Baod7db5942015-01-28 10:07:51 -080055 eg_ctrl_info eg_info;
56 struct mpc_parameters params;
57 } content;
58 struct atm_qos qos;
Ben Cheng655a7c02013-10-16 16:09:24 -070059} __ATM_API_ALIGN;
60struct llc_snap_hdr {
Tao Baod7db5942015-01-28 10:07:51 -080061 __u8 dsap;
62 __u8 ssap;
Tao Baod7db5942015-01-28 10:07:51 -080063 __u8 ui;
64 __u8 org[3];
65 __u8 type[2];
Ben Cheng655a7c02013-10-16 16:09:24 -070066};
Ben Cheng655a7c02013-10-16 16:09:24 -070067#define TLV_MPOA_DEVICE_TYPE 0x00a03e2a
68#define NON_MPOA 0
69#define MPS 1
70#define MPC 2
Ben Cheng655a7c02013-10-16 16:09:24 -070071#define MPS_AND_MPC 3
72#define MPC_P1 10
73#define MPC_P2 1
74#define MPC_P3 0
Ben Cheng655a7c02013-10-16 16:09:24 -070075#define MPC_P4 5
76#define MPC_P5 40
77#define MPC_P6 160
78#define HOLDING_TIME_DEFAULT 1200
Ben Cheng655a7c02013-10-16 16:09:24 -070079#define MPC_C1 2
80#define MPC_C2 60
81#define SND_MPOA_RES_RQST 201
82#define SET_MPS_CTRL_ADDR 202
Ben Cheng655a7c02013-10-16 16:09:24 -070083#define SND_MPOA_RES_RTRY 203
84#define STOP_KEEP_ALIVE_SM 204
85#define EGRESS_ENTRY_REMOVED 205
86#define SND_EGRESS_PURGE 206
Ben Cheng655a7c02013-10-16 16:09:24 -070087#define DIE 207
88#define DATA_PLANE_PURGE 208
89#define OPEN_INGRESS_SVC 209
90#define MPOA_TRIGGER_RCVD 101
Ben Cheng655a7c02013-10-16 16:09:24 -070091#define MPOA_RES_REPLY_RCVD 102
92#define INGRESS_PURGE_RCVD 103
93#define EGRESS_PURGE_RCVD 104
94#define MPS_DEATH 105
Ben Cheng655a7c02013-10-16 16:09:24 -070095#define CACHE_IMPOS_RCVD 106
96#define SET_MPC_CTRL_ADDR 107
97#define SET_MPS_MAC_ADDR 108
98#define CLEAN_UP_AND_EXIT 109
Ben Cheng655a7c02013-10-16 16:09:24 -070099#define SET_MPC_PARAMS 110
100#define RELOAD 301
101#endif