/* * Copyright 2011 Institute of Communication and Computer Systems (ICCS) * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ /** * \file add_block_in_order.h * \author Ioannis Koutras (joko@microlab.ntua.gr) * \date January, 2012 * * \brief Add a block in an ordered linked list. */ #ifndef ADD_BLOCK_IN_ORDER_H #define ADD_BLOCK_IN_ORDER_H #include #include "dmm_config.h" #ifdef COUNT_HOPS #include #endif /* COUNT_HOPS */ /** * Adds a block in an ordered list. * * @param block The pointer of the data part of the block to be added. * @param starting_node The pointer to the starting memory block of the list. * @param search_condition Function pointer of the search condition. */ #ifdef COUNT_HOPS /* * @param heap A pointer to the heap which manages the block. */ void add_block_in_order( heap_t *heap, void **block, void **starting_node, bool (*search_condition)(void *block, void* comparing_block)); #else /* COUNT_HOPS */ void add_block_in_order( void **block, void **starting_node, bool (*search_condition)(void *block, void* comparing_block)); #endif /* COUNT_HOPS */ #endif /* ADD_BLOCK_IN_ORDER_H */