1/*	$NetBSD: ntp_keyacc.h,v 1.3 2020/05/25 20:47:19 christos Exp $	*/
2
3/*
4 *  ntp_keyacc.h - key access stuff
5 */
6#ifndef NTP_KEYACC_H
7#define NTP_KEYACC_H
8
9typedef struct keyaccess KeyAccT;
10struct keyaccess {
11	KeyAccT *	next;
12	sockaddr_u	addr;
13	unsigned int	subnetbits;
14};
15
16extern KeyAccT* keyacc_new_push(KeyAccT *head, const sockaddr_u *addr,
17				unsigned int subnetbits);
18extern KeyAccT* keyacc_pop_free(KeyAccT *head);
19extern KeyAccT* keyacc_all_free(KeyAccT *head);
20extern int      keyacc_contains(const KeyAccT *head, const sockaddr_u *addr,
21				int res_on_empty_list);
22/* public for testability: */
23extern int	keyacc_amatch(const sockaddr_u *,const sockaddr_u *,
24			      unsigned int mbits);
25
26
27#endif	/* NTP_KEYACC_H */
28