ipf.h revision 53024
1238106Sdes/*
2294190Sdes * Copyright (C) 1993-1998 by Darren Reed.
3238106Sdes *
4238106Sdes * Redistribution and use in source and binary forms are permitted
5238106Sdes * provided that this notice is preserved and due credit is given
6238106Sdes * to the original author and the contributors.
7238106Sdes *
8238106Sdes * @(#)ipf.h	1.12 6/5/96
9238106Sdes * $Id: ipf.h,v 2.1.2.1 1999/10/05 12:59:25 darrenr Exp $
10238106Sdes */
11238106Sdes
12238106Sdes#ifndef	__IPF_H__
13238106Sdes#define	__IPF_H__
14238106Sdes
15238106Sdes#ifndef	SOLARIS
16238106Sdes#define	SOLARIS	(defined(sun) && (defined(__svr4__) || defined(__SVR4)))
17238106Sdes#endif
18238106Sdes#define	OPT_REMOVE	0x000001
19238106Sdes#define	OPT_DEBUG	0x000002
20238106Sdes#define	OPT_OUTQUE	FR_OUTQUE	/* 0x00004 */
21238106Sdes#define	OPT_INQUE	FR_INQUE	/* 0x00008 */
22238106Sdes#define	OPT_LOG		FR_LOG		/* 0x00010 */
23238106Sdes#define	OPT_SHOWLIST	0x000020
24269257Sdes#define	OPT_VERBOSE	0x000040
25269257Sdes#define	OPT_DONOTHING	0x000080
26269257Sdes#define	OPT_HITS	0x000100
27269257Sdes#define	OPT_BRIEF	0x000200
28269257Sdes#define OPT_ACCNT	FR_ACCOUNT	/* 0x0400 */
29269257Sdes#define	OPT_FRSTATES	FR_KEEPFRAG	/* 0x0800 */
30269257Sdes#define	OPT_IPSTATES	FR_KEEPSTATE	/* 0x1000 */
31269257Sdes#define	OPT_INACTIVE	FR_INACTIVE	/* 0x2000 */
32269257Sdes#define	OPT_SHOWLINENO	0x004000
33269257Sdes#define	OPT_PRINTFR	0x008000
34238106Sdes#define	OPT_ZERORULEST	0x010000
35238106Sdes#define	OPT_SAVEOUT	0x020000
36238106Sdes#define	OPT_AUTHSTATS	0x040000
37238106Sdes#define	OPT_RAW		0x080000
38238106Sdes#define	OPT_NAT		0x100000
39238106Sdes#define	OPT_GROUPS	0x200000
40238106Sdes
41294190Sdes#ifndef __P
42238106Sdes# ifdef	__STDC__
43238106Sdes#  define	__P(x)	x
44238106Sdes# else
45238106Sdes#  define	__P(x)	()
46294190Sdes# endif
47238106Sdes#endif
48238106Sdes
49238106Sdes#ifdef	ultrix
50238106Sdesextern	char	*strdup __P((char *));
51238106Sdes#endif
52238106Sdes
53238106Sdesextern	struct	frentry	*parse __P((char *, int));
54238106Sdes
55238106Sdesextern	void	printfr __P((struct frentry *));
56238106Sdesextern	void	binprint __P((struct frentry *)), initparse __P((void));
57238106Sdesextern	int	portnum __P((char *, u_short *, int));
58238106Sdes
59291767Sdes
60238106Sdesstruct	ipopt_names	{
61238106Sdes	int	on_value;
62238106Sdes	int	on_bit;
63238106Sdes	int	on_siz;
64238106Sdes	char	*on_name;
65269257Sdes};
66238106Sdes
67238106Sdes
68238106Sdesextern	u_32_t	buildopts __P((char *, char *, int));
69238106Sdesextern	u_32_t	hostnum __P((char *, int *, int));
70238106Sdesextern	u_32_t	optname __P((char ***, u_short *, int));
71269257Sdesextern	void	printpacket __P((ip_t *));
72238106Sdes#if SOLARIS
73238106Sdesextern	int	inet_aton __P((const char *, struct in_addr *));
74238106Sdesextern	int	gethostname __P((char *, int ));
75238106Sdesextern	void	sync __P((void));
76238106Sdes#endif
77238106Sdes
78238106Sdes#if defined(sun) && !SOLARIS
79238106Sdes# define	STRERROR(x)	sys_errlist[x]
80238106Sdesextern	char	*sys_errlist[];
81238106Sdes#else
82238106Sdes# define	STRERROR(x)	strerror(x)
83238106Sdes#endif
84238106Sdes
85238106Sdes#ifndef	MIN
86238106Sdes#define	MIN(a,b)	((a) > (b) ? (b) : (a))
87238106Sdes#endif
88238106Sdes
89238106Sdes#endif /* __IPF_H__ */
90238106Sdes