blob: 4efd7f833dcef449bf4ef58ca0cc3f911d8a2d39 [file] [log] [blame]
Ben Cheng655a7c02013-10-16 16:09:24 -07001/****************************************************************************
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
Ben Cheng655a7c02013-10-16 16:09:24 -070023#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
Ben Cheng655a7c02013-10-16 16:09:24 -070027#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
Christopher Ferrisba8d4f42014-09-03 19:56:49 -070031#define FDDI_K_OUI_LEN 3
Ben Cheng655a7c02013-10-16 16:09:24 -070032#define FDDI_FC_K_VOID 0x00
33#define FDDI_FC_K_NON_RESTRICTED_TOKEN 0x80
34#define FDDI_FC_K_RESTRICTED_TOKEN 0xC0
Christopher Ferrisba8d4f42014-09-03 19:56:49 -070035#define FDDI_FC_K_SMT_MIN 0x41
Ben Cheng655a7c02013-10-16 16:09:24 -070036#define FDDI_FC_K_SMT_MAX 0x4F
37#define FDDI_FC_K_MAC_MIN 0xC1
38#define FDDI_FC_K_MAC_MAX 0xCF
Christopher Ferrisba8d4f42014-09-03 19:56:49 -070039#define FDDI_FC_K_ASYNC_LLC_MIN 0x50
Ben Cheng655a7c02013-10-16 16:09:24 -070040#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
Christopher Ferrisba8d4f42014-09-03 19:56:49 -070043#define FDDI_FC_K_SYNC_LLC_MAX 0xD7
Ben Cheng655a7c02013-10-16 16:09:24 -070044#define FDDI_FC_K_IMPLEMENTOR_MIN 0x60
45#define FDDI_FC_K_IMPLEMENTOR_MAX 0x6F
46#define FDDI_FC_K_RESERVED_MIN 0x70
Christopher Ferrisba8d4f42014-09-03 19:56:49 -070047#define FDDI_FC_K_RESERVED_MAX 0x7F
Ben Cheng655a7c02013-10-16 16:09:24 -070048#define FDDI_EXTENDED_SAP 0xAA
49#define FDDI_UI_CMD 0x03
50struct fddi_8022_1_hdr {
Tao Baod7db5942015-01-28 10:07:51 -080051 __u8 dsap;
52 __u8 ssap;
53 __u8 ctrl;
Ben Cheng655a7c02013-10-16 16:09:24 -070054} __attribute__((packed));
Christopher Ferrisba8d4f42014-09-03 19:56:49 -070055struct fddi_8022_2_hdr {
Tao Baod7db5942015-01-28 10:07:51 -080056 __u8 dsap;
57 __u8 ssap;
58 __u8 ctrl_1;
Tao Baod7db5942015-01-28 10:07:51 -080059 __u8 ctrl_2;
Ben Cheng655a7c02013-10-16 16:09:24 -070060} __attribute__((packed));
Ben Cheng655a7c02013-10-16 16:09:24 -070061struct fddi_snap_hdr {
Tao Baod7db5942015-01-28 10:07:51 -080062 __u8 dsap;
Tao Baod7db5942015-01-28 10:07:51 -080063 __u8 ssap;
64 __u8 ctrl;
65 __u8 oui[FDDI_K_OUI_LEN];
66 __be16 ethertype;
Ben Cheng655a7c02013-10-16 16:09:24 -070067} __attribute__((packed));
68struct fddihdr {
Tao Baod7db5942015-01-28 10:07:51 -080069 __u8 fc;
70 __u8 daddr[FDDI_K_ALEN];
Tao Baod7db5942015-01-28 10:07:51 -080071 __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;
Tao Baod7db5942015-01-28 10:07:51 -080075 struct fddi_snap_hdr llc_snap;
76 } hdr;
Ben Cheng655a7c02013-10-16 16:09:24 -070077} __attribute__((packed));
Ben Cheng655a7c02013-10-16 16:09:24 -070078#endif