blob: a72bec8bb74b357865dc7fe5ed449dcd71b3db90 [file] [log] [blame]
Elliott Hughes180edef2023-11-02 00:08:05 +00001/*
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 */
Ben Cheng655a7c02013-10-16 16:09:24 -07007#ifndef _ATMLEC_H_
8#define _ATMLEC_H_
9#include <linux/atmapi.h>
10#include <linux/atmioc.h>
Ben Cheng655a7c02013-10-16 16:09:24 -070011#include <linux/atm.h>
12#include <linux/if_ether.h>
13#include <linux/types.h>
14#define ATMLEC_CTRL _IO('a', ATMIOC_LANE)
Tao Baod7db5942015-01-28 10:07:51 -080015#define ATMLEC_DATA _IO('a', ATMIOC_LANE + 1)
16#define ATMLEC_MCAST _IO('a', ATMIOC_LANE + 2)
Ben Cheng655a7c02013-10-16 16:09:24 -070017#define MAX_LEC_ITF 48
18typedef enum {
Tao Baod7db5942015-01-28 10:07:51 -080019 l_set_mac_addr,
20 l_del_mac_addr,
21 l_svc_setup,
22 l_addr_delete,
Tao Baod7db5942015-01-28 10:07:51 -080023 l_topology_change,
24 l_flush_complete,
25 l_arp_update,
26 l_narp_req,
Tao Baod7db5942015-01-28 10:07:51 -080027 l_config,
28 l_flush_tran_id,
29 l_set_lecid,
30 l_arp_xmt,
Tao Baod7db5942015-01-28 10:07:51 -080031 l_rdesc_arp_xmt,
32 l_associate_req,
33 l_should_bridge
Ben Cheng655a7c02013-10-16 16:09:24 -070034} atmlec_msg_type;
Ben Cheng655a7c02013-10-16 16:09:24 -070035#define ATMLEC_MSG_TYPE_MAX l_should_bridge
36struct atmlec_config_msg {
Tao Baod7db5942015-01-28 10:07:51 -080037 unsigned int maximum_unknown_frame_count;
38 unsigned int max_unknown_frame_time;
Tao Baod7db5942015-01-28 10:07:51 -080039 unsigned short max_retry_count;
40 unsigned int aging_time;
41 unsigned int forward_delay_time;
42 unsigned int arp_response_time;
Tao Baod7db5942015-01-28 10:07:51 -080043 unsigned int flush_timeout;
44 unsigned int path_switching_delay;
45 unsigned int lane_version;
46 int mtu;
Tao Baod7db5942015-01-28 10:07:51 -080047 int is_proxy;
Ben Cheng655a7c02013-10-16 16:09:24 -070048};
49struct atmlec_msg {
Tao Baod7db5942015-01-28 10:07:51 -080050 atmlec_msg_type type;
Tao Baod7db5942015-01-28 10:07:51 -080051 int sizeoftlvs;
52 union {
53 struct {
54 unsigned char mac_addr[ETH_ALEN];
Tao Baod7db5942015-01-28 10:07:51 -080055 unsigned char atm_addr[ATM_ESA_LEN];
56 unsigned int flag;
57 unsigned int targetless_le_arp;
58 unsigned int no_source_le_narp;
Tao Baod7db5942015-01-28 10:07:51 -080059 } normal;
60 struct atmlec_config_msg config;
61 struct {
62 __u16 lec_id;
Tao Baod7db5942015-01-28 10:07:51 -080063 __u32 tran_id;
64 unsigned char mac_addr[ETH_ALEN];
65 unsigned char atm_addr[ATM_ESA_LEN];
66 } proxy;
Tao Baod7db5942015-01-28 10:07:51 -080067 } content;
Ben Cheng655a7c02013-10-16 16:09:24 -070068} __ATM_API_ALIGN;
69struct atmlec_ioc {
Tao Baod7db5942015-01-28 10:07:51 -080070 int dev_num;
Tao Baod7db5942015-01-28 10:07:51 -080071 unsigned char atm_addr[ATM_ESA_LEN];
72 unsigned char receive;
Ben Cheng655a7c02013-10-16 16:09:24 -070073};
74#endif