ipf.h revision 80486
1/* 2 * Copyright (C) 1993-2001 by Darren Reed. 3 * 4 * See the IPFILTER.LICENCE file for details on licencing. 5 * 6 * @(#)ipf.h 1.12 6/5/96 7 * $Id: ipf.h,v 2.9.2.3 2001/06/26 10:43:18 darrenr Exp $ 8 */ 9 10#ifndef __IPF_H__ 11#define __IPF_H__ 12 13#ifndef SOLARIS 14#define SOLARIS (defined(sun) && (defined(__svr4__) || defined(__SVR4))) 15#endif 16#define OPT_REMOVE 0x000001 17#define OPT_DEBUG 0x000002 18#define OPT_OUTQUE FR_OUTQUE /* 0x00004 */ 19#define OPT_INQUE FR_INQUE /* 0x00008 */ 20#define OPT_LOG FR_LOG /* 0x00010 */ 21#define OPT_SHOWLIST 0x000020 22#define OPT_VERBOSE 0x000040 23#define OPT_DONOTHING 0x000080 24#define OPT_HITS 0x000100 25#define OPT_BRIEF 0x000200 26#define OPT_ACCNT FR_ACCOUNT /* 0x0400 */ 27#define OPT_FRSTATES FR_KEEPFRAG /* 0x0800 */ 28#define OPT_IPSTATES FR_KEEPSTATE /* 0x1000 */ 29#define OPT_INACTIVE FR_INACTIVE /* 0x2000 */ 30#define OPT_SHOWLINENO 0x004000 31#define OPT_PRINTFR 0x008000 32#define OPT_ZERORULEST 0x010000 33#define OPT_SAVEOUT 0x020000 34#define OPT_AUTHSTATS 0x040000 35#define OPT_RAW 0x080000 36#define OPT_NAT 0x100000 37#define OPT_GROUPS 0x200000 38#define OPT_STATETOP 0x400000 39#define OPT_FLUSH 0x800000 40#define OPT_CLEAR 0x1000000 41#define OPT_NODO 0x80000000 42 43#define OPT_STAT OPT_FRSTATES 44#define OPT_LIST OPT_SHOWLIST 45 46 47#ifndef __P 48# ifdef __STDC__ 49# define __P(x) x 50# else 51# define __P(x) () 52# endif 53#endif 54 55struct frpcmp; 56 57#ifdef ultrix 58extern char *strdup __P((char *)); 59#endif 60 61extern struct frentry *parse __P((char *, int)); 62 63extern void printfr __P((struct frentry *)); 64extern void binprint __P((struct frentry *)), initparse __P((void)); 65extern int portnum __P((char *, u_short *, int)); 66 67 68struct ipopt_names { 69 int on_value; 70 int on_bit; 71 int on_siz; 72 char *on_name; 73}; 74 75 76extern char *proto; 77extern char flagset[]; 78extern u_char flags[]; 79 80extern u_char tcp_flags __P((char *, u_char *, int)); 81extern int countbits __P((u_32_t)); 82extern int ratoi __P((char *, int *, int, int)); 83extern int ratoui __P((char *, u_int *, u_int, u_int)); 84extern int hostmask __P((char ***, u_32_t *, u_32_t *, u_short *, int *, 85 u_short *, int)); 86extern int ports __P((char ***, u_short *, int *, u_short *, int)); 87extern char *portname __P((int, int)); 88extern u_32_t buildopts __P((char *, char *, int)); 89extern int genmask __P((char *, u_32_t *)); 90extern int hostnum __P((u_32_t *, char *, int)); 91extern u_32_t optname __P((char ***, u_short *, int)); 92extern void printpacket __P((ip_t *)); 93extern void printportcmp __P((int, struct frpcmp *)); 94extern void printhostmask __P((int, u_32_t *, u_32_t *)); 95extern void printbuf __P((char *, int, int)); 96#if SOLARIS 97extern int inet_aton __P((const char *, struct in_addr *)); 98extern int gethostname __P((char *, int )); 99extern void sync __P((void)); 100#endif 101 102#if defined(sun) && !SOLARIS 103# define STRERROR(x) sys_errlist[x] 104extern char *sys_errlist[]; 105#else 106# define STRERROR(x) strerror(x) 107#endif 108 109#ifndef MIN 110#define MIN(a,b) ((a) > (b) ? (b) : (a)) 111#endif 112 113#endif /* __IPF_H__ */ 114