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
19typedef 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
31typedef	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
38typedef 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
52extern	frentry_t *fr_checkauth __P((fr_info_t *, u_32_t *));
53extern	void	fr_authexpire __P((ipf_stack_t *));
54extern	int	fr_authinit __P((ipf_stack_t *));
55extern	void	fr_authunload __P((ipf_stack_t *));
56extern	int	fr_authflush __P((ipf_stack_t *));
57extern	int	fr_newauth __P((mb_t *, fr_info_t *));
58extern	int	fr_preauthcmd __P((ioctlcmd_t, frentry_t *, frentry_t **, ipf_stack_t *));
59extern	int	fr_auth_ioctl __P((caddr_t, int, int, int, void *, ipf_stack_t *));
60
61#endif	/* __IP_AUTH_H__ */
62