| Ben Cheng | 655a7c0 | 2013-10-16 16:09:24 -0700 | [diff] [blame] | 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> | 
| Ben Cheng | 655a7c0 | 2013-10-16 16:09:24 -0700 | [diff] [blame] | 23 | #include <linux/atm.h> | 
 | 24 | #include <linux/if_ether.h> | 
 | 25 | #include <linux/types.h> | 
 | 26 | #define ATMLEC_CTRL _IO('a', ATMIOC_LANE) | 
| Tao Bao | d7db594 | 2015-01-28 10:07:51 -0800 | [diff] [blame] | 27 | #define ATMLEC_DATA _IO('a', ATMIOC_LANE + 1) | 
 | 28 | #define ATMLEC_MCAST _IO('a', ATMIOC_LANE + 2) | 
| Ben Cheng | 655a7c0 | 2013-10-16 16:09:24 -0700 | [diff] [blame] | 29 | #define MAX_LEC_ITF 48 | 
 | 30 | typedef enum { | 
| Tao Bao | d7db594 | 2015-01-28 10:07:51 -0800 | [diff] [blame] | 31 |   l_set_mac_addr, | 
 | 32 |   l_del_mac_addr, | 
 | 33 |   l_svc_setup, | 
 | 34 |   l_addr_delete, | 
| Tao Bao | d7db594 | 2015-01-28 10:07:51 -0800 | [diff] [blame] | 35 |   l_topology_change, | 
 | 36 |   l_flush_complete, | 
 | 37 |   l_arp_update, | 
 | 38 |   l_narp_req, | 
| Tao Bao | d7db594 | 2015-01-28 10:07:51 -0800 | [diff] [blame] | 39 |   l_config, | 
 | 40 |   l_flush_tran_id, | 
 | 41 |   l_set_lecid, | 
 | 42 |   l_arp_xmt, | 
| Tao Bao | d7db594 | 2015-01-28 10:07:51 -0800 | [diff] [blame] | 43 |   l_rdesc_arp_xmt, | 
 | 44 |   l_associate_req, | 
 | 45 |   l_should_bridge | 
| Ben Cheng | 655a7c0 | 2013-10-16 16:09:24 -0700 | [diff] [blame] | 46 | } atmlec_msg_type; | 
| Ben Cheng | 655a7c0 | 2013-10-16 16:09:24 -0700 | [diff] [blame] | 47 | #define ATMLEC_MSG_TYPE_MAX l_should_bridge | 
 | 48 | struct atmlec_config_msg { | 
| Tao Bao | d7db594 | 2015-01-28 10:07:51 -0800 | [diff] [blame] | 49 |   unsigned int maximum_unknown_frame_count; | 
 | 50 |   unsigned int max_unknown_frame_time; | 
| Tao Bao | d7db594 | 2015-01-28 10:07:51 -0800 | [diff] [blame] | 51 |   unsigned short max_retry_count; | 
 | 52 |   unsigned int aging_time; | 
 | 53 |   unsigned int forward_delay_time; | 
 | 54 |   unsigned int arp_response_time; | 
| Tao Bao | d7db594 | 2015-01-28 10:07:51 -0800 | [diff] [blame] | 55 |   unsigned int flush_timeout; | 
 | 56 |   unsigned int path_switching_delay; | 
 | 57 |   unsigned int lane_version; | 
 | 58 |   int mtu; | 
| Tao Bao | d7db594 | 2015-01-28 10:07:51 -0800 | [diff] [blame] | 59 |   int is_proxy; | 
| Ben Cheng | 655a7c0 | 2013-10-16 16:09:24 -0700 | [diff] [blame] | 60 | }; | 
 | 61 | struct atmlec_msg { | 
| Tao Bao | d7db594 | 2015-01-28 10:07:51 -0800 | [diff] [blame] | 62 |   atmlec_msg_type type; | 
| Tao Bao | d7db594 | 2015-01-28 10:07:51 -0800 | [diff] [blame] | 63 |   int sizeoftlvs; | 
 | 64 |   union { | 
 | 65 |     struct { | 
 | 66 |       unsigned char mac_addr[ETH_ALEN]; | 
| Tao Bao | d7db594 | 2015-01-28 10:07:51 -0800 | [diff] [blame] | 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; | 
| Tao Bao | d7db594 | 2015-01-28 10:07:51 -0800 | [diff] [blame] | 71 |     } normal; | 
 | 72 |     struct atmlec_config_msg config; | 
 | 73 |     struct { | 
 | 74 |       __u16 lec_id; | 
| Tao Bao | d7db594 | 2015-01-28 10:07:51 -0800 | [diff] [blame] | 75 |       __u32 tran_id; | 
 | 76 |       unsigned char mac_addr[ETH_ALEN]; | 
 | 77 |       unsigned char atm_addr[ATM_ESA_LEN]; | 
 | 78 |     } proxy; | 
| Tao Bao | d7db594 | 2015-01-28 10:07:51 -0800 | [diff] [blame] | 79 |   } content; | 
| Ben Cheng | 655a7c0 | 2013-10-16 16:09:24 -0700 | [diff] [blame] | 80 | } __ATM_API_ALIGN; | 
 | 81 | struct atmlec_ioc { | 
| Tao Bao | d7db594 | 2015-01-28 10:07:51 -0800 | [diff] [blame] | 82 |   int dev_num; | 
| Tao Bao | d7db594 | 2015-01-28 10:07:51 -0800 | [diff] [blame] | 83 |   unsigned char atm_addr[ATM_ESA_LEN]; | 
 | 84 |   unsigned char receive; | 
| Ben Cheng | 655a7c0 | 2013-10-16 16:09:24 -0700 | [diff] [blame] | 85 | }; | 
 | 86 | #endif |