1 /**************************************************************************** 2 **************************************************************************** 3 *** 4 *** This header was automatically generated from a Linux kernel header 5 *** of the same name, to make information necessary for userspace to 6 *** call into the kernel available to libc. It contains only constants, 7 *** structures, and macros generated from the original header, and thus, 8 *** contains no copyrightable information. 9 *** 10 *** To edit the content of this header, modify the corresponding 11 *** source file (e.g. under external/kernel-headers/original/) then 12 *** run bionic/libc/kernel/tools/update_all.py 13 *** 14 *** Any manual change here will be lost the next time this script will 15 *** be run. You've been warned! 16 *** 17 **************************************************************************** 18 ****************************************************************************/ 19 #ifndef _ATMLEC_H_ 20 #define _ATMLEC_H_ 21 #include <linux/atmapi.h> 22 #include <linux/atmioc.h> 23 #include <linux/atm.h> 24 #include <linux/if_ether.h> 25 #include <linux/types.h> 26 #define ATMLEC_CTRL _IO('a', ATMIOC_LANE) 27 #define ATMLEC_DATA _IO('a', ATMIOC_LANE + 1) 28 #define ATMLEC_MCAST _IO('a', ATMIOC_LANE + 2) 29 #define MAX_LEC_ITF 48 30 typedef enum { 31 l_set_mac_addr, 32 l_del_mac_addr, 33 l_svc_setup, 34 l_addr_delete, 35 l_topology_change, 36 l_flush_complete, 37 l_arp_update, 38 l_narp_req, 39 l_config, 40 l_flush_tran_id, 41 l_set_lecid, 42 l_arp_xmt, 43 l_rdesc_arp_xmt, 44 l_associate_req, 45 l_should_bridge 46 } atmlec_msg_type; 47 #define ATMLEC_MSG_TYPE_MAX l_should_bridge 48 struct atmlec_config_msg { 49 unsigned int maximum_unknown_frame_count; 50 unsigned int max_unknown_frame_time; 51 unsigned short max_retry_count; 52 unsigned int aging_time; 53 unsigned int forward_delay_time; 54 unsigned int arp_response_time; 55 unsigned int flush_timeout; 56 unsigned int path_switching_delay; 57 unsigned int lane_version; 58 int mtu; 59 int is_proxy; 60 }; 61 struct atmlec_msg { 62 atmlec_msg_type type; 63 int sizeoftlvs; 64 union { 65 struct { 66 unsigned char mac_addr[ETH_ALEN]; 67 unsigned char atm_addr[ATM_ESA_LEN]; 68 unsigned int flag; 69 unsigned int targetless_le_arp; 70 unsigned int no_source_le_narp; 71 } normal; 72 struct atmlec_config_msg config; 73 struct { 74 __u16 lec_id; 75 __u32 tran_id; 76 unsigned char mac_addr[ETH_ALEN]; 77 unsigned char atm_addr[ATM_ESA_LEN]; 78 } proxy; 79 } content; 80 } __ATM_API_ALIGN; 81 struct atmlec_ioc { 82 int dev_num; 83 unsigned char atm_addr[ATM_ESA_LEN]; 84 unsigned char receive; 85 }; 86 #endif 87