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 */ 7 #ifndef _ATMLEC_H_ 8 #define _ATMLEC_H_ 9 #include <linux/atmapi.h> 10 #include <linux/atmioc.h> 11 #include <linux/atm.h> 12 #include <linux/if_ether.h> 13 #include <linux/types.h> 14 #define ATMLEC_CTRL _IO('a', ATMIOC_LANE) 15 #define ATMLEC_DATA _IO('a', ATMIOC_LANE + 1) 16 #define ATMLEC_MCAST _IO('a', ATMIOC_LANE + 2) 17 #define MAX_LEC_ITF 48 18 typedef enum { 19 l_set_mac_addr, 20 l_del_mac_addr, 21 l_svc_setup, 22 l_addr_delete, 23 l_topology_change, 24 l_flush_complete, 25 l_arp_update, 26 l_narp_req, 27 l_config, 28 l_flush_tran_id, 29 l_set_lecid, 30 l_arp_xmt, 31 l_rdesc_arp_xmt, 32 l_associate_req, 33 l_should_bridge 34 } atmlec_msg_type; 35 #define ATMLEC_MSG_TYPE_MAX l_should_bridge 36 struct atmlec_config_msg { 37 unsigned int maximum_unknown_frame_count; 38 unsigned int max_unknown_frame_time; 39 unsigned short max_retry_count; 40 unsigned int aging_time; 41 unsigned int forward_delay_time; 42 unsigned int arp_response_time; 43 unsigned int flush_timeout; 44 unsigned int path_switching_delay; 45 unsigned int lane_version; 46 int mtu; 47 int is_proxy; 48 }; 49 struct atmlec_msg { 50 atmlec_msg_type type; 51 int sizeoftlvs; 52 union { 53 struct { 54 unsigned char mac_addr[ETH_ALEN]; 55 unsigned char atm_addr[ATM_ESA_LEN]; 56 unsigned int flag; 57 unsigned int targetless_le_arp; 58 unsigned int no_source_le_narp; 59 } normal; 60 struct atmlec_config_msg config; 61 struct { 62 __u16 lec_id; 63 __u32 tran_id; 64 unsigned char mac_addr[ETH_ALEN]; 65 unsigned char atm_addr[ATM_ESA_LEN]; 66 } proxy; 67 } content; 68 } __ATM_API_ALIGN; 69 struct atmlec_ioc { 70 int dev_num; 71 unsigned char atm_addr[ATM_ESA_LEN]; 72 unsigned char receive; 73 }; 74 #endif 75