X-Git-Url: http://mj.ucw.cz/gitweb/?a=blobdiff_plain;ds=sidebyside;f=lib%2Fipaccess.h;h=b407783885eef4d93a36413000b3492c87eca036;hb=39d5e9acc6d93c07cbb408fe27144c8a485499ac;hp=e9c85b2ad4cb1645a9686af7da8c4b5dd2d525bf;hpb=1d7fc9eb31d84e288cef60f39b0b70ab6a917aa5;p=libucw.git diff --git a/lib/ipaccess.h b/lib/ipaccess.h index e9c85b2a..b4077838 100644 --- a/lib/ipaccess.h +++ b/lib/ipaccess.h @@ -1,11 +1,28 @@ /* - * Sherlock Library -- IP address access lists + * UCW Library -- IP address access lists * - * (c) 1997--2001 Martin Mares + * (c) 1997--2007 Martin Mares + * + * This software may be freely distributed and used according to the terms + * of the GNU Lesser General Public License. */ -struct ipaccess_list; +#ifndef _UCW_IPACCESS_H +#define _UCW_IPACCESS_H + +#include "lib/clists.h" + +extern struct cf_section ipaccess_cf; +int ipaccess_check(clist *l, u32 ip); + +/* Low-level handling of addresses and masks */ + +struct ip_addrmask { + u32 addr; + u32 mask; +}; + +extern struct cf_user_type ip_addrmask_type; +int ip_addrmask_match(struct ip_addrmask *am, u32 ip); -struct ipaccess_list *ipaccess_init(void); -byte *ipaccess_parse(struct ipaccess_list *l, byte *c, int is_allow); -int ipaccess_check(struct ipaccess_list *l, u32 ip); +#endif