122851890Sopenharmony_ci/****************************************************************************
222851890Sopenharmony_ci ****************************************************************************
322851890Sopenharmony_ci ***
422851890Sopenharmony_ci ***   This header was automatically generated from a Linux kernel header
522851890Sopenharmony_ci ***   of the same name, to make information necessary for userspace to
622851890Sopenharmony_ci ***   call into the kernel available to libc.  It contains only constants,
722851890Sopenharmony_ci ***   structures, and macros generated from the original header, and thus,
822851890Sopenharmony_ci ***   contains no copyrightable information.
922851890Sopenharmony_ci ***
1022851890Sopenharmony_ci ***   To edit the content of this header, modify the corresponding
1122851890Sopenharmony_ci ***   source file (e.g. under external/kernel-headers/original/) then
1222851890Sopenharmony_ci ***   run bionic/libc/kernel/tools/update_all.py
1322851890Sopenharmony_ci ***
1422851890Sopenharmony_ci ***   Any manual change here will be lost the next time this script will
1522851890Sopenharmony_ci ***   be run. You've been warned!
1622851890Sopenharmony_ci ***
1722851890Sopenharmony_ci ****************************************************************************
1822851890Sopenharmony_ci ****************************************************************************/
1922851890Sopenharmony_ci#ifndef _UAPI_LINUX_IF_FDDI_H
2022851890Sopenharmony_ci#define _UAPI_LINUX_IF_FDDI_H
2122851890Sopenharmony_ci#include <linux/types.h>
2222851890Sopenharmony_ci#define FDDI_K_ALEN 6
2322851890Sopenharmony_ci#define FDDI_K_8022_HLEN 16
2422851890Sopenharmony_ci#define FDDI_K_SNAP_HLEN 21
2522851890Sopenharmony_ci#define FDDI_K_8022_ZLEN 16
2622851890Sopenharmony_ci#define FDDI_K_SNAP_ZLEN 21
2722851890Sopenharmony_ci#define FDDI_K_8022_DLEN 4475
2822851890Sopenharmony_ci#define FDDI_K_SNAP_DLEN 4470
2922851890Sopenharmony_ci#define FDDI_K_LLC_ZLEN 13
3022851890Sopenharmony_ci#define FDDI_K_LLC_LEN 4491
3122851890Sopenharmony_ci#define FDDI_K_OUI_LEN 3
3222851890Sopenharmony_ci#define FDDI_FC_K_CLASS_MASK 0x80
3322851890Sopenharmony_ci#define FDDI_FC_K_CLASS_SYNC 0x80
3422851890Sopenharmony_ci#define FDDI_FC_K_CLASS_ASYNC 0x00
3522851890Sopenharmony_ci#define FDDI_FC_K_ALEN_MASK 0x40
3622851890Sopenharmony_ci#define FDDI_FC_K_ALEN_48 0x40
3722851890Sopenharmony_ci#define FDDI_FC_K_ALEN_16 0x00
3822851890Sopenharmony_ci#define FDDI_FC_K_FORMAT_MASK 0x30
3922851890Sopenharmony_ci#define FDDI_FC_K_FORMAT_FUTURE 0x30
4022851890Sopenharmony_ci#define FDDI_FC_K_FORMAT_IMPLEMENTOR 0x20
4122851890Sopenharmony_ci#define FDDI_FC_K_FORMAT_LLC 0x10
4222851890Sopenharmony_ci#define FDDI_FC_K_FORMAT_MANAGEMENT 0x00
4322851890Sopenharmony_ci#define FDDI_FC_K_CONTROL_MASK 0x0f
4422851890Sopenharmony_ci#define FDDI_FC_K_VOID 0x00
4522851890Sopenharmony_ci#define FDDI_FC_K_NON_RESTRICTED_TOKEN 0x80
4622851890Sopenharmony_ci#define FDDI_FC_K_RESTRICTED_TOKEN 0xC0
4722851890Sopenharmony_ci#define FDDI_FC_K_SMT_MIN 0x41
4822851890Sopenharmony_ci#define FDDI_FC_K_SMT_MAX 0x4F
4922851890Sopenharmony_ci#define FDDI_FC_K_MAC_MIN 0xC1
5022851890Sopenharmony_ci#define FDDI_FC_K_MAC_MAX 0xCF
5122851890Sopenharmony_ci#define FDDI_FC_K_ASYNC_LLC_MIN 0x50
5222851890Sopenharmony_ci#define FDDI_FC_K_ASYNC_LLC_DEF 0x54
5322851890Sopenharmony_ci#define FDDI_FC_K_ASYNC_LLC_MAX 0x5F
5422851890Sopenharmony_ci#define FDDI_FC_K_SYNC_LLC_MIN 0xD0
5522851890Sopenharmony_ci#define FDDI_FC_K_SYNC_LLC_MAX 0xD7
5622851890Sopenharmony_ci#define FDDI_FC_K_IMPLEMENTOR_MIN 0x60
5722851890Sopenharmony_ci#define FDDI_FC_K_IMPLEMENTOR_MAX 0x6F
5822851890Sopenharmony_ci#define FDDI_FC_K_RESERVED_MIN 0x70
5922851890Sopenharmony_ci#define FDDI_FC_K_RESERVED_MAX 0x7F
6022851890Sopenharmony_ci#define FDDI_EXTENDED_SAP 0xAA
6122851890Sopenharmony_ci#define FDDI_UI_CMD 0x03
6222851890Sopenharmony_cistruct fddi_8022_1_hdr {
6322851890Sopenharmony_ci  __u8 dsap;
6422851890Sopenharmony_ci  __u8 ssap;
6522851890Sopenharmony_ci  __u8 ctrl;
6622851890Sopenharmony_ci} __attribute__((packed));
6722851890Sopenharmony_cistruct fddi_8022_2_hdr {
6822851890Sopenharmony_ci  __u8 dsap;
6922851890Sopenharmony_ci  __u8 ssap;
7022851890Sopenharmony_ci  __u8 ctrl_1;
7122851890Sopenharmony_ci  __u8 ctrl_2;
7222851890Sopenharmony_ci} __attribute__((packed));
7322851890Sopenharmony_cistruct fddi_snap_hdr {
7422851890Sopenharmony_ci  __u8 dsap;
7522851890Sopenharmony_ci  __u8 ssap;
7622851890Sopenharmony_ci  __u8 ctrl;
7722851890Sopenharmony_ci  __u8 oui[FDDI_K_OUI_LEN];
7822851890Sopenharmony_ci  __be16 ethertype;
7922851890Sopenharmony_ci} __attribute__((packed));
8022851890Sopenharmony_cistruct fddihdr {
8122851890Sopenharmony_ci  __u8 fc;
8222851890Sopenharmony_ci  __u8 daddr[FDDI_K_ALEN];
8322851890Sopenharmony_ci  __u8 saddr[FDDI_K_ALEN];
8422851890Sopenharmony_ci  union {
8522851890Sopenharmony_ci    struct fddi_8022_1_hdr llc_8022_1;
8622851890Sopenharmony_ci    struct fddi_8022_2_hdr llc_8022_2;
8722851890Sopenharmony_ci    struct fddi_snap_hdr llc_snap;
8822851890Sopenharmony_ci  } hdr;
8922851890Sopenharmony_ci} __attribute__((packed));
9022851890Sopenharmony_ci#endif
91