• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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_CLASS_MASK 0x80
33 #define FDDI_FC_K_CLASS_SYNC 0x80
34 #define FDDI_FC_K_CLASS_ASYNC 0x00
35 #define FDDI_FC_K_ALEN_MASK 0x40
36 #define FDDI_FC_K_ALEN_48 0x40
37 #define FDDI_FC_K_ALEN_16 0x00
38 #define FDDI_FC_K_FORMAT_MASK 0x30
39 #define FDDI_FC_K_FORMAT_FUTURE 0x30
40 #define FDDI_FC_K_FORMAT_IMPLEMENTOR 0x20
41 #define FDDI_FC_K_FORMAT_LLC 0x10
42 #define FDDI_FC_K_FORMAT_MANAGEMENT 0x00
43 #define FDDI_FC_K_CONTROL_MASK 0x0f
44 #define FDDI_FC_K_VOID 0x00
45 #define FDDI_FC_K_NON_RESTRICTED_TOKEN 0x80
46 #define FDDI_FC_K_RESTRICTED_TOKEN 0xC0
47 #define FDDI_FC_K_SMT_MIN 0x41
48 #define FDDI_FC_K_SMT_MAX 0x4F
49 #define FDDI_FC_K_MAC_MIN 0xC1
50 #define FDDI_FC_K_MAC_MAX 0xCF
51 #define FDDI_FC_K_ASYNC_LLC_MIN 0x50
52 #define FDDI_FC_K_ASYNC_LLC_DEF 0x54
53 #define FDDI_FC_K_ASYNC_LLC_MAX 0x5F
54 #define FDDI_FC_K_SYNC_LLC_MIN 0xD0
55 #define FDDI_FC_K_SYNC_LLC_MAX 0xD7
56 #define FDDI_FC_K_IMPLEMENTOR_MIN 0x60
57 #define FDDI_FC_K_IMPLEMENTOR_MAX 0x6F
58 #define FDDI_FC_K_RESERVED_MIN 0x70
59 #define FDDI_FC_K_RESERVED_MAX 0x7F
60 #define FDDI_EXTENDED_SAP 0xAA
61 #define FDDI_UI_CMD 0x03
62 struct fddi_8022_1_hdr {
63   __u8 dsap;
64   __u8 ssap;
65   __u8 ctrl;
66 } __attribute__((packed));
67 struct fddi_8022_2_hdr {
68   __u8 dsap;
69   __u8 ssap;
70   __u8 ctrl_1;
71   __u8 ctrl_2;
72 } __attribute__((packed));
73 struct fddi_snap_hdr {
74   __u8 dsap;
75   __u8 ssap;
76   __u8 ctrl;
77   __u8 oui[FDDI_K_OUI_LEN];
78   __be16 ethertype;
79 } __attribute__((packed));
80 struct fddihdr {
81   __u8 fc;
82   __u8 daddr[FDDI_K_ALEN];
83   __u8 saddr[FDDI_K_ALEN];
84   union {
85     struct fddi_8022_1_hdr llc_8022_1;
86     struct fddi_8022_2_hdr llc_8022_2;
87     struct fddi_snap_hdr llc_snap;
88   } hdr;
89 } __attribute__((packed));
90 #endif
91