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 _UAPI_LINUX_IF_FDDI_H
20#define _UAPI_LINUX_IF_FDDI_H
21#include <linux/types.h>
22#define FDDI_K_ALEN 6
23#define FDDI_K_8022_HLEN 16
24#define FDDI_K_SNAP_HLEN 21
25#define FDDI_K_8022_ZLEN 16
26#define FDDI_K_SNAP_ZLEN 21
27#define FDDI_K_8022_DLEN 4475
28#define FDDI_K_SNAP_DLEN 4470
29#define FDDI_K_LLC_ZLEN 13
30#define FDDI_K_LLC_LEN 4491
31#define FDDI_K_OUI_LEN 3
32#define FDDI_FC_K_VOID 0x00
33#define FDDI_FC_K_NON_RESTRICTED_TOKEN 0x80
34#define FDDI_FC_K_RESTRICTED_TOKEN 0xC0
35#define FDDI_FC_K_SMT_MIN 0x41
36#define FDDI_FC_K_SMT_MAX 0x4F
37#define FDDI_FC_K_MAC_MIN 0xC1
38#define FDDI_FC_K_MAC_MAX 0xCF
39#define FDDI_FC_K_ASYNC_LLC_MIN 0x50
40#define FDDI_FC_K_ASYNC_LLC_DEF 0x54
41#define FDDI_FC_K_ASYNC_LLC_MAX 0x5F
42#define FDDI_FC_K_SYNC_LLC_MIN 0xD0
43#define FDDI_FC_K_SYNC_LLC_MAX 0xD7
44#define FDDI_FC_K_IMPLEMENTOR_MIN 0x60
45#define FDDI_FC_K_IMPLEMENTOR_MAX 0x6F
46#define FDDI_FC_K_RESERVED_MIN 0x70
47#define FDDI_FC_K_RESERVED_MAX 0x7F
48#define FDDI_EXTENDED_SAP 0xAA
49#define FDDI_UI_CMD 0x03
50struct fddi_8022_1_hdr {
51  __u8 dsap;
52  __u8 ssap;
53  __u8 ctrl;
54} __attribute__((packed));
55struct fddi_8022_2_hdr {
56  __u8 dsap;
57  __u8 ssap;
58  __u8 ctrl_1;
59  __u8 ctrl_2;
60} __attribute__((packed));
61struct fddi_snap_hdr {
62  __u8 dsap;
63  __u8 ssap;
64  __u8 ctrl;
65  __u8 oui[FDDI_K_OUI_LEN];
66  __be16 ethertype;
67} __attribute__((packed));
68struct fddihdr {
69  __u8 fc;
70  __u8 daddr[FDDI_K_ALEN];
71  __u8 saddr[FDDI_K_ALEN];
72  union {
73    struct fddi_8022_1_hdr llc_8022_1;
74    struct fddi_8022_2_hdr llc_8022_2;
75    struct fddi_snap_hdr llc_snap;
76  } hdr;
77} __attribute__((packed));
78#endif
79