12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- /*
- * 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 address_order.h
- * \author Ioannis Koutras (joko@microlab.ntua.gr)
- * \date January, 2012
- *
- * \brief Add a block in an address-ordered linked list.
- */
- #ifndef ADDRESS_ORDER_H
- #define ADDRESS_ORDER_H
- #ifdef COUNT_HOPS
- #include <dmmlib/heap.h>
- #endif /* COUNT_HOPS */
- #include "dmm_config.h"
- #ifdef ADDRESS_SORT_POLICY
- #ifdef COUNT_HOPS
- #define add_block(heap, block, list) add_block_address_order(heap, block, list)
- #else /* COUNT_HOPS */
- #define add_block(block, list) add_block_address_order(block, list)
- #endif /* COUNT_HOPS */
- #endif /* ADDRESS_SORT_POLICY */
- /**
- * Adds a block in an address-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_address_order(
- heap_t *heap,
- void **block,
- void **starting_node);
- #else /* COUNT_HOPS */
- void add_block_address_order(
- void **block,
- void **starting_node);
- #endif /* COUNT_HOPS */
- #endif /* ADDRESS_ORDER_H */
|