|  | /**************************************************************************** | 
|  | **************************************************************************** | 
|  | *** | 
|  | ***   This header was automatically generated from a Linux kernel header | 
|  | ***   of the same name, to make information necessary for userspace to | 
|  | ***   call into the kernel available to libc.  It contains only constants, | 
|  | ***   structures, and macros generated from the original header, and thus, | 
|  | ***   contains no copyrightable information. | 
|  | *** | 
|  | ***   To edit the content of this header, modify the corresponding | 
|  | ***   source file (e.g. under external/kernel-headers/original/) then | 
|  | ***   run bionic/libc/kernel/tools/update_all.py | 
|  | *** | 
|  | ***   Any manual change here will be lost the next time this script will | 
|  | ***   be run. You've been warned! | 
|  | *** | 
|  | **************************************************************************** | 
|  | ****************************************************************************/ | 
|  | #ifndef _ATMMPC_H_ | 
|  | #define _ATMMPC_H_ | 
|  | #include <linux/atmapi.h> | 
|  | #include <linux/atmioc.h> | 
|  | #include <linux/atm.h> | 
|  | #include <linux/types.h> | 
|  | #define ATMMPC_CTRL _IO('a', ATMIOC_MPOA) | 
|  | #define ATMMPC_DATA _IO('a', ATMIOC_MPOA + 1) | 
|  | #define MPC_SOCKET_INGRESS 1 | 
|  | #define MPC_SOCKET_EGRESS 2 | 
|  | struct atmmpc_ioc { | 
|  | int dev_num; | 
|  | __be32 ipaddr; | 
|  | int type; | 
|  | }; | 
|  | typedef struct in_ctrl_info { | 
|  | __u8 Last_NHRP_CIE_code; | 
|  | __u8 Last_Q2931_cause_value; | 
|  | __u8 eg_MPC_ATM_addr[ATM_ESA_LEN]; | 
|  | __be32 tag; | 
|  | __be32 in_dst_ip; | 
|  | __u16 holding_time; | 
|  | __u32 request_id; | 
|  | } in_ctrl_info; | 
|  | typedef struct eg_ctrl_info { | 
|  | __u8 DLL_header[256]; | 
|  | __u8 DH_length; | 
|  | __be32 cache_id; | 
|  | __be32 tag; | 
|  | __be32 mps_ip; | 
|  | __be32 eg_dst_ip; | 
|  | __u8 in_MPC_data_ATM_addr[ATM_ESA_LEN]; | 
|  | __u16 holding_time; | 
|  | } eg_ctrl_info; | 
|  | struct mpc_parameters { | 
|  | __u16 mpc_p1; | 
|  | __u16 mpc_p2; | 
|  | __u8 mpc_p3[8]; | 
|  | __u16 mpc_p4; | 
|  | __u16 mpc_p5; | 
|  | __u16 mpc_p6; | 
|  | }; | 
|  | struct k_message { | 
|  | __u16 type; | 
|  | __be32 ip_mask; | 
|  | __u8 MPS_ctrl[ATM_ESA_LEN]; | 
|  | union { | 
|  | in_ctrl_info in_info; | 
|  | eg_ctrl_info eg_info; | 
|  | struct mpc_parameters params; | 
|  | } content; | 
|  | struct atm_qos qos; | 
|  | } __ATM_API_ALIGN; | 
|  | struct llc_snap_hdr { | 
|  | __u8 dsap; | 
|  | __u8 ssap; | 
|  | __u8 ui; | 
|  | __u8 org[3]; | 
|  | __u8 type[2]; | 
|  | }; | 
|  | #define TLV_MPOA_DEVICE_TYPE 0x00a03e2a | 
|  | #define NON_MPOA 0 | 
|  | #define MPS 1 | 
|  | #define MPC 2 | 
|  | #define MPS_AND_MPC 3 | 
|  | #define MPC_P1 10 | 
|  | #define MPC_P2 1 | 
|  | #define MPC_P3 0 | 
|  | #define MPC_P4 5 | 
|  | #define MPC_P5 40 | 
|  | #define MPC_P6 160 | 
|  | #define HOLDING_TIME_DEFAULT 1200 | 
|  | #define MPC_C1 2 | 
|  | #define MPC_C2 60 | 
|  | #define SND_MPOA_RES_RQST 201 | 
|  | #define SET_MPS_CTRL_ADDR 202 | 
|  | #define SND_MPOA_RES_RTRY 203 | 
|  | #define STOP_KEEP_ALIVE_SM 204 | 
|  | #define EGRESS_ENTRY_REMOVED 205 | 
|  | #define SND_EGRESS_PURGE 206 | 
|  | #define DIE 207 | 
|  | #define DATA_PLANE_PURGE 208 | 
|  | #define OPEN_INGRESS_SVC 209 | 
|  | #define MPOA_TRIGGER_RCVD 101 | 
|  | #define MPOA_RES_REPLY_RCVD 102 | 
|  | #define INGRESS_PURGE_RCVD 103 | 
|  | #define EGRESS_PURGE_RCVD 104 | 
|  | #define MPS_DEATH 105 | 
|  | #define CACHE_IMPOS_RCVD 106 | 
|  | #define SET_MPC_CTRL_ADDR 107 | 
|  | #define SET_MPS_MAC_ADDR 108 | 
|  | #define CLEAN_UP_AND_EXIT 109 | 
|  | #define SET_MPC_PARAMS 110 | 
|  | #define RELOAD 301 | 
|  | #endif |