1 #define _LINUX_STRING_H_ 2 3 #include <linux/compiler.h> /* for inline */ 4 #include <linux/types.h> /* for size_t */ 5 #include <linux/stddef.h> /* for NULL */ 6 #include <linux/linkage.h> 7 #include <asm/string.h> 8 9 extern unsigned long free_mem_ptr; 10 extern unsigned long free_mem_end_ptr; 11 extern void error(char *); 12 13 #define STATIC static 14 #define STATIC_RW_DATA /* non-static please */ 15 16 #define ARCH_HAS_DECOMP_WDOG 17 18 /* Diagnostic functions */ 19 #ifdef DEBUG 20 # define Assert(cond,msg) {if(!(cond)) error(msg);} 21 # define Trace(x) fprintf x 22 # define Tracev(x) {if (verbose) fprintf x ;} 23 # define Tracevv(x) {if (verbose>1) fprintf x ;} 24 # define Tracec(c,x) {if (verbose && (c)) fprintf x ;} 25 # define Tracecv(c,x) {if (verbose>1 && (c)) fprintf x ;} 26 #else 27 # define Assert(cond,msg) 28 # define Trace(x) 29 # define Tracev(x) 30 # define Tracevv(x) 31 # define Tracec(c,x) 32 # define Tracecv(c,x) 33 #endif 34 35 /* Not needed, but used in some headers pulled in by decompressors */ 36 extern char * strstr(const char * s1, const char *s2); 37 38 #ifdef CONFIG_KERNEL_GZIP 39 #include "../../../../lib/decompress_inflate.c" 40 #endif 41 42 #ifdef CONFIG_KERNEL_LZO 43 #include "../../../../lib/decompress_unlzo.c" 44 #endif 45 46 #ifdef CONFIG_KERNEL_LZMA 47 #include "../../../../lib/decompress_unlzma.c" 48 #endif 49 50 #ifdef CONFIG_KERNEL_XZ 51 #define memmove memmove 52 #define memcpy memcpy 53 #include "../../../../lib/decompress_unxz.c" 54 #endif 55 56 int do_decompress(u8 *input, int len, u8 *output, void (*error)(char *x)) 57 { 58 return decompress(input, len, NULL, NULL, output, NULL, error); 59 } 60