squashfs.h 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  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. #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 void *squashfs_read_table(struct super_block *, u64, int);
  43. /* decompressor.c */
  44. extern const struct squashfs_decompressor *squashfs_lookup_decompressor(int);
  45. extern void *squashfs_decompressor_init(struct super_block *, unsigned short);
  46. /* export.c */
  47. extern __le64 *squashfs_read_inode_lookup_table(struct super_block *, u64, u64,
  48. unsigned int);
  49. /* fragment.c */
  50. extern int squashfs_frag_lookup(struct super_block *, unsigned int, u64 *);
  51. extern __le64 *squashfs_read_fragment_index_table(struct super_block *,
  52. u64, u64, unsigned int);
  53. /* id.c */
  54. extern int squashfs_get_id(struct super_block *, unsigned int, unsigned int *);
  55. extern __le64 *squashfs_read_id_index_table(struct super_block *, u64, u64,
  56. unsigned short);
  57. /* inode.c */
  58. extern struct inode *squashfs_iget(struct super_block *, long long,
  59. unsigned int);
  60. extern int squashfs_read_inode(struct inode *, long long);
  61. /* xattr.c */
  62. extern ssize_t squashfs_listxattr(struct dentry *, char *, size_t);
  63. /*
  64. * Inodes, files, decompressor and xattr operations
  65. */
  66. /* dir.c */
  67. extern const struct file_operations squashfs_dir_ops;
  68. /* export.c */
  69. extern const struct export_operations squashfs_export_ops;
  70. /* file.c */
  71. extern const struct address_space_operations squashfs_aops;
  72. /* inode.c */
  73. extern const struct inode_operations squashfs_inode_ops;
  74. /* namei.c */
  75. extern const struct inode_operations squashfs_dir_inode_ops;
  76. /* symlink.c */
  77. extern const struct address_space_operations squashfs_symlink_aops;
  78. extern const struct inode_operations squashfs_symlink_inode_ops;
  79. /* xattr.c */
  80. extern const struct xattr_handler *squashfs_xattr_handlers[];