squashfs_fs_i.h 764 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. /* SPDX-License-Identifier: GPL-2.0-or-later */
  2. #ifndef SQUASHFS_FS_I
  3. #define SQUASHFS_FS_I
  4. /*
  5. * Squashfs
  6. *
  7. * Copyright (c) 2002, 2003, 2004, 2005, 2006, 2007, 2008
  8. * Phillip Lougher <phillip@squashfs.org.uk>
  9. *
  10. * squashfs_fs_i.h
  11. */
  12. struct squashfs_inode_info {
  13. u64 start;
  14. int offset;
  15. u64 xattr;
  16. unsigned int xattr_size;
  17. int xattr_count;
  18. union {
  19. struct {
  20. u64 fragment_block;
  21. int fragment_size;
  22. int fragment_offset;
  23. u64 block_list_start;
  24. };
  25. struct {
  26. u64 dir_idx_start;
  27. int dir_idx_offset;
  28. int dir_idx_cnt;
  29. int parent;
  30. };
  31. };
  32. struct inode vfs_inode;
  33. };
  34. static inline struct squashfs_inode_info *squashfs_i(struct inode *inode)
  35. {
  36. return container_of(inode, struct squashfs_inode_info, vfs_inode);
  37. }
  38. #endif