1 /***************************************************************************
3 * Open \______ \ ____ ____ | | _\_ |__ _______ ___
4 * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
5 * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
6 * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
10 * Copyright (C) 2005 Jens Arnold
12 * 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.
17 * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
18 * KIND, either express or implied.
20 ****************************************************************************/
22 /* Global declarations to be used in rockbox software codecs */
27 #include <sys/types.h>
29 extern struct codec_api
*ci
;
31 /* 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)
36 #define realloc(x,y) codec_realloc(x,y)
37 #define free(x) codec_free(x)
38 #define alloca(x) __builtin_alloca(x)
40 void* codec_malloc(size_t size
);
41 void* codec_calloc(size_t nmemb
, size_t size
);
42 void* codec_realloc(void* ptr
, size_t size
);
43 void codec_free(void* ptr
);
45 #define abs(x) ((x)>0?(x):-(x))
46 #define labs(x) abs(x)
48 void qsort(void *base
, size_t nmemb
, size_t size
, int(*compar
)(const void *, const void *));