~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/fs/squashfs/squashfs.h

Version: ~ [ linux-5.8-rc3 ] ~ [ linux-5.7.5 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.48 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.129 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.185 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.228 ] ~ [ linux-4.8.17 ] ~ [ linux-4.7.10 ] ~ [ linux-4.6.7 ] ~ [ linux-4.5.7 ] ~ [ linux-4.4.228 ] ~ [ linux-4.3.6 ] ~ [ linux-4.2.8 ] ~ [ linux-4.1.52 ] ~ [ linux-4.0.9 ] ~ [ linux-3.19.8 ] ~ [ linux-3.18.140 ] ~ [ linux-3.17.8 ] ~ [ linux-3.16.85 ] ~ [ linux-3.15.10 ] ~ [ linux-3.14.79 ] ~ [ linux-3.13.11 ] ~ [ linux-3.12.74 ] ~ [ linux-3.11.10 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.5 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  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 */
 31 extern int squashfs_read_data(struct super_block *, u64, int, u64 *,
 32                                 struct squashfs_page_actor *);
 33 
 34 /* cache.c */
 35 extern struct squashfs_cache *squashfs_cache_init(char *, int, int);
 36 extern void squashfs_cache_delete(struct squashfs_cache *);
 37 extern struct squashfs_cache_entry *squashfs_cache_get(struct super_block *,
 38                                 struct squashfs_cache *, u64, int);
 39 extern void squashfs_cache_put(struct squashfs_cache_entry *);
 40 extern int squashfs_copy_data(void *, struct squashfs_cache_entry *, int, int);
 41 extern int squashfs_read_metadata(struct super_block *, void *, u64 *,
 42                                 int *, int);
 43 extern struct squashfs_cache_entry *squashfs_get_fragment(struct super_block *,
 44                                 u64, int);
 45 extern struct squashfs_cache_entry *squashfs_get_datablock(struct super_block *,
 46                                 u64, int);
 47 extern void *squashfs_read_table(struct super_block *, u64, int);
 48 
 49 /* decompressor.c */
 50 extern const struct squashfs_decompressor *squashfs_lookup_decompressor(int);
 51 extern void *squashfs_decompressor_setup(struct super_block *, unsigned short);
 52 
 53 /* decompressor_xxx.c */
 54 extern void *squashfs_decompressor_create(struct squashfs_sb_info *, void *);
 55 extern void squashfs_decompressor_destroy(struct squashfs_sb_info *);
 56 extern int squashfs_decompress(struct squashfs_sb_info *, struct buffer_head **,
 57         int, int, int, struct squashfs_page_actor *);
 58 extern int squashfs_max_decompressors(void);
 59 
 60 /* export.c */
 61 extern __le64 *squashfs_read_inode_lookup_table(struct super_block *, u64, u64,
 62                                 unsigned int);
 63 
 64 /* fragment.c */
 65 extern int squashfs_frag_lookup(struct super_block *, unsigned int, u64 *);
 66 extern __le64 *squashfs_read_fragment_index_table(struct super_block *,
 67                                 u64, u64, unsigned int);
 68 
 69 /* file.c */
 70 void squashfs_fill_page(struct page *, struct squashfs_cache_entry *, int, int);
 71 void squashfs_copy_cache(struct page *, struct squashfs_cache_entry *, int,
 72                                 int);
 73 
 74 /* file_xxx.c */
 75 extern int squashfs_readpage_block(struct page *, u64, int, int);
 76 
 77 /* id.c */
 78 extern int squashfs_get_id(struct super_block *, unsigned int, unsigned int *);
 79 extern __le64 *squashfs_read_id_index_table(struct super_block *, u64, u64,
 80                                 unsigned short);
 81 
 82 /* inode.c */
 83 extern struct inode *squashfs_iget(struct super_block *, long long,
 84                                 unsigned int);
 85 extern int squashfs_read_inode(struct inode *, long long);
 86 
 87 /* xattr.c */
 88 extern ssize_t squashfs_listxattr(struct dentry *, char *, size_t);
 89 
 90 /*
 91  * Inodes, files,  decompressor and xattr operations
 92  */
 93 
 94 /* dir.c */
 95 extern const struct file_operations squashfs_dir_ops;
 96 
 97 /* export.c */
 98 extern const struct export_operations squashfs_export_ops;
 99 
100 /* file.c */
101 extern const struct address_space_operations squashfs_aops;
102 
103 /* inode.c */
104 extern const struct inode_operations squashfs_inode_ops;
105 
106 /* namei.c */
107 extern const struct inode_operations squashfs_dir_inode_ops;
108 
109 /* symlink.c */
110 extern const struct address_space_operations squashfs_symlink_aops;
111 extern const struct inode_operations squashfs_symlink_inode_ops;
112 
113 /* xattr.c */
114 extern const struct xattr_handler *squashfs_xattr_handlers[];
115 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | Wiki (Japanese) | Wiki (English) | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

osdn.jp