]> arthur.barton.de Git - netatalk.git/blob - etc/atalkd/interface.h
eaefae560d51e2388b6724af6da987ff654b244b
[netatalk.git] / etc / atalkd / interface.h
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
12 struct 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
55 extern struct interface *interfaces;
56 extern struct interface *ciface;
57 struct interface        *newiface (const char *);
58
59 #endif /* ATALKD_INTERFACE_H */