| Richard Purdie | 64c70b1 | 2007-07-10 17:22:24 -0700 | [diff] [blame] | 1 | /* | 
|  | 2 | *  lzodefs.h -- architecture, OS and compiler specific defines | 
|  | 3 | * | 
|  | 4 | *  Copyright (C) 1996-2005 Markus F.X.J. Oberhumer <markus@oberhumer.com> | 
|  | 5 | * | 
|  | 6 | *  The full LZO package can be found at: | 
|  | 7 | *  http://www.oberhumer.com/opensource/lzo/ | 
|  | 8 | * | 
|  | 9 | *  Changed for kernel use by: | 
|  | 10 | *  Nitin Gupta <nitingupta910@gmail.com> | 
|  | 11 | *  Richard Purdie <rpurdie@openedhand.com> | 
|  | 12 | */ | 
|  | 13 |  | 
|  | 14 | #define LZO_VERSION		0x2020 | 
|  | 15 | #define LZO_VERSION_STRING	"2.02" | 
|  | 16 | #define LZO_VERSION_DATE	"Oct 17 2005" | 
|  | 17 |  | 
|  | 18 | #define M1_MAX_OFFSET	0x0400 | 
|  | 19 | #define M2_MAX_OFFSET	0x0800 | 
|  | 20 | #define M3_MAX_OFFSET	0x4000 | 
|  | 21 | #define M4_MAX_OFFSET	0xbfff | 
|  | 22 |  | 
|  | 23 | #define M1_MIN_LEN	2 | 
|  | 24 | #define M1_MAX_LEN	2 | 
|  | 25 | #define M2_MIN_LEN	3 | 
|  | 26 | #define M2_MAX_LEN	8 | 
|  | 27 | #define M3_MIN_LEN	3 | 
|  | 28 | #define M3_MAX_LEN	33 | 
|  | 29 | #define M4_MIN_LEN	3 | 
|  | 30 | #define M4_MAX_LEN	9 | 
|  | 31 |  | 
|  | 32 | #define M1_MARKER	0 | 
|  | 33 | #define M2_MARKER	64 | 
|  | 34 | #define M3_MARKER	32 | 
|  | 35 | #define M4_MARKER	16 | 
|  | 36 |  | 
|  | 37 | #define D_BITS		14 | 
|  | 38 | #define D_MASK		((1u << D_BITS) - 1) | 
|  | 39 | #define D_HIGH		((D_MASK >> 1) + 1) | 
|  | 40 |  | 
|  | 41 | #define DX2(p, s1, s2)	(((((size_t)((p)[2]) << (s2)) ^ (p)[1]) \ | 
|  | 42 | << (s1)) ^ (p)[0]) | 
|  | 43 | #define DX3(p, s1, s2, s3)	((DX2((p)+1, s2, s3) << (s1)) ^ (p)[0]) |