xref: /freebsd/contrib/ntp/include/ntp_keyacc.h (revision 09100258)
168ba7e87SXin LI /*
268ba7e87SXin LI  *  ntp_keyacc.h - key access stuff
368ba7e87SXin LI  */
468ba7e87SXin LI #ifndef NTP_KEYACC_H
568ba7e87SXin LI #define NTP_KEYACC_H
668ba7e87SXin LI 
768ba7e87SXin LI typedef struct keyaccess KeyAccT;
868ba7e87SXin LI struct keyaccess {
968ba7e87SXin LI 	KeyAccT *	next;
1068ba7e87SXin LI 	sockaddr_u	addr;
11*09100258SXin LI 	unsigned int	subnetbits;
1268ba7e87SXin LI };
1368ba7e87SXin LI 
14*09100258SXin LI extern KeyAccT* keyacc_new_push(KeyAccT *head, const sockaddr_u *addr,
15*09100258SXin LI 				unsigned int subnetbits);
164990d495SXin LI extern KeyAccT* keyacc_pop_free(KeyAccT *head);
174990d495SXin LI extern KeyAccT* keyacc_all_free(KeyAccT *head);
184990d495SXin LI extern int      keyacc_contains(const KeyAccT *head, const sockaddr_u *addr,
194990d495SXin LI 				int res_on_empty_list);
20*09100258SXin LI /* public for testability: */
21*09100258SXin LI extern int	keyacc_amatch(const sockaddr_u *,const sockaddr_u *,
22*09100258SXin LI 			      unsigned int mbits);
23*09100258SXin LI 
244990d495SXin LI 
2568ba7e87SXin LI #endif	/* NTP_KEYACC_H */
26