^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) /* SPDX-License-Identifier: GPL-2.0 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) #ifndef _NET_FIREWIRE_H
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) #define _NET_FIREWIRE_H
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) /* Pseudo L2 address */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) #define FWNET_ALEN 16
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) union fwnet_hwaddr {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) u8 u[FWNET_ALEN];
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) /* "Hardware address" defined in RFC2734/RF3146 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) struct {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) __be64 uniq_id; /* EUI-64 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) u8 max_rec; /* max packet size */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) u8 sspd; /* max speed */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) __be16 fifo_hi; /* hi 16bits of FIFO addr */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) __be32 fifo_lo; /* lo 32bits of FIFO addr */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) } __packed uc;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) /* Pseudo L2 Header */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) #define FWNET_HLEN 18
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) struct fwnet_header {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) u8 h_dest[FWNET_ALEN]; /* destination address */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) __be16 h_proto; /* packet type ID field */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) } __packed;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) #endif