11da177e4SLinus Torvalds /* infutil.h -- types and macros common to blocks and codes 21da177e4SLinus Torvalds * Copyright (C) 1995-1998 Mark Adler 31da177e4SLinus Torvalds * For conditions of distribution and use, see copyright notice in zlib.h 41da177e4SLinus Torvalds */ 51da177e4SLinus Torvalds 61da177e4SLinus Torvalds /* WARNING: this file should *not* be used by applications. It is 71da177e4SLinus Torvalds part of the implementation of the compression library and is 81da177e4SLinus Torvalds subject to change. Applications should only use zlib.h. 91da177e4SLinus Torvalds */ 101da177e4SLinus Torvalds 111da177e4SLinus Torvalds #ifndef _INFUTIL_H 121da177e4SLinus Torvalds #define _INFUTIL_H 131da177e4SLinus Torvalds 144f3865fbSRichard Purdie #include <linux/zlib.h> 1512619610SMikhail Zaslonko #ifdef CONFIG_ZLIB_DFLTCC 1612619610SMikhail Zaslonko #include "../zlib_dfltcc/dfltcc.h" 1712619610SMikhail Zaslonko #include <asm/page.h> 1812619610SMikhail Zaslonko #endif 191da177e4SLinus Torvalds 201da177e4SLinus Torvalds /* memory allocation for inflation */ 211da177e4SLinus Torvalds 221da177e4SLinus Torvalds struct inflate_workspace { 234f3865fbSRichard Purdie struct inflate_state inflate_state; 2412619610SMikhail Zaslonko #ifdef CONFIG_ZLIB_DFLTCC 2512619610SMikhail Zaslonko struct dfltcc_state dfltcc_state; 2612619610SMikhail Zaslonko unsigned char working_window[(1 << MAX_WBITS) + PAGE_SIZE]; 2712619610SMikhail Zaslonko #else 2812619610SMikhail Zaslonko unsigned char working_window[(1 << MAX_WBITS)]; 2912619610SMikhail Zaslonko #endif 301da177e4SLinus Torvalds }; 311da177e4SLinus Torvalds 3212619610SMikhail Zaslonko #ifdef CONFIG_ZLIB_DFLTCC 3312619610SMikhail Zaslonko /* dfltcc_state must be doubleword aligned for DFLTCC call */ 3412619610SMikhail Zaslonko static_assert(offsetof(struct inflate_workspace, dfltcc_state) % 8 == 0); 3512619610SMikhail Zaslonko #endif 3612619610SMikhail Zaslonko 3712619610SMikhail Zaslonko #define WS(strm) ((struct inflate_workspace *)(strm->workspace)) 381da177e4SLinus Torvalds 391da177e4SLinus Torvalds #endif 40