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

squashfs.h (3465B)


      1/* SPDX-License-Identifier: GPL-2.0-or-later */
      2/*
      3 * Squashfs - a compressed read only filesystem for Linux
      4 *
      5 * Copyright (c) 2002, 2003, 2004, 2005, 2006, 2007, 2008
      6 * Phillip Lougher <phillip@squashfs.org.uk>
      7 *
      8 * squashfs.h
      9 */
     10
     11#define TRACE(s, args...)	pr_debug("SQUASHFS: "s, ## args)
     12
     13#define ERROR(s, args...)	pr_err("SQUASHFS error: "s, ## args)
     14
     15#define WARNING(s, args...)	pr_warn("SQUASHFS: "s, ## args)
     16
     17/* block.c */
     18extern int squashfs_read_data(struct super_block *, u64, int, u64 *,
     19				struct squashfs_page_actor *);
     20
     21/* cache.c */
     22extern struct squashfs_cache *squashfs_cache_init(char *, int, int);
     23extern void squashfs_cache_delete(struct squashfs_cache *);
     24extern struct squashfs_cache_entry *squashfs_cache_get(struct super_block *,
     25				struct squashfs_cache *, u64, int);
     26extern void squashfs_cache_put(struct squashfs_cache_entry *);
     27extern int squashfs_copy_data(void *, struct squashfs_cache_entry *, int, int);
     28extern int squashfs_read_metadata(struct super_block *, void *, u64 *,
     29				int *, int);
     30extern struct squashfs_cache_entry *squashfs_get_fragment(struct super_block *,
     31				u64, int);
     32extern struct squashfs_cache_entry *squashfs_get_datablock(struct super_block *,
     33				u64, int);
     34extern void *squashfs_read_table(struct super_block *, u64, int);
     35
     36/* decompressor.c */
     37extern const struct squashfs_decompressor *squashfs_lookup_decompressor(int);
     38extern void *squashfs_decompressor_setup(struct super_block *, unsigned short);
     39
     40/* decompressor_xxx.c */
     41extern void *squashfs_decompressor_create(struct squashfs_sb_info *, void *);
     42extern void squashfs_decompressor_destroy(struct squashfs_sb_info *);
     43extern int squashfs_decompress(struct squashfs_sb_info *, struct bio *,
     44				int, int, struct squashfs_page_actor *);
     45extern int squashfs_max_decompressors(void);
     46
     47/* export.c */
     48extern __le64 *squashfs_read_inode_lookup_table(struct super_block *, u64, u64,
     49				unsigned int);
     50
     51/* fragment.c */
     52extern int squashfs_frag_lookup(struct super_block *, unsigned int, u64 *);
     53extern __le64 *squashfs_read_fragment_index_table(struct super_block *,
     54				u64, u64, unsigned int);
     55
     56/* file.c */
     57void squashfs_fill_page(struct page *, struct squashfs_cache_entry *, int, int);
     58void squashfs_copy_cache(struct page *, struct squashfs_cache_entry *, int,
     59				int);
     60
     61/* file_xxx.c */
     62extern int squashfs_readpage_block(struct page *, u64, int, int);
     63
     64/* id.c */
     65extern int squashfs_get_id(struct super_block *, unsigned int, unsigned int *);
     66extern __le64 *squashfs_read_id_index_table(struct super_block *, u64, u64,
     67				unsigned short);
     68
     69/* inode.c */
     70extern struct inode *squashfs_iget(struct super_block *, long long,
     71				unsigned int);
     72extern int squashfs_read_inode(struct inode *, long long);
     73
     74/* xattr.c */
     75extern ssize_t squashfs_listxattr(struct dentry *, char *, size_t);
     76
     77/*
     78 * Inodes, files,  decompressor and xattr operations
     79 */
     80
     81/* dir.c */
     82extern const struct file_operations squashfs_dir_ops;
     83
     84/* export.c */
     85extern const struct export_operations squashfs_export_ops;
     86
     87/* file.c */
     88extern const struct address_space_operations squashfs_aops;
     89
     90/* inode.c */
     91extern const struct inode_operations squashfs_inode_ops;
     92
     93/* namei.c */
     94extern const struct inode_operations squashfs_dir_inode_ops;
     95
     96/* symlink.c */
     97extern const struct address_space_operations squashfs_symlink_aops;
     98extern const struct inode_operations squashfs_symlink_inode_ops;
     99
    100/* xattr.c */
    101extern const struct xattr_handler *squashfs_xattr_handlers[];