|
xorp
|
00001 // -*- c-basic-offset: 4; tab-width: 8; indent-tabs-mode: t -*- 00002 // vim:set sts=4 ts=8: 00003 00004 // Copyright (c) 2001-2011 XORP, Inc and Others 00005 // 00006 // This program is free software; you can redistribute it and/or modify 00007 // it under the terms of the GNU General Public License, Version 2, June 00008 // 1991 as published by the Free Software Foundation. Redistribution 00009 // and/or modification of this program under the terms of any other 00010 // version of the GNU General Public License is not permitted. 00011 // 00012 // This program is distributed in the hope that it will be useful, but 00013 // WITHOUT ANY WARRANTY; without even the implied warranty of 00014 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For more details, 00015 // see the GNU General Public License, Version 2, a copy of which can be 00016 // found in the XORP LICENSE.gpl file. 00017 // 00018 // XORP Inc, 2953 Bunker Hill Lane, Suite 204, Santa Clara, CA 95054, USA; 00019 // http://xorp.net 00020 00021 // $XORP: xorp/mrt/mifset.hh,v 1.11 2008/10/02 21:57:45 bms Exp $ 00022 00023 00024 #ifndef __MRT_MIFSET_HH__ 00025 #define __MRT_MIFSET_HH__ 00026 00027 00028 // 00029 // Multicast interface bitmap-based classes. 00030 // 00031 00032 00033 #include <sys/types.h> 00034 00035 #include "libxorp/xorp.h" 00036 #include "max_vifs.h" 00037 00038 #ifndef XORP_USE_USTL 00039 #include <bitset> 00040 #endif 00041 00042 // 00043 // Constants definitions 00044 // 00045 00046 // 00047 // Structures/classes, typedefs and macros 00048 // 00049 00050 // Interface array bitmask 00051 00052 typedef bitset<MAX_VIFS> Mifset; 00053 00054 00055 // 00056 // Global variables 00057 // 00058 00059 // 00060 // Global functions prototypes 00061 // 00062 void mifset_to_array(const Mifset& mifset, uint8_t *array); 00063 void array_to_mifset(const uint8_t *array, Mifset& mifset); 00064 void mifset_to_vector(const Mifset& mifset, vector<uint8_t>& vector); 00065 void vector_to_mifset(const vector<uint8_t>& vector, Mifset& mifset); 00066 00067 #endif // __MRT_MIFSET_HH__