squashfs.h 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  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@lougher.demon.co.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. #define TRACE(s, args...) pr_debug("SQUASHFS: "s, ## args)
  24. #define ERROR(s, args...) pr_err("SQUASHFS error: "s, ## args)
  25. #define WARNING(s, args...) pr_warning("SQUASHFS: "s, ## args)
  26. /* block.c */
  27. extern int squashfs_read_data(struct super_block *, void **, u64, int, u64 *,
  28. int, int);
  29. /* cache.c */
  30. extern struct squashfs_cache *squashfs_cache_init(char *, int, int);
  31. extern void squashfs_cache_delete(struct squashfs_cache *);
  32. extern struct squashfs_cache_entry *squashfs_cache_get(struct super_block *,
  33. struct squashfs_cache *, u64, int);
  34. extern void squashfs_cache_put(struct squashfs_cache_entry *);
  35. extern int squashfs_copy_data(void *, struct squashfs_cache_entry *, int, int);
  36. extern int squashfs_read_metadata(struct super_block *, void *, u64 *,
  37. int *, int);
  38. extern struct squashfs_cache_entry *squashfs_get_fragment(struct super_block *,
  39. u64, int);
  40. extern struct squashfs_cache_entry *squashfs_get_datablock(struct super_block *,
  41. u64, int);
  42. extern int squashfs_read_table(struct super_block *, void *, u64, int);
  43. /* decompressor.c */
  44. extern const struct squashfs_decompressor *squashfs_lookup_decompressor(int);
  45. /* export.c */
  46. extern __le64 *squashfs_read_inode_lookup_table(struct super_block *, u64,
  47. unsigned int);
  48. /* fragment.c */
  49. extern int squashfs_frag_lookup(struct super_block *, unsigned int, u64 *);
  50. extern __le64 *squashfs_read_fragment_index_table(struct super_block *,
  51. u64, unsigned int);
  52. /* id.c */
  53. extern int squashfs_get_id(struct super_block *, unsigned int, unsigned int *);
  54. extern __le64 *squashfs_read_id_index_table(struct super_block *, u64,
  55. unsigned short);
  56. /* inode.c */
  57. extern struct inode *squashfs_iget(struct super_block *, long long,
  58. unsigned int);
  59. extern int squashfs_read_inode(struct inode *, long long);
  60. /* xattr.c */
  61. extern ssize_t squashfs_listxattr(struct dentry *, char *, size_t);
  62. /*
  63. * Inodes, files, decompressor and xattr operations
  64. */
  65. /* dir.c */
  66. extern const struct file_operations squashfs_dir_ops;
  67. /* export.c */
  68. extern const struct export_operations squashfs_export_ops;
  69. /* file.c */
  70. extern const struct address_space_operations squashfs_aops;
  71. /* inode.c */
  72. extern const struct inode_operations squashfs_inode_ops;
  73. /* namei.c */
  74. extern const struct inode_operations squashfs_dir_inode_ops;
  75. /* symlink.c */
  76. extern const struct address_space_operations squashfs_symlink_aops;
  77. extern const struct inode_operations squashfs_symlink_inode_ops;
  78. /* xattr.c */
  79. extern const struct xattr_handler *squashfs_xattr_handlers[];
  80. /* zlib_wrapper.c */
  81. extern const struct squashfs_decompressor squashfs_zlib_comp_ops;