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