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.16 2003/07/25 12:29:56 darrenr Exp $
7  *
8  * Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
9  * Use is subject to license terms.
10  */
11 
12 #pragma ident	"%Z%%M%	%I%	%E% SMI"
13 
14 #ifndef	__IP_AUTH_H__
15 #define	__IP_AUTH_H__
16 
17 #define FR_NUMAUTH      32
18 
19 typedef struct  frauth {
20 	int	fra_age;
21 	int	fra_len;
22 	int	fra_index;
23 	u_32_t	fra_pass;
24 	fr_info_t	fra_info;
25 	char	*fra_buf;
26 #ifdef	MENTAT
27 	queue_t	*fra_q;
28 #endif
29 } frauth_t;
30 
31 typedef	struct	frauthent  {
32 	struct	frentry	fae_fr;
33 	struct	frauthent	*fae_next;
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 *fr_checkauth __P((fr_info_t *, u_32_t *));
53 extern	void	fr_authexpire __P((ipf_stack_t *));
54 extern	int	fr_authinit __P((ipf_stack_t *));
55 extern	void	fr_authunload __P((ipf_stack_t *));
56 extern	int	fr_authflush __P((ipf_stack_t *));
57 extern	int	fr_newauth __P((mb_t *, fr_info_t *));
58 extern	int	fr_preauthcmd __P((ioctlcmd_t, frentry_t *, frentry_t **, ipf_stack_t *));
59 extern	int	fr_auth_ioctl __P((caddr_t, int, int, int, void *, ipf_stack_t *));
60 
61 #endif	/* __IP_AUTH_H__ */
62