]> arthur.barton.de Git - netatalk.git/blob - etc/atalkd/interface.h
- merge branch-netatalk-afp-3x-dev, HEAD was tagged before
[netatalk.git] / etc / atalkd / interface.h
1 /*
2  * $Id: interface.h,v 1.4 2005-04-28 20:49:46 bfernhomberg 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
42 #define UNSTABLE        2
43 #define STABLE          0
44 #define STABLEANYWAY    -2
45
46 #define IFBASE          2       /* base number of interfaces */
47
48 #ifdef linux
49 #define LOOPIFACE       "lo"
50 #else /* !linux */
51 #define LOOPIFACE       "lo0"
52 #endif /* linux */
53
54 extern struct interface *interfaces;
55 extern struct interface *ciface;
56 struct interface        *newiface __P((const char *));
57
58 #endif /* ATALKD_INTERFACE_H */