blob: 2ee4e471b25cef71e78d87a3deab567784fab73b [file] [log] [blame]
Jens Arnoldb363d652005-02-28 20:55:31 +00001/***************************************************************************
2 * __________ __ ___.
3 * Open \______ \ ____ ____ | | _\_ |__ _______ ___
4 * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
5 * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
6 * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
7 * \/ \/ \/ \/ \/
8 * $Id$
9 *
10 * Copyright (C) 2005 Jens Arnold
11 *
Daniel Stenberg2acc0ac2008-06-28 18:10:04 +000012 * This program is free software; you can redistribute it and/or
13 * modify it under the terms of the GNU General Public License
14 * as published by the Free Software Foundation; either version 2
15 * of the License, or (at your option) any later version.
Jens Arnoldb363d652005-02-28 20:55:31 +000016 *
17 * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
18 * KIND, either express or implied.
19 *
20 ****************************************************************************/
21
22/* Global declarations to be used in rockbox software codecs */
23
Jean-Philippe Bernardya6024fa2005-03-09 14:39:52 +000024#include "config.h"
Thom Johansen735208a2005-09-07 00:24:27 +000025#include "system.h"
Jean-Philippe Bernardya6024fa2005-03-09 14:39:52 +000026
Jens Arnoldb363d652005-02-28 20:55:31 +000027#include <sys/types.h>
28
Tomasz Malesinski80da8b12006-11-26 18:31:41 +000029extern struct codec_api *ci;
30
Jens Arnoldb363d652005-02-28 20:55:31 +000031/* Get these functions 'out of the way' of the standard functions. Not doing
32 * so confuses the cygwin linker, and maybe others. These functions need to
33 * be implemented elsewhere */
34#define malloc(x) codec_malloc(x)
35#define calloc(x,y) codec_calloc(x,y)
Jens Arnoldb363d652005-02-28 20:55:31 +000036#define realloc(x,y) codec_realloc(x,y)
37#define free(x) codec_free(x)
Magnus Holmgren37011252005-10-17 18:46:46 +000038#define alloca(x) __builtin_alloca(x)
Jens Arnoldb363d652005-02-28 20:55:31 +000039
40void* codec_malloc(size_t size);
41void* codec_calloc(size_t nmemb, size_t size);
Jens Arnoldb363d652005-02-28 20:55:31 +000042void* codec_realloc(void* ptr, size_t size);
43void codec_free(void* ptr);
44
Jens Arnoldb363d652005-02-28 20:55:31 +000045#define abs(x) ((x)>0?(x):-(x))
46#define labs(x) abs(x)
47
48void qsort(void *base, size_t nmemb, size_t size, int(*compar)(const void *, const void *));
49