linux/fs/squashfs/squashfs.h
<<
>>
Prefs
   1/*
   2 * Squashfs - a compressed read only filesystem for Linux
   3 *
   4 * Copyright (c) 2002, 2003, 2004, 2005, 2006, 2007, 2008
   5 * Phillip Lougher <phillip@squashfs.org.uk>
   6 *
   7 * This program is free software; you can redistribute it and/or
   8 * modify it under the terms of the GNU General Public License
   9 * as published by the Free Software Foundation; either version 2,
  10 * or (at your option) any later version.
  11 *
  12 * This program is distributed in the hope that it will be useful,
  13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
  14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  15 * GNU General Public License for more details.
  16 *
  17 * You should have received a copy of the GNU General Public License
  18 * along with this program; if not, write to the Free Software
  19 * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
  20 *
  21 * squashfs.h
  22 */
  23
  24#define TRACE(s, args...)       pr_debug("SQUASHFS: "s, ## args)
  25
  26#define ERROR(s, args...)       pr_err("SQUASHFS error: "s, ## args)
  27
  28#define WARNING(s, args...)     pr_warn("SQUASHFS: "s, ## args)
  29
  30/* block.c */
  31extern int squashfs_read_data(struct super_block *, u64, int, u64 *,
  32                                struct squashfs_page_actor *);
  33
  34/* cache.c */
  35extern struct squashfs_cache *squashfs_cache_init(char *, int, int);
  36extern void squashfs_cache_delete(struct squashfs_cache *);
  37extern struct squashfs_cache_entry *squashfs_cache_get(struct super_block *,
  38                                struct squashfs_cache *, u64, int);
  39extern void squashfs_cache_put(struct squashfs_cache_entry *);
  40extern int squashfs_copy_data(void *, struct squashfs_cache_entry *, int, int);
  41extern int squashfs_read_metadata(struct super_block *, void *, u64 *,
  42                                int *, int);
  43extern struct squashfs_cache_entry *squashfs_get_fragment(struct super_block *,
  44                                u64, int);
  45extern struct squashfs_cache_entry *squashfs_get_datablock(struct super_block *,
  46                                u64, int);
  47extern void *squashfs_read_table(struct super_block *, u64, int);
  48
  49/* decompressor.c */
  50extern const struct squashfs_decompressor *squashfs_lookup_decompressor(int);
  51extern void *squashfs_decompressor_setup(struct super_block *, unsigned short);
  52
  53/* decompressor_xxx.c */
  54extern void *squashfs_decompressor_create(struct squashfs_sb_info *, void *);
  55extern void squashfs_decompressor_destroy(struct squashfs_sb_info *);
  56extern int squashfs_decompress(struct squashfs_sb_info *, struct buffer_head **,
  57        int, int, int, struct squashfs_page_actor *);
  58extern int squashfs_max_decompressors(void);
  59
  60/* export.c */
  61extern __le64 *squashfs_read_inode_lookup_table(struct super_block *, u64, u64,
  62                                unsigned int);
  63
  64/* fragment.c */
  65extern int squashfs_frag_lookup(struct super_block *, unsigned int, u64 *);
  66extern __le64 *squashfs_read_fragment_index_table(struct super_block *,
  67                                u64, u64, unsigned int);
  68
  69/* file.c */
  70void squashfs_copy_cache(struct page *, struct squashfs_cache_entry *, int,
  71                                int);
  72
  73/* file_xxx.c */
  74extern int squashfs_readpage_block(struct page *, u64, int);
  75
  76/* id.c */
  77extern int squashfs_get_id(struct super_block *, unsigned int, unsigned int *);
  78extern __le64 *squashfs_read_id_index_table(struct super_block *, u64, u64,
  79                                unsigned short);
  80
  81/* inode.c */
  82extern struct inode *squashfs_iget(struct super_block *, long long,
  83                                unsigned int);
  84extern int squashfs_read_inode(struct inode *, long long);
  85
  86/* xattr.c */
  87extern ssize_t squashfs_listxattr(struct dentry *, char *, size_t);
  88
  89/*
  90 * Inodes, files,  decompressor and xattr operations
  91 */
  92
  93/* dir.c */
  94extern const struct file_operations squashfs_dir_ops;
  95
  96/* export.c */
  97extern const struct export_operations squashfs_export_ops;
  98
  99/* file.c */
 100extern const struct address_space_operations squashfs_aops;
 101
 102/* inode.c */
 103extern const struct inode_operations squashfs_inode_ops;
 104
 105/* namei.c */
 106extern const struct inode_operations squashfs_dir_inode_ops;
 107
 108/* symlink.c */
 109extern const struct address_space_operations squashfs_symlink_aops;
 110extern const struct inode_operations squashfs_symlink_inode_ops;
 111
 112/* xattr.c */
 113extern const struct xattr_handler *squashfs_xattr_handlers[];
 114