diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-10-13 16:28:32 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-10-13 16:28:32 -0400 |
commit | 0b381a286e5d748b1fd80095d3dd52326819742f (patch) | |
tree | d72fca56123520b9c78661137f8a02b6ad26f95b /include/uapi/linux/if_fddi.h | |
parent | 034b5eeb6bc783e7f60e11299154556e65699e7a (diff) | |
parent | 5921e6f8809b1616932ca4afd40fe449faa8fd88 (diff) |
Merge tag 'disintegrate-main-20121013' of git://git.infradead.org/users/dhowells/linux-headers
Pull UAPI disintegration for include/linux/{,byteorder/}*.h from David Howells:
"The patches contained herein do the following:
(1) Remove kernel-only stuff in linux/ppp-comp.h from the UAPI. I checked
this with Paul Mackerras before I created the patch and he suggested some
extra bits to unexport.
(2) Remove linux/blk_types.h entirely from the UAPI as none of it is userspace
applicable, and remove from the UAPI that part of linux/fs.h that was the
reason for linux/blk_types.h being exported in the first place. I
discussed this with Jens Axboe before creating the patch.
(3) The big patch of the series to disintegrate include/linux/*.h as a unit.
This could be split up, though there would be collisions in moving stuff
between the two Kbuild files when the parts are merged as that file is
sorted alphabetically rather than being grouped by subsystem.
Of this set of headers, 17 files have changed in the UAPI exported region
since the 4th and only 8 since the 9th so there isn't much change in this
area - as one might expect.
It should be pretty obvious and straightforward if it does come to fixing
up: stuff in __KERNEL__ guards stays where it is and stuff outside moves
to the same file in the include/uapi/linux/ directory.
If a new file appears then things get a bit more complicated as the
"headers +=" line has to move to include/uapi/linux/Kbuild. Only one new
file has appeared since the 9th and I judge this type of event relatively
unlikely.
(4) A patch to disintegrate include/linux/byteorder/*.h as a unit.
Signed-off-by: David Howells <dhowells@redhat.com>"
* tag 'disintegrate-main-20121013' of git://git.infradead.org/users/dhowells/linux-headers:
UAPI: (Scripted) Disintegrate include/linux/byteorder
UAPI: (Scripted) Disintegrate include/linux
UAPI: Unexport linux/blk_types.h
UAPI: Unexport part of linux/ppp-comp.h
Diffstat (limited to 'include/uapi/linux/if_fddi.h')
-rw-r--r-- | include/uapi/linux/if_fddi.h | 104 |
1 files changed, 104 insertions, 0 deletions
diff --git a/include/uapi/linux/if_fddi.h b/include/uapi/linux/if_fddi.h new file mode 100644 index 000000000000..0d36909c3aef --- /dev/null +++ b/include/uapi/linux/if_fddi.h | |||
@@ -0,0 +1,104 @@ | |||
1 | /* | ||
2 | * INET An implementation of the TCP/IP protocol suite for the LINUX | ||
3 | * operating system. INET is implemented using the BSD Socket | ||
4 | * interface as the means of communication with the user level. | ||
5 | * | ||
6 | * Global definitions for the ANSI FDDI interface. | ||
7 | * | ||
8 | * Version: @(#)if_fddi.h 1.0.2 Sep 29 2004 | ||
9 | * | ||
10 | * Author: Lawrence V. Stefani, <stefani@lkg.dec.com> | ||
11 | * | ||
12 | * if_fddi.h is based on previous if_ether.h and if_tr.h work by | ||
13 | * Fred N. van Kempen, <waltje@uWalt.NL.Mugnet.ORG> | ||
14 | * Donald Becker, <becker@super.org> | ||
15 | * Alan Cox, <alan@lxorguk.ukuu.org.uk> | ||
16 | * Steve Whitehouse, <gw7rrm@eeshack3.swan.ac.uk> | ||
17 | * Peter De Schrijver, <stud11@cc4.kuleuven.ac.be> | ||
18 | * | ||
19 | * This program is free software; you can redistribute it and/or | ||
20 | * modify it under the terms of the GNU General Public License | ||
21 | * as published by the Free Software Foundation; either version | ||
22 | * 2 of the License, or (at your option) any later version. | ||
23 | */ | ||
24 | #ifndef _UAPI_LINUX_IF_FDDI_H | ||
25 | #define _UAPI_LINUX_IF_FDDI_H | ||
26 | |||
27 | #include <linux/types.h> | ||
28 | |||
29 | /* | ||
30 | * Define max and min legal sizes. The frame sizes do not include | ||
31 | * 4 byte FCS/CRC (frame check sequence). | ||
32 | */ | ||
33 | #define FDDI_K_ALEN 6 /* Octets in one FDDI address */ | ||
34 | #define FDDI_K_8022_HLEN 16 /* Total octets in 802.2 header */ | ||
35 | #define FDDI_K_SNAP_HLEN 21 /* Total octets in 802.2 SNAP header */ | ||
36 | #define FDDI_K_8022_ZLEN 16 /* Min octets in 802.2 frame sans FCS */ | ||
37 | #define FDDI_K_SNAP_ZLEN 21 /* Min octets in 802.2 SNAP frame sans FCS */ | ||
38 | #define FDDI_K_8022_DLEN 4475 /* Max octets in 802.2 payload */ | ||
39 | #define FDDI_K_SNAP_DLEN 4470 /* Max octets in 802.2 SNAP payload */ | ||
40 | #define FDDI_K_LLC_ZLEN 13 /* Min octets in LLC frame sans FCS */ | ||
41 | #define FDDI_K_LLC_LEN 4491 /* Max octets in LLC frame sans FCS */ | ||
42 | |||
43 | /* Define FDDI Frame Control (FC) Byte values */ | ||
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 | |||
61 | /* Define LLC and SNAP constants */ | ||
62 | #define FDDI_EXTENDED_SAP 0xAA | ||
63 | #define FDDI_UI_CMD 0x03 | ||
64 | |||
65 | /* Define 802.2 Type 1 header */ | ||
66 | struct fddi_8022_1_hdr { | ||
67 | __u8 dsap; /* destination service access point */ | ||
68 | __u8 ssap; /* source service access point */ | ||
69 | __u8 ctrl; /* control byte #1 */ | ||
70 | } __attribute__((packed)); | ||
71 | |||
72 | /* Define 802.2 Type 2 header */ | ||
73 | struct fddi_8022_2_hdr { | ||
74 | __u8 dsap; /* destination service access point */ | ||
75 | __u8 ssap; /* source service access point */ | ||
76 | __u8 ctrl_1; /* control byte #1 */ | ||
77 | __u8 ctrl_2; /* control byte #2 */ | ||
78 | } __attribute__((packed)); | ||
79 | |||
80 | /* Define 802.2 SNAP header */ | ||
81 | #define FDDI_K_OUI_LEN 3 | ||
82 | struct fddi_snap_hdr { | ||
83 | __u8 dsap; /* always 0xAA */ | ||
84 | __u8 ssap; /* always 0xAA */ | ||
85 | __u8 ctrl; /* always 0x03 */ | ||
86 | __u8 oui[FDDI_K_OUI_LEN]; /* organizational universal id */ | ||
87 | __be16 ethertype; /* packet type ID field */ | ||
88 | } __attribute__((packed)); | ||
89 | |||
90 | /* Define FDDI LLC frame header */ | ||
91 | struct fddihdr { | ||
92 | __u8 fc; /* frame control */ | ||
93 | __u8 daddr[FDDI_K_ALEN]; /* destination address */ | ||
94 | __u8 saddr[FDDI_K_ALEN]; /* source address */ | ||
95 | union | ||
96 | { | ||
97 | struct fddi_8022_1_hdr llc_8022_1; | ||
98 | struct fddi_8022_2_hdr llc_8022_2; | ||
99 | struct fddi_snap_hdr llc_snap; | ||
100 | } hdr; | ||
101 | } __attribute__((packed)); | ||
102 | |||
103 | |||
104 | #endif /* _UAPI_LINUX_IF_FDDI_H */ | ||