28 lines
1.3 KiB
C
28 lines
1.3 KiB
C
/* Interface control structure */
|
|
struct interface {
|
|
struct interface *next; /* Linked list pointer */
|
|
char *name; /* Ascii string with interface name */
|
|
int16 mtu; /* Maximum transmission unit size */
|
|
int (*ioctl)(); /* Function to handle device control */
|
|
int (*send)(); /* Routine to send an IP datagram */
|
|
int (*output)(); /* Routine to send link packet */
|
|
int (*raw)(); /* Routine to call to send raw packet */
|
|
void (*recv)(); /* Routine to kick to process input */
|
|
int (*stop)(); /* Routine to call before detaching */
|
|
int16 dev; /* Subdevice number to pass to send */
|
|
int16 flags; /* Configuration flags */
|
|
#define DATAGRAM_MODE 0 /* Send datagrams in raw link frames */
|
|
#define CONNECT_MODE 1 /* Send datagrams in connected mode */
|
|
int16 trace; /* Trace flags */
|
|
#define IF_TRACE_OUT 0x01 /* Output packets */
|
|
#define IF_TRACE_IN 0x10 /* Packets to me except broadcast */
|
|
#define IF_TRACE_ASCII 0x100 /* Dump packets in ascii */
|
|
#define IF_TRACE_HEX 0x200 /* Dump packets in hex/ascii */
|
|
char *hwaddr; /* Device hardware address, if any */
|
|
int kissport; /* for multidropped kiss */
|
|
/* we leave forw defined even it is not always used - K5JB */
|
|
struct interface *forw; /* Forwarding interface for output, if rx only */
|
|
};
|
|
#define NULLIF (struct interface *)0
|
|
extern struct interface *ifaces; /* Head of interface list */
|