xorp

max_vifs.h

00001 /* -*- c-basic-offset: 4; tab-width: 8; indent-tabs-mode: t -*- */
00002 /* vim:set sts=4 ts=8: */
00003 
00004 /*
00005  * Copyright (c) 2001-2009 XORP, Inc.
00006  *
00007  * This program is free software; you can redistribute it and/or modify
00008  * it under the terms of the GNU General Public License, Version 2, June
00009  * 1991 as published by the Free Software Foundation. Redistribution
00010  * and/or modification of this program under the terms of any other
00011  * version of the GNU General Public License is not permitted.
00012  * 
00013  * This program is distributed in the hope that it will be useful, but
00014  * WITHOUT ANY WARRANTY; without even the implied warranty of
00015  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For more details,
00016  * see the GNU General Public License, Version 2, a copy of which can be
00017  * found in the XORP LICENSE.gpl file.
00018  * 
00019  * XORP Inc, 2953 Bunker Hill Lane, Suite 204, Santa Clara, CA 95054, USA;
00020  * http://xorp.net
00021  */
00022 
00023 /*
00024  * $XORP: xorp/mrt/max_vifs.h,v 1.14 2008/10/02 21:57:45 bms Exp $
00025  */
00026 
00027 #ifndef __MRT_MAX_VIFS_H__
00028 #define __MRT_MAX_VIFS_H__
00029 
00030 /*
00031  * Header file to define the maximum number of multicast-capable vifs:
00032  * the constant MAX_VIFS.
00033  */
00034 
00035 #include "libxorp/xorp.h"
00036 
00037 #include "mrt/include/ip_mroute.h"
00038 
00039 
00040 /*
00041  * Constants definitions
00042  */
00043 
00044 /*
00045  * XXX: Define MAX_VIFS to be the largest of MAXVIFS, MAXMIFS, and 32
00046  */
00047 #ifndef MAX_VIFS
00048 #  define MAX_VIFS 32
00049 #elif (32 > MAX_VIFS)
00050 #  undef MAX_VIFS
00051 #  define MAX_VIFS 32
00052 #endif
00053 
00054 #if defined(MAXVIFS) && (MAXVIFS > MAX_VIFS)
00055 #  undef MAX_VIFS
00056 #  define MAX_VIFS MAXVIFS
00057 #endif // MAXVIFS > MAX_VIFS
00058 
00059 #if defined(MAXMIFS) && (MAXMIFS > MAX_VIFS)
00060 #  undef MAX_VIFS
00061 #  define MAX_VIFS MAXMIFS
00062 #endif // MAXMIFS > MAX_VIFS
00063 
00064 
00065 /*
00066  * Structures, typedefs and macros
00067  */
00068 
00069 /*
00070  * Global variables
00071  */
00072 
00073 /*
00074  * Global functions prototypes
00075  */
00076 
00077 __BEGIN_DECLS
00078 
00079 __END_DECLS
00080 
00081 #endif /* __MRT_MAX_VIFS_H__ */
 All Classes Namespaces Functions Variables Typedefs Enumerations