mirror of
				https://git.proxmox.com/git/mirror_frr
				synced 2025-11-04 10:07:04 +00:00 
			
		
		
		
	* version.h.in: (pid_output*) add const qualifier.
	* command.h: Change DEFUN func to take const char *[] rather
          than char **, to begin process of fixing compile warnings in lib/.
          Nearly all other changes in this commit follow from this change.
        * buffer.{c,h}: (buffer_write) pointer-arithmetic is gccism, take
          const void * and cast an automatic const char *p to it.
          (buffer_putstr) add const
        * command.c: (zencrypt) const qualifier
          (cmd_execute_command_real) ditto
          (cmd_execute_command_strict) ditto
          (config_log_file) ditto.
          Fix leak of getcwd() returned string.
        * memory.{c,h}: Add MTYPE_DISTRIBUTE_IFNAME for struct dist ifname.
        * distribute.{c,h}: Update with const qualifier.
          (distribute_free) use MTYPE_DISTRIBUTE_IFNAME
          (distribute_lookup) Cast to char *, note that it's ok.
          (distribute_hash_alloc) use MTYPE_DISTRIBUTE_IFNAME.
          (distribute_get)  Cast to char *, note that it's ok.
        * filter.c: Update with const qualifier.
        * if.{c,h}: ditto.
        * if_rmap.{c,h}: ditto.
          (if_rmap_lookup) Cast to char *, note that it's ok.
          (if_rmap_get) ditto.
        * log.{c,h}: Update with const qualifier.
        * plist.{c,h}: ditto.
        * routemap.{c,h}: ditto.
        * smux.{c,h}: ditto. Fix some signed/unsigned comparisons.
        * sockopt.c: (getsockopt_cmsg_data) add return for error case.
        * vty.c: Update with const qualifier.
		
	
			
		
			
				
	
	
		
			79 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			79 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/*
 | 
						|
 * Prefix list functions.
 | 
						|
 * Copyright (C) 1999 Kunihiro Ishiguro
 | 
						|
 *
 | 
						|
 * This file is part of GNU Zebra.
 | 
						|
 *
 | 
						|
 * GNU Zebra is free software; you can redistribute it and/or modify
 | 
						|
 * it under the terms of the GNU General Public License as published
 | 
						|
 * by the Free Software Foundation; either version 2, or (at your
 | 
						|
 * option) any later version.
 | 
						|
 *
 | 
						|
 * GNU Zebra is distributed in the hope that it will be useful, but
 | 
						|
 * WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
						|
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 | 
						|
 * General Public License for more details.
 | 
						|
 *
 | 
						|
 * You should have received a copy of the GNU General Public License
 | 
						|
 * along with GNU Zebra; see the file COPYING.  If not, write to the
 | 
						|
 * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 | 
						|
 * Boston, MA 02111-1307, USA.
 | 
						|
 */
 | 
						|
 | 
						|
#define AFI_ORF_PREFIX 65535
 | 
						|
 | 
						|
enum prefix_list_type 
 | 
						|
{
 | 
						|
  PREFIX_DENY,
 | 
						|
  PREFIX_PERMIT,
 | 
						|
};
 | 
						|
 | 
						|
enum prefix_name_type
 | 
						|
{
 | 
						|
  PREFIX_TYPE_STRING,
 | 
						|
  PREFIX_TYPE_NUMBER
 | 
						|
};
 | 
						|
 | 
						|
struct prefix_list
 | 
						|
{
 | 
						|
  char *name;
 | 
						|
  char *desc;
 | 
						|
 | 
						|
  struct prefix_master *master;
 | 
						|
 | 
						|
  enum prefix_name_type type;
 | 
						|
 | 
						|
  int count;
 | 
						|
  int rangecount;
 | 
						|
 | 
						|
  struct prefix_list_entry *head;
 | 
						|
  struct prefix_list_entry *tail;
 | 
						|
 | 
						|
  struct prefix_list *next;
 | 
						|
  struct prefix_list *prev;
 | 
						|
};
 | 
						|
 | 
						|
struct orf_prefix
 | 
						|
{
 | 
						|
  u_int32_t seq;
 | 
						|
  u_char ge;
 | 
						|
  u_char le;
 | 
						|
  struct prefix p;
 | 
						|
};
 | 
						|
 | 
						|
/* Prototypes. */
 | 
						|
void prefix_list_init (void);
 | 
						|
void prefix_list_reset (void);
 | 
						|
void prefix_list_add_hook (void (*func) (struct prefix_list *));
 | 
						|
void prefix_list_delete_hook (void (*func) (struct prefix_list *));
 | 
						|
 | 
						|
struct prefix_list *prefix_list_lookup (afi_t, const char *);
 | 
						|
enum prefix_list_type prefix_list_apply (struct prefix_list *, void *);
 | 
						|
 | 
						|
struct stream *
 | 
						|
prefix_bgp_orf_entry (struct stream *, struct prefix_list *,
 | 
						|
                      u_char, u_char, u_char);
 | 
						|
int prefix_bgp_orf_set (char *, afi_t, struct orf_prefix *, int, int);
 | 
						|
void prefix_bgp_orf_remove_all (char *);
 | 
						|
int prefix_bgp_show_prefix_list (struct vty *, afi_t, char *);
 |