ipf_stack.h revision ea8244dc4688c6c3f1381849c50ec65d054a37a1
/*
* Copyright (C) 1993-2001, 2003 by Darren Reed.
*
* See the IPFILTER.LICENCE file for details on licencing.
*
* Copyright 2008 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
#ifndef __IPF_STACK_H__
#define __IPF_STACK_H__
/* FIXME: appears needed for ip_proxy.h - tcpseq */
#include <netinet/in_systm.h>
#include "ip_compat.h"
#include "ip_fil.h"
#include "ip_nat.h"
#include "ip_frag.h"
#include "ip_state.h"
#include "ip_proxy.h"
#include "ip_auth.h"
#include "ip_lookup.h"
#include "ip_pool.h"
#include "ip_htable.h"
/*
* IPF stack instances
*/
struct ipf_stack {
/* ipf module */
#if 0 /* not used */
#endif
int ifs_fr_refcnt;
/*
* For fr_running:
* 0 == loading, 1 = running, -1 = disabled, -2 = unloading
*/
int ifs_fr_running;
int ifs_fr_flags;
int ifs_fr_active;
int ifs_fr_update_ipid;
#if 0
#endif
int ifs_fr_chksrc;
int ifs_fr_minttl;
int ifs_fr_pass;
#if 0
#endif
int ifs_ipf_locks_done;
/* ip_fil_solaris.c */
/* flags to indicate whether hooks are registered. */
int ifs_ipf_loopback;
/* ip_auth.c */
int ifs_fr_authsize;
int ifs_fr_authused;
int ifs_fr_auth_lock;
int ifs_fr_auth_init;
int ifs_fr_authstart;
int ifs_fr_authend;
int ifs_fr_authnext;
/* ip_frag.c */
int ifs_ipfr_inuse;
int ifs_ipfr_size;
int ifs_fr_ipfrttl;
int ifs_fr_frag_lock;
int ifs_fr_frag_init;
/* ip_htable.c */
/* ip_log.c */
int ifs_iplused[IPL_LOGSIZE];
int ifs_ipl_suppress;
int ifs_ipl_buffer_sz;
int ifs_ipl_logmax;
int ifs_ipl_logall;
int ifs_ipl_log_init;
int ifs_ipl_logsize;
/* ip_lookup.c */
int ifs_ip_lookup_inited;
/* ip_nat.c */
/* nat_table[0] -> hashed list sorted by inside (ip, port) */
/* nat_table[1] -> hashed list sorted by outside (ip, port) */
int ifs_nat_logging;
int ifs_fr_nat_lock;
int ifs_fr_nat_init;
int ifs_nat_doflush;
/* ip_pool.c */
/* ip_proxy.c */
/* ip_state.c */
int ifs_ips_num;
int ifs_fr_statemax;
int ifs_fr_statesize;
int ifs_fr_state_doflush;
int ifs_fr_state_lock;
int ifs_fr_state_init;
int ifs_ipstate_logging;
/* radix.c */
int ifs_max_keylen;
struct radix_mask *ifs_rn_mkfreelist;
struct radix_node_head *ifs_mask_rnhead;
char *ifs_addmask_key;
char *ifs_rn_zeros;
char *ifs_rn_ones;
#ifdef KERNEL
/* kstats for inbound and outbound */
#endif
};
#endif /* __IPF_STACK_H__ */