DataMuseum.dk

Presents historical artifacts from the history of:

Regnecentalen RC-900

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Regnecentalen RC-900

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download

⟦1b11566d7⟧ TextFile

    Length: 2640 (0xa50)
    Types: TextFile
    Notes: UNIX file
    Names: »if_arp.h«

Derivation

└─⟦8c4f54e61⟧ Bits:30004068/disk2.imd Interactive TCP/IP v.1.2
└─⟦8c4f54e61⟧ UNIX Filesystem
    └─⟦this⟧ »hb/new/usr/include/net/if_arp.h« 

TextFile

/*
 * Copyright (c) 1986 Regents of the University of California.
 * All rights reserved.  The Berkeley software License Agreement
 * specifies the terms and conditions for redistribution.
 *
 *	@(#)if_arp.h	7.1 (Berkeley) 6/4/86
 */

#ifndef _h_IF_ARP
#define _h_IF_ARP
#ident "@(#)if_arp.h	2.1 - 89/04/21"

/*
 * Address Resolution Protocol.
 *
 * See RFC 826 for protocol description.  ARP packets are variable
 * in size; the arphdr structure defines the fixed-length portion.
 * Protocol type values are the same as those for 10 Mb/s Ethernet.
 * It is followed by the variable-sized fields ar_sha, arp_spa,
 * arp_tha and arp_tpa in that order, according to the lengths
 * specified.  Field names used correspond to RFC 826.
 */
struct	arphdr {
	u_short	ar_hrd;		/* format of hardware address */
#define ARPHRD_ETHER 	1	/* ethernet hardware address */
	u_short	ar_pro;		/* format of protocol address */
	u_char	ar_hln;		/* length of hardware address */
	u_char	ar_pln;		/* length of protocol address */
	u_short	ar_op;		/* one of: */
#define	ARPOP_REQUEST	1	/* request to resolve address */
#define	ARPOP_REPLY	2	/* response to previous request */
/*
 * The remaining fields are variable in size,
 * according to the sizes above.
 */
/*	u_char	ar_sha[];	/* sender hardware address */
/*	u_char	ar_spa[];	/* sender protocol address */
/*	u_char	ar_tha[];	/* target hardware address */
/*	u_char	ar_tpa[];	/* target protocol address */
};

/*
 * ARP ioctl request for SIOCSARP, SIOCDARP and SIOCGARP ioctl's
 */
struct arpreq {
	struct	sockaddr arp_pa;		/* protocol address */
	struct	sockaddr arp_ha;		/* hardware address */
	int	arp_flags;			/* flags */
};
/*  arp_flags and at_flags field values */
#define	ATF_INUSE	0x01	/* entry in use */
#define ATF_COM		0x02	/* completed entry (enaddr valid) */
#define	ATF_PERM	0x04	/* permanent entry */
#define	ATF_PUBL	0x08	/* publish entry (respond for other host) */
#define	ATF_USETRAILERS	0x10	/* set has requested trailers */
#define ATF_LOCAL	0x100	/* address for this host */

/*
 * Arp timeout parameter request for SIOCGTIM and SIOCSTIM ioctl's
 */
 struct arptimtab {
	int arpt_interval;		/* interval between timer runs */
	int arpt_killcom;		/* timeout to kill a complete entry */
	int arpt_killinc;		/* timeout to kill an incomplete entry*/
};

/*
 * Arp indexed table entry request for SIOCGENT ioctl
 */
struct	arpent {
	int	ae_index;		/* table index (returns length) */
	struct	in_addr ae_iaddr;	/* internet address */
	u_char	ae_enaddr[6];		/* ethernet address */
	u_char	ae_timer;		/* minutes since last reference */
	u_char	ae_flags;		/* flags */
};
#endif /* _h_IF_ARP */