blob: 6f26604015e30fb7d13f79da66f2a8153cfcea3e [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 _UAPI_LINUX_IF_FDDI_H
8#define _UAPI_LINUX_IF_FDDI_H
9#include <linux/types.h>
10#define FDDI_K_ALEN 6
Ben Cheng655a7c02013-10-16 16:09:24 -070011#define FDDI_K_8022_HLEN 16
12#define FDDI_K_SNAP_HLEN 21
13#define FDDI_K_8022_ZLEN 16
14#define FDDI_K_SNAP_ZLEN 21
Ben Cheng655a7c02013-10-16 16:09:24 -070015#define FDDI_K_8022_DLEN 4475
16#define FDDI_K_SNAP_DLEN 4470
17#define FDDI_K_LLC_ZLEN 13
18#define FDDI_K_LLC_LEN 4491
Christopher Ferrisba8d4f42014-09-03 19:56:49 -070019#define FDDI_K_OUI_LEN 3
Christopher Ferris967fb012019-01-10 14:14:59 -080020#define FDDI_FC_K_CLASS_MASK 0x80
21#define FDDI_FC_K_CLASS_SYNC 0x80
22#define FDDI_FC_K_CLASS_ASYNC 0x00
23#define FDDI_FC_K_ALEN_MASK 0x40
24#define FDDI_FC_K_ALEN_48 0x40
25#define FDDI_FC_K_ALEN_16 0x00
26#define FDDI_FC_K_FORMAT_MASK 0x30
27#define FDDI_FC_K_FORMAT_FUTURE 0x30
28#define FDDI_FC_K_FORMAT_IMPLEMENTOR 0x20
29#define FDDI_FC_K_FORMAT_LLC 0x10
30#define FDDI_FC_K_FORMAT_MANAGEMENT 0x00
31#define FDDI_FC_K_CONTROL_MASK 0x0f
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