xref: /freebsd/libexec/bootpd/hwaddr.h (revision 148531ef1e6681bf21fa82c8afd667377b9c057f)
1148531efSWolfram Schneider /*
2148531efSWolfram Schneider  * hwaddr.h
3148531efSWolfram Schneider  *
4148531efSWolfram Schneider  *	$Id$
5148531efSWolfram Schneider  */
6148531efSWolfram Schneider 
744099b7bSPaul Traina #ifndef	HWADDR_H
844099b7bSPaul Traina #define HWADDR_H
944099b7bSPaul Traina 
1044099b7bSPaul Traina #define MAXHADDRLEN		8	/* Max hw address length in bytes */
1144099b7bSPaul Traina 
1244099b7bSPaul Traina /*
1344099b7bSPaul Traina  * This structure holds information about a specific network type.  The
1444099b7bSPaul Traina  * length of the network hardware address is stored in "hlen".
1544099b7bSPaul Traina  * The string pointed to by "name" is the cononical name of the network.
1644099b7bSPaul Traina  */
1744099b7bSPaul Traina struct hwinfo {
1844099b7bSPaul Traina     unsigned int hlen;
1944099b7bSPaul Traina     char *name;
2044099b7bSPaul Traina };
2144099b7bSPaul Traina 
2244099b7bSPaul Traina extern struct hwinfo hwinfolist[];
2344099b7bSPaul Traina extern int hwinfocnt;
2444099b7bSPaul Traina 
2544099b7bSPaul Traina #ifdef	__STDC__
2644099b7bSPaul Traina #define P(args) args
2744099b7bSPaul Traina #else
2844099b7bSPaul Traina #define P(args) ()
2944099b7bSPaul Traina #endif
3044099b7bSPaul Traina 
31e08ac58bSPaul Traina extern void setarp P((int, struct in_addr *, int, u_char *, int));
3244099b7bSPaul Traina extern char *haddrtoa P((u_char *, int));
3344099b7bSPaul Traina extern void haddr_conv802 P((u_char *, u_char *, int));
3444099b7bSPaul Traina 
3544099b7bSPaul Traina #undef P
3644099b7bSPaul Traina 
3744099b7bSPaul Traina /*
3844099b7bSPaul Traina  * Return the length in bytes of a hardware address of the given type.
3944099b7bSPaul Traina  * Return the canonical name of the network of the given type.
4044099b7bSPaul Traina  */
4144099b7bSPaul Traina #define haddrlength(type)	((hwinfolist[(int) (type)]).hlen)
4244099b7bSPaul Traina #define netname(type)		((hwinfolist[(int) (type)]).name)
4344099b7bSPaul Traina 
4444099b7bSPaul Traina #endif	/* HWADDR_H */
45