1/* 2 * $Id: interface.h,v 1.6 2009-12-13 02:21:47 didg Exp $ 3 * Copyright (c) 1990,1992 Regents of The University of Michigan. 4 * All Rights Reserved. See COPYRIGHT. 5 */ 6 7#ifndef ATALKD_INTERFACE_H 8#define ATALKD_INTERFACE_H 1 9 10#include <sys/cdefs.h> 11 12struct interface { 13 struct interface *i_next; 14 char i_name[ IFNAMSIZ ]; 15 int i_flags; 16 int i_time; 17 int i_group; /* for isolated appletalk domains */ 18 struct sockaddr_at i_addr; 19 struct sockaddr_at i_caddr; 20 struct ziptab *i_czt; 21 struct rtmptab *i_rt; 22 struct gate *i_gate; 23 struct atport *i_ports; 24}; 25 26#define IFACE_PHASE1 0x001 27#define IFACE_PHASE2 0x002 28#define IFACE_LOOPBACK 0x004 /* is the loopback interface */ 29#define IFACE_SEED 0x008 /* act as seed */ 30#define IFACE_ADDR 0x010 /* has an address set */ 31#define IFACE_CONFIG 0x020 /* has been configured */ 32#define IFACE_NOROUTER 0x040 /* no router on interface */ 33#define IFACE_LOOP 0x080 /* has a loopback route */ 34#define IFACE_RSEED 0x100 /* almost the same as seed. RSEED 35 says that we should try to 36 do routing. */ 37#define IFACE_DONTROUTE 0x200 /* don't route this interface */ 38#define IFACE_ISROUTER 0x400 /* act as a router. */ 39#define IFACE_ALLMULTI 0x800 /* set allmulti on this interface, linux only */ 40#define IFACE_WASALLMULTI 0x1000 /* don't unset allmulti on this interface on shutdown, linux only */ 41#define IFACE_ERROR 0x2000 /* sendto returned an error */ 42 43#define UNSTABLE 2 44#define STABLE 0 45#define STABLEANYWAY -2 46 47#define IFBASE 2 /* base number of interfaces */ 48 49#ifdef linux 50#define LOOPIFACE "lo" 51#else /* !linux */ 52#define LOOPIFACE "lo0" 53#endif /* linux */ 54 55extern struct interface *interfaces; 56extern struct interface *ciface; 57struct interface *newiface (const char *); 58 59#endif /* ATALKD_INTERFACE_H */ 60