qif.h revision 7c478bd95313f5f23a4c958a745db2134aa03244
/*
* Copyright (C) 2003 by Darren Reed.
*
* See the IPFILTER.LICENCE file for details on licencing.
*
* Copyright 2003 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
#pragma ident "%Z%%M% %I% %E% SMI"
#include "pfil.h"
typedef struct s_ill_s {
union {
struct sockaddr_in in;
struct sockaddr_in6 in6;
} localaddr;
union {
struct sockaddr_in in;
struct sockaddr_in6 in6;
} netmask;
union {
struct sockaddr_in in;
struct sockaddr_in6 in6;
} broadaddr;
union {
struct sockaddr_in in;
struct sockaddr_in6 in6;
} dstaddr;
} s_ill_t;
typedef struct qif {
void *qf_ill;
void *qf_data;
struct qifplock {
int pt_refcnt;
} qf_ptl;
int qf_sap;
int qf_bound;
int qf_flags;
int qf_waitack;
int qf_max_frag;
} qif_t;
#ifdef sun
# if SOLARIS2 < 7
# define QF_V4_ADDR(x) \
# define QF_V4_BROADCAST(x) \
# else
# define QF_V4_ADDR(x) \
# define QF_V4_BROADCAST(x) \
# endif
# define QF_V4_NETMASK(x) \
# define QF_V4_PEERADDR(x) \
#endif
#ifdef __hpux
#endif
#define QF_GROUP 0x0001
extern int qif_attach(queue_t *);
extern int qif_startup(void);
extern void qif_stop(void);
extern void *qif_iflookup(char *, int);
struct irinfo_s;
extern int qif_verbose;
extern void qif_nd_init(void);
#ifndef IRE_ILL_CN
extern void qif_ire_walker(ire_t *, void *);
#endif
extern kmutex_t s_ill_g_head_lock;
extern s_ill_t *s_ill_g_head;