linux/lib/zlib_inflate/infutil.h
<<
>>
Prefs
   1/* infutil.h -- types and macros common to blocks and codes
   2 * Copyright (C) 1995-1998 Mark Adler
   3 * For conditions of distribution and use, see copyright notice in zlib.h 
   4 */
   5
   6/* WARNING: this file should *not* be used by applications. It is
   7   part of the implementation of the compression library and is
   8   subject to change. Applications should only use zlib.h.
   9 */
  10
  11#ifndef _INFUTIL_H
  12#define _INFUTIL_H
  13
  14#include <linux/zlib.h>
  15#ifdef CONFIG_ZLIB_DFLTCC
  16#include "../zlib_dfltcc/dfltcc.h"
  17#include <asm/page.h>
  18#endif
  19
  20/* memory allocation for inflation */
  21
  22struct inflate_workspace {
  23        struct inflate_state inflate_state;
  24#ifdef CONFIG_ZLIB_DFLTCC
  25        struct dfltcc_state dfltcc_state;
  26        unsigned char working_window[(1 << MAX_WBITS) + PAGE_SIZE];
  27#else
  28        unsigned char working_window[(1 << MAX_WBITS)];
  29#endif
  30};
  31
  32#ifdef CONFIG_ZLIB_DFLTCC
  33/* dfltcc_state must be doubleword aligned for DFLTCC call */
  34static_assert(offsetof(struct inflate_workspace, dfltcc_state) % 8 == 0);
  35#endif
  36
  37#define WS(strm) ((struct inflate_workspace *)(strm->workspace))
  38
  39#endif
  40