Annotation of embedaddon/quagga/lib/filter.h, revision 1.1
1.1 ! misho 1: /*
! 2: * Route filtering function.
! 3: * Copyright (C) 1998 Kunihiro Ishiguro
! 4: *
! 5: * This file is part of GNU Zebra.
! 6: *
! 7: * GNU Zebra is free software; you can redistribute it and/or modify
! 8: * it under the terms of the GNU General Public License as published
! 9: * by the Free Software Foundation; either version 2, or (at your
! 10: * option) any later version.
! 11: *
! 12: * GNU Zebra is distributed in the hope that it will be useful, but
! 13: * WITHOUT ANY WARRANTY; without even the implied warranty of
! 14: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
! 15: * General Public License for more details.
! 16: *
! 17: * You should have received a copy of the GNU General Public License
! 18: * along with GNU Zebra; see the file COPYING. If not, write to the
! 19: * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
! 20: * Boston, MA 02111-1307, USA.
! 21: */
! 22:
! 23: #ifndef _ZEBRA_FILTER_H
! 24: #define _ZEBRA_FILTER_H
! 25:
! 26: #include "if.h"
! 27:
! 28: /* Filter type is made by `permit', `deny' and `dynamic'. */
! 29: enum filter_type
! 30: {
! 31: FILTER_DENY,
! 32: FILTER_PERMIT,
! 33: FILTER_DYNAMIC
! 34: };
! 35:
! 36: enum access_type
! 37: {
! 38: ACCESS_TYPE_STRING,
! 39: ACCESS_TYPE_NUMBER
! 40: };
! 41:
! 42: /* Access list */
! 43: struct access_list
! 44: {
! 45: char *name;
! 46: char *remark;
! 47:
! 48: struct access_master *master;
! 49:
! 50: enum access_type type;
! 51:
! 52: struct access_list *next;
! 53: struct access_list *prev;
! 54:
! 55: struct filter *head;
! 56: struct filter *tail;
! 57: };
! 58:
! 59: /* Prototypes for access-list. */
! 60: extern void access_list_init (void);
! 61: extern void access_list_reset (void);
! 62: extern void access_list_add_hook (void (*func)(struct access_list *));
! 63: extern void access_list_delete_hook (void (*func)(struct access_list *));
! 64: extern struct access_list *access_list_lookup (afi_t, const char *);
! 65: extern enum filter_type access_list_apply (struct access_list *, void *);
! 66:
! 67: #endif /* _ZEBRA_FILTER_H */
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>