]> CyberLeo.Net >> Repos - FreeBSD/releng/9.2.git/blob - sys/contrib/ipfilter/netinet/ip_auth.h
- Copy stable/9 to releng/9.2 as part of the 9.2-RELEASE cycle.
[FreeBSD/releng/9.2.git] / sys / contrib / ipfilter / netinet / ip_auth.h
1 /*      $FreeBSD$       */
2
3 /*
4  * Copyright (C) 1997-2001 by Darren Reed & Guido Van Rooij.
5  *
6  * See the IPFILTER.LICENCE file for details on licencing.
7  *
8  * $FreeBSD$
9  * Id: ip_auth.h,v 2.16.2.2 2006/03/16 06:45:49 darrenr Exp $
10  *
11  */
12 #ifndef __IP_AUTH_H__
13 #define __IP_AUTH_H__
14
15 #define FR_NUMAUTH      32
16
17 typedef struct  frauth {
18         int     fra_age;
19         int     fra_len;
20         int     fra_index;
21         u_32_t  fra_pass;
22         fr_info_t       fra_info;
23         char    *fra_buf;
24 #ifdef  MENTAT
25         queue_t *fra_q;
26         mb_t    *fra_m;
27 #endif
28 } frauth_t;
29
30 typedef struct  frauthent  {
31         struct  frentry fae_fr;
32         struct  frauthent       *fae_next;
33         struct  frauthent       **fae_pnext;
34         u_long  fae_age;
35         int     fae_ref;
36 } frauthent_t;
37
38 typedef struct  fr_authstat {
39         U_QUAD_T        fas_hits;
40         U_QUAD_T        fas_miss;
41         u_long          fas_nospace;
42         u_long          fas_added;
43         u_long          fas_sendfail;
44         u_long          fas_sendok;
45         u_long          fas_queok;
46         u_long          fas_quefail;
47         u_long          fas_expire;
48         frauthent_t     *fas_faelist;
49 } fr_authstat_t;
50
51
52 extern  frentry_t       *ipauth;
53 extern  struct fr_authstat      fr_authstats;
54 extern  int     fr_defaultauthage;
55 extern  int     fr_authstart;
56 extern  int     fr_authend;
57 extern  int     fr_authsize;
58 extern  int     fr_authused;
59 extern  int     fr_auth_lock;
60 extern  frentry_t *fr_checkauth __P((fr_info_t *, u_32_t *));
61 extern  void    fr_authexpire __P((void));
62 extern  int     fr_authinit __P((void));
63 extern  void    fr_authunload __P((void));
64 extern  int     fr_authflush __P((void));
65 extern  mb_t    **fr_authpkts;
66 extern  int     fr_newauth __P((mb_t *, fr_info_t *));
67 extern  int     fr_preauthcmd __P((ioctlcmd_t, frentry_t *, frentry_t **));
68 extern  int     fr_auth_ioctl __P((caddr_t, ioctlcmd_t, int, int, void *));
69 extern  int     fr_auth_waiting __P((void));
70
71 #endif  /* __IP_AUTH_H__ */