1997-02-09 22:50:16 +00:00
|
|
|
/*
|
2001-07-28 11:59:33 +00:00
|
|
|
* Copyright (C) 1993-2001 by Darren Reed.
|
1997-02-09 22:50:16 +00:00
|
|
|
*
|
2001-07-28 11:59:33 +00:00
|
|
|
* See the IPFILTER.LICENCE file for details on licencing.
|
1997-02-09 22:50:16 +00:00
|
|
|
*
|
|
|
|
* @(#)ipf.h 1.12 6/5/96
|
2004-06-21 22:47:51 +00:00
|
|
|
* $Id: ipf.h,v 2.9.2.7 2003/05/15 17:45:33 darrenr Exp $
|
1997-02-09 22:50:16 +00:00
|
|
|
*/
|
|
|
|
|
1997-05-25 15:45:04 +00:00
|
|
|
#ifndef __IPF_H__
|
|
|
|
#define __IPF_H__
|
|
|
|
|
1997-02-09 22:50:16 +00:00
|
|
|
#ifndef SOLARIS
|
|
|
|
#define SOLARIS (defined(sun) && (defined(__svr4__) || defined(__SVR4)))
|
|
|
|
#endif
|
1999-11-08 20:51:23 +00:00
|
|
|
#define OPT_REMOVE 0x000001
|
|
|
|
#define OPT_DEBUG 0x000002
|
|
|
|
#define OPT_OUTQUE FR_OUTQUE /* 0x00004 */
|
|
|
|
#define OPT_INQUE FR_INQUE /* 0x00008 */
|
|
|
|
#define OPT_LOG FR_LOG /* 0x00010 */
|
|
|
|
#define OPT_SHOWLIST 0x000020
|
|
|
|
#define OPT_VERBOSE 0x000040
|
|
|
|
#define OPT_DONOTHING 0x000080
|
|
|
|
#define OPT_HITS 0x000100
|
|
|
|
#define OPT_BRIEF 0x000200
|
1997-02-09 22:50:16 +00:00
|
|
|
#define OPT_ACCNT FR_ACCOUNT /* 0x0400 */
|
|
|
|
#define OPT_FRSTATES FR_KEEPFRAG /* 0x0800 */
|
|
|
|
#define OPT_IPSTATES FR_KEEPSTATE /* 0x1000 */
|
|
|
|
#define OPT_INACTIVE FR_INACTIVE /* 0x2000 */
|
1999-11-08 20:51:23 +00:00
|
|
|
#define OPT_SHOWLINENO 0x004000
|
|
|
|
#define OPT_PRINTFR 0x008000
|
|
|
|
#define OPT_ZERORULEST 0x010000
|
|
|
|
#define OPT_SAVEOUT 0x020000
|
|
|
|
#define OPT_AUTHSTATS 0x040000
|
|
|
|
#define OPT_RAW 0x080000
|
|
|
|
#define OPT_NAT 0x100000
|
|
|
|
#define OPT_GROUPS 0x200000
|
2000-05-24 02:14:22 +00:00
|
|
|
#define OPT_STATETOP 0x400000
|
|
|
|
#define OPT_FLUSH 0x800000
|
|
|
|
#define OPT_CLEAR 0x1000000
|
2002-03-19 11:45:20 +00:00
|
|
|
#define OPT_HEX 0x2000000
|
2000-05-24 02:14:22 +00:00
|
|
|
#define OPT_NODO 0x80000000
|
|
|
|
|
|
|
|
#define OPT_STAT OPT_FRSTATES
|
|
|
|
#define OPT_LIST OPT_SHOWLIST
|
|
|
|
|
1997-02-09 22:50:16 +00:00
|
|
|
|
1997-04-03 10:22:02 +00:00
|
|
|
#ifndef __P
|
|
|
|
# ifdef __STDC__
|
|
|
|
# define __P(x) x
|
|
|
|
# else
|
|
|
|
# define __P(x) ()
|
|
|
|
# endif
|
|
|
|
#endif
|
|
|
|
|
2002-03-19 11:45:20 +00:00
|
|
|
struct ipstate;
|
2000-05-24 02:14:22 +00:00
|
|
|
struct frpcmp;
|
2002-03-19 11:45:20 +00:00
|
|
|
struct ipnat;
|
|
|
|
struct nat;
|
2000-05-24 02:14:22 +00:00
|
|
|
|
1997-11-16 04:52:19 +00:00
|
|
|
#ifdef ultrix
|
|
|
|
extern char *strdup __P((char *));
|
|
|
|
#endif
|
|
|
|
|
2004-06-21 22:47:51 +00:00
|
|
|
extern struct frentry *parse __P((char *, int, int *));
|
1997-04-03 10:22:02 +00:00
|
|
|
|
|
|
|
extern void printfr __P((struct frentry *));
|
|
|
|
extern void binprint __P((struct frentry *)), initparse __P((void));
|
1999-11-08 20:51:23 +00:00
|
|
|
extern int portnum __P((char *, u_short *, int));
|
1997-02-09 22:50:16 +00:00
|
|
|
|
|
|
|
|
|
|
|
struct ipopt_names {
|
|
|
|
int on_value;
|
|
|
|
int on_bit;
|
|
|
|
int on_siz;
|
|
|
|
char *on_name;
|
|
|
|
};
|
|
|
|
|
|
|
|
|
2000-05-24 02:14:22 +00:00
|
|
|
extern char *proto;
|
|
|
|
extern char flagset[];
|
|
|
|
extern u_char flags[];
|
|
|
|
|
|
|
|
extern u_char tcp_flags __P((char *, u_char *, int));
|
|
|
|
extern int countbits __P((u_32_t));
|
|
|
|
extern int ratoi __P((char *, int *, int, int));
|
|
|
|
extern int ratoui __P((char *, u_int *, u_int, u_int));
|
|
|
|
extern int hostmask __P((char ***, u_32_t *, u_32_t *, u_short *, int *,
|
|
|
|
u_short *, int));
|
|
|
|
extern int ports __P((char ***, u_short *, int *, u_short *, int));
|
|
|
|
extern char *portname __P((int, int));
|
1997-11-16 04:52:19 +00:00
|
|
|
extern u_32_t buildopts __P((char *, char *, int));
|
2000-05-24 02:14:22 +00:00
|
|
|
extern int genmask __P((char *, u_32_t *));
|
|
|
|
extern int hostnum __P((u_32_t *, char *, int));
|
1999-11-08 20:51:23 +00:00
|
|
|
extern u_32_t optname __P((char ***, u_short *, int));
|
1997-11-16 04:52:19 +00:00
|
|
|
extern void printpacket __P((ip_t *));
|
2002-03-19 11:45:20 +00:00
|
|
|
extern void printpacket6 __P((ip_t *));
|
2000-05-24 02:14:22 +00:00
|
|
|
extern void printportcmp __P((int, struct frpcmp *));
|
|
|
|
extern void printhostmask __P((int, u_32_t *, u_32_t *));
|
|
|
|
extern void printbuf __P((char *, int, int));
|
2002-03-19 11:45:20 +00:00
|
|
|
extern char *hostname __P((int, void *));
|
|
|
|
extern struct ipstate *printstate __P((struct ipstate *, int));
|
|
|
|
extern void printnat __P((struct ipnat *, int));
|
|
|
|
extern void printactivenat __P((struct nat *, int));
|
|
|
|
|
1997-02-09 22:50:16 +00:00
|
|
|
#if SOLARIS
|
1997-04-03 10:22:02 +00:00
|
|
|
extern int inet_aton __P((const char *, struct in_addr *));
|
1999-11-08 20:51:23 +00:00
|
|
|
extern int gethostname __P((char *, int ));
|
|
|
|
extern void sync __P((void));
|
1997-02-09 22:50:16 +00:00
|
|
|
#endif
|
|
|
|
|
1999-11-08 20:51:23 +00:00
|
|
|
#if defined(sun) && !SOLARIS
|
|
|
|
# define STRERROR(x) sys_errlist[x]
|
1997-02-09 22:50:16 +00:00
|
|
|
extern char *sys_errlist[];
|
|
|
|
#else
|
1999-11-08 20:51:23 +00:00
|
|
|
# define STRERROR(x) strerror(x)
|
1997-02-09 22:50:16 +00:00
|
|
|
#endif
|
|
|
|
|
|
|
|
#ifndef MIN
|
|
|
|
#define MIN(a,b) ((a) > (b) ? (b) : (a))
|
|
|
|
#endif
|
|
|
|
|
1997-05-25 15:45:04 +00:00
|
|
|
#endif /* __IPF_H__ */
|