1 /***************************************************************************
3 * Open \______ \ ____ ____ | | _\_ |__ _______ ___
4 * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
5 * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
6 * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
9 * Copyright (C) 2003 Tat Tang
11 * All files in this archive are subject to the GNU General Public License.
12 * See the file COPYING in the source tree root for full license agreement.
14 * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
15 * KIND, either express or implied.
17 ****************************************************************************/
22 /*******************************************************************************
24 ******************************************************************************/
34 #define LRU_SLOT_OVERHEAD (2 * sizeof(short))
36 /* Create LRU list with specified size from buf. */
37 void lru_create(struct lru
* pl
, void *buf
, short size
, short data_size
);
38 /* Touch an entry. Moves handle to back of LRU list */
39 void lru_touch(struct lru
* pl
, short handle
);
41 void *lru_data(struct lru
* pl
, short handle
);
42 /* Traverse lru-wise */
43 void lru_traverse(struct lru
* pl
, void (*callback
)(void* data
));