00001 /* Copyright 2008 Michael Marsh, University of Maryland. 00002 * 00003 * This file is part of pydtn. 00004 * 00005 * pydtn is free software: you can redistribute it and/or modify 00006 * it under the terms of the GNU General Public License as published by 00007 * the Free Software Foundation, either version 3 of the License, or 00008 * (at your option) any later version. 00009 * 00010 * pydtn is distributed in the hope that it will be useful, 00011 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00013 * GNU General Public License for more details. 00014 * 00015 * You should have received a copy of the GNU General Public License 00016 * along with pydtn. If not, see <http://www.gnu.org/licenses/>. 00017 * 00018 * The views and conclusions contained in the software and documentation 00019 * are those of the authors and should not be interpreted as representing 00020 * official policies, either expressed or implied, of the University 00021 * of Maryland. 00022 * 00023 * pydtn extends and embeds the Python interpreter, which is 00024 * Copyright 2001-2006 Python Software Foundation, All Rights Reserved, 00025 * and is released under the PSF License Agreement. 00026 * 00027 * RANLUX random number generation uses the Boost library, 00028 * Copyright 1994-2006 by various authors (details in individual files), 00029 * which is released under the Boost Software License, Version 1.0. 00030 */ 00031 00032 #include "aodv.h" 00033 00034 void 00035 free_aodv_rreq( aodv_rreq_t* r ) 00036 { 00037 if ( NULL == r ) return; 00038 00039 free_aodv_node_list( r->path ); 00040 if ( NULL != r->destination.data ) free(r->destination.data); 00041 if ( NULL != r->originator.data ) free(r->originator.data); 00042 free( r ); 00043 } 00044 00045 void 00046 free_aodv_rrep( aodv_rrep_t* r ) 00047 { 00048 if ( NULL == r ) return; 00049 00050 free_aodv_node_list( r->path ); 00051 if ( NULL != r->destination.addr.data ) free(r->destination.addr.data); 00052 if ( NULL != r->originator.data ) free(r->originator.data); 00053 free( r ); 00054 } 00055 00056 void 00057 free_aodv_rerr( aodv_rerr_t* r ) 00058 { 00059 if ( NULL == r ) return; 00060 00061 free_aodv_node_list( r->unreachable ); 00062 free( r ); 00063 } 00064
1.5.4