/* * 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 lifo_order.h * \author Ioannis Koutras (joko@microlab.ntua.gr) * \date January, 2012 * * \brief Add a block in a LIFO-ordered linked list. */ #ifndef LIFO_ORDER_H #define LIFO_ORDER_H #ifdef COUNT_HOPS #include #endif /* COUNT_HOPS */ #include "dmm_config.h" #ifdef LIFO_SORT_POLICY #ifdef COUNT_HOPS #define add_block(heap, block, list) add_block_lifo_order(heap, block, list) #else /* COUNT_HOPS */ #define add_block(block, list) add_block_lifo_order(block, list) #endif /* COUNT_HOPS */ #endif /* LIFO_SORT_POLICY */ /** * Adds a block in a LIFO-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. */ #ifdef COUNT_HOPS /* * @param heap A pointer to the heap which manages the block. */ void add_block_lifo_order( heap_t *heap, void **block, void **starting_node); #else /* COUNT_HOPS */ void add_block_lifo_order( void **block, void **starting_node); #endif /* COUNT_HOPS */ #endif /* LIFO_ORDER_H */