ip_auth.h revision 170268
156893Sfenner/*	$FreeBSD: head/sys/contrib/ipfilter/netinet/ip_auth.h 170268 2007-06-04 02:54:36Z darrenr $	*/
256893Sfenner
356893Sfenner/*
456893Sfenner * Copyright (C) 1997-2001 by Darren Reed & Guido Van Rooij.
556893Sfenner *
656893Sfenner * See the IPFILTER.LICENCE file for details on licencing.
756893Sfenner *
856893Sfenner * $FreeBSD: head/sys/contrib/ipfilter/netinet/ip_auth.h 170268 2007-06-04 02:54:36Z darrenr $
956893Sfenner * Id: ip_auth.h,v 2.16.2.2 2006/03/16 06:45:49 darrenr Exp $
1056893Sfenner *
1156893Sfenner */
1256893Sfenner#ifndef	__IP_AUTH_H__
1356893Sfenner#define	__IP_AUTH_H__
1456893Sfenner
1556893Sfenner#define FR_NUMAUTH      32
1656893Sfenner
1756893Sfennertypedef struct  frauth {
1856893Sfenner	int	fra_age;
1956893Sfenner	int	fra_len;
2056893Sfenner	int	fra_index;
2156893Sfenner	u_32_t	fra_pass;
2256893Sfenner	fr_info_t	fra_info;
2356893Sfenner	char	*fra_buf;
2456893Sfenner#ifdef	MENTAT
2556893Sfenner	queue_t	*fra_q;
2656893Sfenner	mb_t	*fra_m;
2756893Sfenner#endif
2856893Sfenner} frauth_t;
29111726Sfenner
30111726Sfennertypedef	struct	frauthent  {
31111726Sfenner	struct	frentry	fae_fr;
3256893Sfenner	struct	frauthent	*fae_next;
3356893Sfenner	struct	frauthent	**fae_pnext;
3456893Sfenner	u_long	fae_age;
35111726Sfenner	int	fae_ref;
3656893Sfenner} frauthent_t;
3756893Sfenner
3856893Sfennertypedef struct  fr_authstat {
3956893Sfenner	U_QUAD_T	fas_hits;
4056893Sfenner	U_QUAD_T	fas_miss;
4156893Sfenner	u_long		fas_nospace;
4256893Sfenner	u_long		fas_added;
4356893Sfenner	u_long		fas_sendfail;
4456893Sfenner	u_long		fas_sendok;
4556893Sfenner	u_long		fas_queok;
4656893Sfenner	u_long		fas_quefail;
4756893Sfenner	u_long		fas_expire;
4856893Sfenner	frauthent_t	*fas_faelist;
4956893Sfenner} fr_authstat_t;
5056893Sfenner
5156893Sfenner
5256893Sfennerextern	frentry_t	*ipauth;
5356893Sfennerextern	struct fr_authstat	fr_authstats;
5456893Sfennerextern	int	fr_defaultauthage;
5556893Sfennerextern	int	fr_authstart;
56111726Sfennerextern	int	fr_authend;
57111726Sfennerextern	int	fr_authsize;
58111726Sfennerextern	int	fr_authused;
59111726Sfennerextern	int	fr_auth_lock;
60111726Sfennerextern	frentry_t *fr_checkauth __P((fr_info_t *, u_32_t *));
61111726Sfennerextern	void	fr_authexpire __P((void));
6256893Sfennerextern	int	fr_authinit __P((void));
63111726Sfennerextern	void	fr_authunload __P((void));
64111726Sfennerextern	int	fr_authflush __P((void));
65111726Sfennerextern	mb_t	**fr_authpkts;
6656893Sfennerextern	int	fr_newauth __P((mb_t *, fr_info_t *));
67111726Sfennerextern	int	fr_preauthcmd __P((ioctlcmd_t, frentry_t *, frentry_t **));
68111726Sfennerextern	int	fr_auth_ioctl __P((caddr_t, ioctlcmd_t, int, int, void *));
69111726Sfennerextern	int	fr_auth_waiting __P((void));
70111726Sfenner
71111726Sfenner#endif	/* __IP_AUTH_H__ */
72111726Sfenner