2022-01-01 18:54:23 +00:00
|
|
|
/* Copyright (C) 1997-2022 Free Software Foundation, Inc.
|
1997-07-06 22:02:42 +00:00
|
|
|
This file is part of the GNU C Library.
|
|
|
|
|
|
|
|
The GNU C Library is free software; you can redistribute it and/or
|
2001-07-06 04:58:11 +00:00
|
|
|
modify it under the terms of the GNU Lesser General Public
|
|
|
|
License as published by the Free Software Foundation; either
|
|
|
|
version 2.1 of the License, or (at your option) any later version.
|
1997-07-06 22:02:42 +00:00
|
|
|
|
|
|
|
The GNU C Library is distributed in the hope that it will be useful,
|
|
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
2001-07-06 04:58:11 +00:00
|
|
|
Lesser General Public License for more details.
|
1997-07-06 22:02:42 +00:00
|
|
|
|
2001-07-06 04:58:11 +00:00
|
|
|
You should have received a copy of the GNU Lesser General Public
|
2012-02-09 23:18:22 +00:00
|
|
|
License along with the GNU C Library; if not, see
|
Prefer https to http for gnu.org and fsf.org URLs
Also, change sources.redhat.com to sourceware.org.
This patch was automatically generated by running the following shell
script, which uses GNU sed, and which avoids modifying files imported
from upstream:
sed -ri '
s,(http|ftp)(://(.*\.)?(gnu|fsf|sourceware)\.org($|[^.]|\.[^a-z])),https\2,g
s,(http|ftp)(://(.*\.)?)sources\.redhat\.com($|[^.]|\.[^a-z]),https\2sourceware.org\4,g
' \
$(find $(git ls-files) -prune -type f \
! -name '*.po' \
! -name 'ChangeLog*' \
! -path COPYING ! -path COPYING.LIB \
! -path manual/fdl-1.3.texi ! -path manual/lgpl-2.1.texi \
! -path manual/texinfo.tex ! -path scripts/config.guess \
! -path scripts/config.sub ! -path scripts/install-sh \
! -path scripts/mkinstalldirs ! -path scripts/move-if-change \
! -path INSTALL ! -path locale/programs/charmap-kw.h \
! -path po/libc.pot ! -path sysdeps/gnu/errlist.c \
! '(' -name configure \
-execdir test -f configure.ac -o -f configure.in ';' ')' \
! '(' -name preconfigure \
-execdir test -f preconfigure.ac ';' ')' \
-print)
and then by running 'make dist-prepare' to regenerate files built
from the altered files, and then executing the following to cleanup:
chmod a+x sysdeps/unix/sysv/linux/riscv/configure
# Omit irrelevant whitespace and comment-only changes,
# perhaps from a slightly-different Autoconf version.
git checkout -f \
sysdeps/csky/configure \
sysdeps/hppa/configure \
sysdeps/riscv/configure \
sysdeps/unix/sysv/linux/csky/configure
# Omit changes that caused a pre-commit check to fail like this:
# remote: *** error: sysdeps/powerpc/powerpc64/ppc-mcount.S: trailing lines
git checkout -f \
sysdeps/powerpc/powerpc64/ppc-mcount.S \
sysdeps/unix/sysv/linux/s390/s390-64/syscall.S
# Omit change that caused a pre-commit check to fail like this:
# remote: *** error: sysdeps/sparc/sparc64/multiarch/memcpy-ultra3.S: last line does not end in newline
git checkout -f sysdeps/sparc/sparc64/multiarch/memcpy-ultra3.S
2019-09-07 05:40:42 +00:00
|
|
|
<https://www.gnu.org/licenses/>. */
|
1997-07-06 22:02:42 +00:00
|
|
|
|
|
|
|
#ifndef _NET_IF_ETHER_H
|
|
|
|
#define _NET_IF_ETHER_H 1
|
|
|
|
|
|
|
|
/*
|
|
|
|
* IEEE 802.3 Ethernet magic constants. The frame sizes omit the preamble
|
|
|
|
* and FCS/CRC (frame check sequence).
|
|
|
|
*/
|
|
|
|
|
|
|
|
#define ETH_ALEN 6 /* Octets in one ethernet addr */
|
|
|
|
#define ETH_HLEN 14 /* Total octets in header. */
|
|
|
|
#define ETH_ZLEN 60 /* Min. octets in frame sans FCS */
|
|
|
|
#define ETH_DATA_LEN 1500 /* Max. octets in payload */
|
|
|
|
#define ETH_FRAME_LEN 1514 /* Max. octets in frame sans FCS */
|
|
|
|
|
|
|
|
/*
|
|
|
|
* These are the defined Ethernet Protocol ID's.
|
|
|
|
*/
|
|
|
|
|
|
|
|
#define ETH_P_LOOP 0x0060 /* Ethernet Loopback packet */
|
|
|
|
#define ETH_P_ECHO 0x0200 /* Ethernet Echo packet */
|
|
|
|
#define ETH_P_PUP 0x0400 /* Xerox PUP packet */
|
|
|
|
#define ETH_P_IP 0x0800 /* Internet Protocol packet */
|
|
|
|
#define ETH_P_X25 0x0805 /* CCITT X.25 */
|
|
|
|
#define ETH_P_ARP 0x0806 /* Address Resolution packet */
|
|
|
|
#define ETH_P_BPQ 0x08FF /* G8BPQ AX.25 Ethernet Packet [ NOT AN OFFICIALLY REGISTERED ID ] */
|
|
|
|
#define ETH_P_DEC 0x6000 /* DEC Assigned proto */
|
|
|
|
#define ETH_P_DNA_DL 0x6001 /* DEC DNA Dump/Load */
|
|
|
|
#define ETH_P_DNA_RC 0x6002 /* DEC DNA Remote Console */
|
|
|
|
#define ETH_P_DNA_RT 0x6003 /* DEC DNA Routing */
|
|
|
|
#define ETH_P_LAT 0x6004 /* DEC LAT */
|
|
|
|
#define ETH_P_DIAG 0x6005 /* DEC Diagnostics */
|
|
|
|
#define ETH_P_CUST 0x6006 /* DEC Customer use */
|
|
|
|
#define ETH_P_SCA 0x6007 /* DEC Systems Comms Arch */
|
|
|
|
#define ETH_P_RARP 0x8035 /* Reverse Addr Res packet */
|
|
|
|
#define ETH_P_ATALK 0x809B /* Appletalk DDP */
|
|
|
|
#define ETH_P_AARP 0x80F3 /* Appletalk AARP */
|
|
|
|
#define ETH_P_IPX 0x8137 /* IPX over DIX */
|
|
|
|
#define ETH_P_IPV6 0x86DD /* IPv6 over bluebook */
|
|
|
|
|
|
|
|
/*
|
|
|
|
* Non DIX types. Won't clash for 1500 types.
|
|
|
|
*/
|
|
|
|
|
|
|
|
#define ETH_P_802_3 0x0001 /* Dummy type for 802.3 frames */
|
|
|
|
#define ETH_P_AX25 0x0002 /* Dummy protocol id for AX.25 */
|
|
|
|
#define ETH_P_ALL 0x0003 /* Every packet (be careful!!!) */
|
|
|
|
#define ETH_P_802_2 0x0004 /* 802.2 frames */
|
|
|
|
#define ETH_P_SNAP 0x0005 /* Internal only */
|
|
|
|
#define ETH_P_DDCMP 0x0006 /* DEC DDCMP: Internal only */
|
|
|
|
#define ETH_P_WAN_PPP 0x0007 /* Dummy type for WAN PPP frames*/
|
|
|
|
#define ETH_P_PPP_MP 0x0008 /* Dummy type for PPP MP frames */
|
|
|
|
#define ETH_P_LOCALTALK 0x0009 /* Localtalk pseudo type */
|
|
|
|
#define ETH_P_PPPTALK 0x0010 /* Dummy type for Atalk over PPP*/
|
|
|
|
#define ETH_P_TR_802_2 0x0011 /* 802.2 frames */
|
|
|
|
|
|
|
|
/*
|
|
|
|
* This is an Ethernet frame header.
|
|
|
|
*/
|
|
|
|
|
|
|
|
struct ethhdr
|
|
|
|
{
|
|
|
|
unsigned char h_dest[ETH_ALEN]; /* destination eth addr */
|
|
|
|
unsigned char h_source[ETH_ALEN]; /* source ether addr */
|
|
|
|
unsigned short int h_proto; /* packet type ID field */
|
|
|
|
};
|
|
|
|
|
|
|
|
#endif /* net/if_ether.h */
|