cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

decompressor.h (1355B)


      1/* SPDX-License-Identifier: GPL-2.0-or-later */
      2#ifndef DECOMPRESSOR_H
      3#define DECOMPRESSOR_H
      4/*
      5 * Squashfs - a compressed read only filesystem for Linux
      6 *
      7 * Copyright (c) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
      8 * Phillip Lougher <phillip@squashfs.org.uk>
      9 *
     10 * decompressor.h
     11 */
     12
     13#include <linux/bio.h>
     14
     15struct squashfs_decompressor {
     16	void	*(*init)(struct squashfs_sb_info *, void *);
     17	void	*(*comp_opts)(struct squashfs_sb_info *, void *, int);
     18	void	(*free)(void *);
     19	int	(*decompress)(struct squashfs_sb_info *, void *,
     20		struct bio *, int, int, struct squashfs_page_actor *);
     21	int	id;
     22	char	*name;
     23	int	supported;
     24};
     25
     26static inline void *squashfs_comp_opts(struct squashfs_sb_info *msblk,
     27							void *buff, int length)
     28{
     29	return msblk->decompressor->comp_opts ?
     30		msblk->decompressor->comp_opts(msblk, buff, length) : NULL;
     31}
     32
     33#ifdef CONFIG_SQUASHFS_XZ
     34extern const struct squashfs_decompressor squashfs_xz_comp_ops;
     35#endif
     36
     37#ifdef CONFIG_SQUASHFS_LZ4
     38extern const struct squashfs_decompressor squashfs_lz4_comp_ops;
     39#endif
     40
     41#ifdef CONFIG_SQUASHFS_LZO
     42extern const struct squashfs_decompressor squashfs_lzo_comp_ops;
     43#endif
     44
     45#ifdef CONFIG_SQUASHFS_ZLIB
     46extern const struct squashfs_decompressor squashfs_zlib_comp_ops;
     47#endif
     48
     49#ifdef CONFIG_SQUASHFS_ZSTD
     50extern const struct squashfs_decompressor squashfs_zstd_comp_ops;
     51#endif
     52
     53#endif