linux/include/uapi/linux/if_arp.h

/* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */
/*
 * INET		An implementation of the TCP/IP protocol suite for the LINUX
 *		operating system.  INET is implemented using the  BSD Socket
 *		interface as the means of communication with the user level.
 *
 *		Global definitions for the ARP (RFC 826) protocol.
 *
 * Version:	@(#)if_arp.h	1.0.1	04/16/93
 *
 * Authors:	Original taken from Berkeley UNIX 4.3, (c) UCB 1986-1988
 *		Portions taken from the KA9Q/NOS (v2.00m PA0GRI) source.
 *		Ross Biro
 *		Fred N. van Kempen, <[email protected]>
 *		Florian La Roche,
 *		Jonathan Layes <[email protected]>
 *		Arnaldo Carvalho de Melo <[email protected]> ARPHRD_HWX25
 *
 *		This program is free software; you can redistribute it and/or
 *		modify it under the terms of the GNU General Public License
 *		as published by the Free Software Foundation; either version
 *		2 of the License, or (at your option) any later version.
 */
#ifndef _UAPI_LINUX_IF_ARP_H
#define _UAPI_LINUX_IF_ARP_H

#include <linux/netdevice.h>

/* ARP protocol HARDWARE identifiers. */
#define ARPHRD_NETROM
#define ARPHRD_ETHER
#define ARPHRD_EETHER
#define ARPHRD_AX25
#define ARPHRD_PRONET
#define ARPHRD_CHAOS
#define ARPHRD_IEEE802
#define ARPHRD_ARCNET
#define ARPHRD_APPLETLK
#define ARPHRD_DLCI
#define ARPHRD_ATM
#define ARPHRD_METRICOM
#define ARPHRD_IEEE1394
#define ARPHRD_EUI64
#define ARPHRD_INFINIBAND

/* Dummy types for non ARP hardware */
#define ARPHRD_SLIP
#define ARPHRD_CSLIP
#define ARPHRD_SLIP6
#define ARPHRD_CSLIP6
#define ARPHRD_RSRVD
#define ARPHRD_ADAPT
#define ARPHRD_ROSE
#define ARPHRD_X25
#define ARPHRD_HWX25
#define ARPHRD_CAN
#define ARPHRD_MCTP
#define ARPHRD_PPP
#define ARPHRD_CISCO
#define ARPHRD_HDLC
#define ARPHRD_LAPB
#define ARPHRD_DDCMP
#define ARPHRD_RAWHDLC
#define ARPHRD_RAWIP

#define ARPHRD_TUNNEL
#define ARPHRD_TUNNEL6
#define ARPHRD_FRAD
#define ARPHRD_SKIP
#define ARPHRD_LOOPBACK
#define ARPHRD_LOCALTLK
#define ARPHRD_FDDI
#define ARPHRD_BIF
#define ARPHRD_SIT
#define ARPHRD_IPDDP
#define ARPHRD_IPGRE
#define ARPHRD_PIMREG
#define ARPHRD_HIPPI
#define ARPHRD_ASH
#define ARPHRD_ECONET
#define ARPHRD_IRDA
/* ARP works differently on different FC media .. so  */
#define ARPHRD_FCPP
#define ARPHRD_FCAL
#define ARPHRD_FCPL
#define ARPHRD_FCFABRIC
	/* 787->799 reserved for fibrechannel media types */
#define ARPHRD_IEEE802_TR
#define ARPHRD_IEEE80211
#define ARPHRD_IEEE80211_PRISM
#define ARPHRD_IEEE80211_RADIOTAP
#define ARPHRD_IEEE802154
#define ARPHRD_IEEE802154_MONITOR

#define ARPHRD_PHONET
#define ARPHRD_PHONET_PIPE
#define ARPHRD_CAIF
#define ARPHRD_IP6GRE
#define ARPHRD_NETLINK
#define ARPHRD_6LOWPAN
#define ARPHRD_VSOCKMON

#define ARPHRD_VOID
#define ARPHRD_NONE

/* ARP protocol opcodes. */
#define ARPOP_REQUEST
#define ARPOP_REPLY
#define ARPOP_RREQUEST
#define ARPOP_RREPLY
#define ARPOP_InREQUEST
#define ARPOP_InREPLY
#define ARPOP_NAK


/* ARP ioctl request. */
struct arpreq {};

struct arpreq_old {};

/* ARP Flag values. */
#define ATF_COM
#define ATF_PERM
#define ATF_PUBL
#define ATF_USETRAILERS
#define ATF_NETMASK
#define ATF_DONTPUB

/*
 *	This structure defines an ethernet arp header.
 */

struct arphdr {};


#endif /* _UAPI_LINUX_IF_ARP_H */