1 /* 2 * hwaddr.h 3 * 4 * $FreeBSD: src/libexec/bootpd/hwaddr.h,v 1.5 1999/08/28 00:09:18 peter Exp $ 5 * $DragonFly: src/libexec/bootpd/hwaddr.h,v 1.2 2003/06/17 04:27:07 dillon Exp $ 6 */ 7 8 #ifndef HWADDR_H 9 #define HWADDR_H 10 11 #define MAXHADDRLEN 8 /* Max hw address length in bytes */ 12 13 /* 14 * This structure holds information about a specific network type. The 15 * length of the network hardware address is stored in "hlen". 16 * The string pointed to by "name" is the cononical name of the network. 17 */ 18 struct hwinfo { 19 unsigned int hlen; 20 char *name; 21 }; 22 23 extern struct hwinfo hwinfolist[]; 24 extern int hwinfocnt; 25 26 extern void setarp(int, struct in_addr *, int, u_char *, int); 27 extern char *haddrtoa(u_char *, int); 28 extern void haddr_conv802(u_char *, u_char *, int); 29 30 /* 31 * Return the length in bytes of a hardware address of the given type. 32 * Return the canonical name of the network of the given type. 33 */ 34 #define haddrlength(type) ((hwinfolist[(int) (type)]).hlen) 35 #define netname(type) ((hwinfolist[(int) (type)]).name) 36 37 #endif /* HWADDR_H */ 38