|  | /**************************************************************************** | 
|  | **************************************************************************** | 
|  | *** | 
|  | ***   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 _ATMLEC_H_ | 
|  | #define _ATMLEC_H_ | 
|  | #include <linux/atmapi.h> | 
|  | #include <linux/atmioc.h> | 
|  | #include <linux/atm.h> | 
|  | #include <linux/if_ether.h> | 
|  | #include <linux/types.h> | 
|  | #define ATMLEC_CTRL _IO('a', ATMIOC_LANE) | 
|  | #define ATMLEC_DATA _IO('a', ATMIOC_LANE + 1) | 
|  | #define ATMLEC_MCAST _IO('a', ATMIOC_LANE + 2) | 
|  | #define MAX_LEC_ITF 48 | 
|  | typedef enum { | 
|  | l_set_mac_addr, | 
|  | l_del_mac_addr, | 
|  | l_svc_setup, | 
|  | l_addr_delete, | 
|  | l_topology_change, | 
|  | l_flush_complete, | 
|  | l_arp_update, | 
|  | l_narp_req, | 
|  | l_config, | 
|  | l_flush_tran_id, | 
|  | l_set_lecid, | 
|  | l_arp_xmt, | 
|  | l_rdesc_arp_xmt, | 
|  | l_associate_req, | 
|  | l_should_bridge | 
|  | } atmlec_msg_type; | 
|  | #define ATMLEC_MSG_TYPE_MAX l_should_bridge | 
|  | struct atmlec_config_msg { | 
|  | unsigned int maximum_unknown_frame_count; | 
|  | unsigned int max_unknown_frame_time; | 
|  | unsigned short max_retry_count; | 
|  | unsigned int aging_time; | 
|  | unsigned int forward_delay_time; | 
|  | unsigned int arp_response_time; | 
|  | unsigned int flush_timeout; | 
|  | unsigned int path_switching_delay; | 
|  | unsigned int lane_version; | 
|  | int mtu; | 
|  | int is_proxy; | 
|  | }; | 
|  | struct atmlec_msg { | 
|  | atmlec_msg_type type; | 
|  | int sizeoftlvs; | 
|  | union { | 
|  | struct { | 
|  | unsigned char mac_addr[ETH_ALEN]; | 
|  | unsigned char atm_addr[ATM_ESA_LEN]; | 
|  | unsigned int flag; | 
|  | unsigned int targetless_le_arp; | 
|  | unsigned int no_source_le_narp; | 
|  | } normal; | 
|  | struct atmlec_config_msg config; | 
|  | struct { | 
|  | __u16 lec_id; | 
|  | __u32 tran_id; | 
|  | unsigned char mac_addr[ETH_ALEN]; | 
|  | unsigned char atm_addr[ATM_ESA_LEN]; | 
|  | } proxy; | 
|  | } content; | 
|  | } __ATM_API_ALIGN; | 
|  | struct atmlec_ioc { | 
|  | int dev_num; | 
|  | unsigned char atm_addr[ATM_ESA_LEN]; | 
|  | unsigned char receive; | 
|  | }; | 
|  | #endif |