linux/lib/lzo/lzodefs.h
<<
>>
Prefs
   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])
  44