1 /* $FreeBSD: stable/9/sys/contrib/ipfilter/netinet/ip_auth.h 170268 2007-06-04 02:54:36Z darrenr $ */ 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: stable/9/sys/contrib/ipfilter/netinet/ip_auth.h 170268 2007-06-04 02:54:36Z darrenr $ 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__ */ 72