Annotation of embedaddon/quagga/lib/plist.h, revision 1.1

1.1     ! misho       1: /*
        !             2:  * Prefix list functions.
        !             3:  * Copyright (C) 1999 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 _QUAGGA_PLIST_H
        !            24: #define _QUAGGA_PLIST_H
        !            25: 
        !            26: #define AFI_ORF_PREFIX 65535
        !            27: 
        !            28: enum prefix_list_type 
        !            29: {
        !            30:   PREFIX_DENY,
        !            31:   PREFIX_PERMIT,
        !            32: };
        !            33: 
        !            34: enum prefix_name_type
        !            35: {
        !            36:   PREFIX_TYPE_STRING,
        !            37:   PREFIX_TYPE_NUMBER
        !            38: };
        !            39: 
        !            40: struct prefix_list
        !            41: {
        !            42:   char *name;
        !            43:   char *desc;
        !            44: 
        !            45:   struct prefix_master *master;
        !            46: 
        !            47:   enum prefix_name_type type;
        !            48: 
        !            49:   int count;
        !            50:   int rangecount;
        !            51: 
        !            52:   struct prefix_list_entry *head;
        !            53:   struct prefix_list_entry *tail;
        !            54: 
        !            55:   struct prefix_list *next;
        !            56:   struct prefix_list *prev;
        !            57: };
        !            58: 
        !            59: struct orf_prefix
        !            60: {
        !            61:   u_int32_t seq;
        !            62:   u_char ge;
        !            63:   u_char le;
        !            64:   struct prefix p;
        !            65: };
        !            66: 
        !            67: /* Prototypes. */
        !            68: extern void prefix_list_init (void);
        !            69: extern void prefix_list_reset (void);
        !            70: extern void prefix_list_add_hook (void (*func) (struct prefix_list *));
        !            71: extern void prefix_list_delete_hook (void (*func) (struct prefix_list *));
        !            72: 
        !            73: extern struct prefix_list *prefix_list_lookup (afi_t, const char *);
        !            74: extern enum prefix_list_type prefix_list_apply (struct prefix_list *, void *);
        !            75: 
        !            76: extern struct stream * prefix_bgp_orf_entry (struct stream *,
        !            77:                                              struct prefix_list *,
        !            78:                                              u_char, u_char, u_char);
        !            79: extern int prefix_bgp_orf_set (char *, afi_t, struct orf_prefix *, int, int);
        !            80: extern void prefix_bgp_orf_remove_all (char *);
        !            81: extern int prefix_bgp_show_prefix_list (struct vty *, afi_t, char *);
        !            82: 
        !            83: #endif /* _QUAGGA_PLIST_H */

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>