Merge from vendor branch LIBPCAP:
[dragonfly.git] / contrib / ipfilter / ip_auth.h
1 /*
2  * Copyright (C) 1997-2001 by Darren Reed & Guido Van Rooij.
3  *
4  * See the IPFILTER.LICENCE file for details on licencing.
5  *
6  * $Id: ip_auth.h,v 2.3.2.6 2002/10/26 07:03:00 darrenr Exp $
7  *
8  */
9 #ifndef __IP_AUTH_H__
10 #define __IP_AUTH_H__
11
12 #define FR_NUMAUTH      32
13
14 typedef struct  frauth {
15         int     fra_age;
16         int     fra_index;
17         u_32_t  fra_pass;
18         fr_info_t       fra_info;
19 #if SOLARIS
20         queue_t *fra_q;
21 #endif
22 } frauth_t;
23
24 typedef struct  frauthent  {
25         struct  frentry fae_fr;
26         struct  frauthent       *fae_next;
27         u_long  fae_age;
28 } frauthent_t;
29
30 typedef struct  fr_authstat {
31         U_QUAD_T        fas_hits;
32         U_QUAD_T        fas_miss;
33         u_long          fas_nospace;
34         u_long          fas_added;
35         u_long          fas_sendfail;
36         u_long          fas_sendok;
37         u_long          fas_queok;
38         u_long          fas_quefail;
39         u_long          fas_expire;
40         frauthent_t     *fas_faelist;
41 } fr_authstat_t;
42
43
44 extern  frentry_t       *ipauth;
45 extern  struct fr_authstat      fr_authstats;
46 extern  int     fr_defaultauthage;
47 extern  int     fr_authsize;
48 extern  int     fr_authused;
49 extern  int     fr_auth_lock;
50 extern  u_32_t  fr_checkauth __P((ip_t *, fr_info_t *));
51 extern  void    fr_authexpire __P((void));
52 extern  void    fr_authunload __P((void));
53 extern  mb_t    *fr_authpkts[];
54 extern  int     fr_newauth __P((mb_t *, fr_info_t *, ip_t *));
55 #if defined(__NetBSD__) || defined(__OpenBSD__) || \
56     (__FreeBSD_version >= 300003)
57 extern  int     fr_preauthcmd __P((u_long, frentry_t *, frentry_t **));
58 extern  int     fr_auth_ioctl __P((caddr_t, int, u_long));
59 #else
60 extern  int     fr_preauthcmd __P((int, frentry_t *, frentry_t **));
61 extern  int     fr_auth_ioctl __P((caddr_t, int, int));
62 #endif
63 #endif  /* __IP_AUTH_H__ */