ipf.h revision 24583
122514Sdarrenr/*
222514Sdarrenr * (C)opyright 1993-1996 by Darren Reed.
322514Sdarrenr *
422514Sdarrenr * Redistribution and use in source and binary forms are permitted
522514Sdarrenr * provided that this notice is preserved and due credit is given
622514Sdarrenr * to the original author and the contributors.
722514Sdarrenr *
822514Sdarrenr * @(#)ipf.h	1.12 6/5/96
924583Sdarrenr * $Id: ipf.h,v 2.0.2.4 1997/03/27 13:45:18 darrenr Exp $
1022514Sdarrenr */
1122514Sdarrenr
1222514Sdarrenr#ifndef	SOLARIS
1322514Sdarrenr#define	SOLARIS	(defined(sun) && (defined(__svr4__) || defined(__SVR4)))
1422514Sdarrenr#endif
1522514Sdarrenr#define	OPT_REMOVE	0x00001
1622514Sdarrenr#define	OPT_DEBUG	0x00002
1722514Sdarrenr#define	OPT_OUTQUE	FR_OUTQUE	/* 0x0004 */
1822514Sdarrenr#define	OPT_INQUE	FR_INQUE	/* 0x0008 */
1922514Sdarrenr#define	OPT_LOG		FR_LOG		/* 0x0010 */
2022514Sdarrenr#define	OPT_SHOWLIST	0x00020
2122514Sdarrenr#define	OPT_VERBOSE	0x00040
2222514Sdarrenr#define	OPT_DONOTHING	0x00080
2322514Sdarrenr#define	OPT_HITS	0x00100
2422514Sdarrenr#define	OPT_BRIEF	0x00200
2522514Sdarrenr#define OPT_ACCNT	FR_ACCOUNT	/* 0x0400 */
2622514Sdarrenr#define	OPT_FRSTATES	FR_KEEPFRAG	/* 0x0800 */
2722514Sdarrenr#define	OPT_IPSTATES	FR_KEEPSTATE	/* 0x1000 */
2822514Sdarrenr#define	OPT_INACTIVE	FR_INACTIVE	/* 0x2000 */
2922514Sdarrenr#define	OPT_SHOWLINENO	0x04000
3022514Sdarrenr#define	OPT_PRINTFR	0x08000
3122514Sdarrenr#define	OPT_ZERORULEST	0x10000
3224583Sdarrenr#define	OPT_SAVEOUT	0x20000
3322514Sdarrenr
3424583Sdarrenr#ifndef __P
3524583Sdarrenr# ifdef	__STDC__
3624583Sdarrenr#  define	__P(x)	x
3724583Sdarrenr# else
3824583Sdarrenr#  define	__P(x)	()
3924583Sdarrenr# endif
4024583Sdarrenr#endif
4122514Sdarrenr
4224583Sdarrenrextern	struct	frentry	*parse __P((char *));
4322514Sdarrenr
4424583Sdarrenrextern	void	printfr __P((struct frentry *));
4524583Sdarrenrextern	void	binprint __P((struct frentry *)), initparse __P((void));
4624583Sdarrenrextern	u_short	portnum __P((char *));
4724583Sdarrenr
4824583Sdarrenr
4922514Sdarrenr#if defined(__SVR4) || defined(__svr4__)
5022514Sdarrenr#define	index	strchr
5122514Sdarrenr#define	bzero(a,b)	memset(a, 0, b)
5222514Sdarrenr#define	bcopy(a,b,c)	memmove(b,a,c)
5322514Sdarrenr#endif
5422514Sdarrenr
5522514Sdarrenrstruct	ipopt_names	{
5622514Sdarrenr	int	on_value;
5722514Sdarrenr	int	on_bit;
5822514Sdarrenr	int	on_siz;
5922514Sdarrenr	char	*on_name;
6022514Sdarrenr};
6122514Sdarrenr
6222514Sdarrenr
6324583Sdarrenrextern	u_long	buildopts __P((char *, char *));
6424583Sdarrenrextern	u_long	hostnum __P((char *, int *));
6524583Sdarrenrextern	u_long	optname __P((char ***, u_short *));
6624583Sdarrenrextern	void	printpacket __P((struct ip *));
6722514Sdarrenr#if SOLARIS
6824583Sdarrenrextern	int	inet_aton __P((const char *, struct in_addr *));
6922514Sdarrenr#endif
7022514Sdarrenr
7122514Sdarrenr#ifdef	sun
7222514Sdarrenr#define	STRERROR(x)	sys_errlist[x]
7322514Sdarrenrextern	char	*sys_errlist[];
7422514Sdarrenr#else
7522514Sdarrenr#define	STRERROR(x)	strerror(x)
7622514Sdarrenr#endif
7722514Sdarrenr
7822514Sdarrenr#ifndef	MIN
7922514Sdarrenr#define	MIN(a,b)	((a) > (b) ? (b) : (a))
8022514Sdarrenr#endif
8122514Sdarrenr
82