inode.h
上传用户:jlfgdled
上传日期:2013-04-10
资源大小:33168k
文件大小:2k
源码类别:

Linux/Unix编程

开发平台:

Unix_Linux

  1. /*
  2.  * inode.h -  Header file for inode.c
  3.  *
  4.  * Copyright (C) 1997 R間is Duchesne
  5.  * Copyright (C) 1998 Martin von L鰓is
  6.  * Copyright (c) 2001 Anton Altparmakov (AIA)
  7.  */
  8. ntfs_attribute *ntfs_find_attr(ntfs_inode *ino, int type, char *name);
  9. int ntfs_read_attr(ntfs_inode *ino, int type, char *name, __s64 offset,
  10. ntfs_io *buf);
  11. int ntfs_write_attr(ntfs_inode *ino, int type, char *name, __s64 offset,
  12. ntfs_io *buf);
  13. int ntfs_init_inode(ntfs_inode *ino, ntfs_volume *vol, int inum);
  14. void ntfs_clear_inode(ntfs_inode *ino);
  15. int ntfs_check_mft_record(ntfs_volume *vol, char *record);
  16. int ntfs_alloc_inode(ntfs_inode *dir, ntfs_inode *result, const char *filename,
  17. int namelen, ntfs_u32);
  18. int ntfs_alloc_file(ntfs_inode *dir, ntfs_inode *result, char *filename,
  19. int namelen);
  20. int ntfs_update_inode(ntfs_inode *ino);
  21. int ntfs_vcn_to_lcn(ntfs_inode *ino, int vcn);
  22. int ntfs_readwrite_attr(ntfs_inode *ino, ntfs_attribute *attr, __s64 offset,
  23. ntfs_io *dest);
  24. int ntfs_allocate_attr_number(ntfs_inode *ino, int *result);
  25. int ntfs_decompress_run(unsigned char **data, int *length,
  26. ntfs_cluster_t *cluster, int *ctype);
  27. void ntfs_decompress(unsigned char *dest, unsigned char *src, ntfs_size_t l);
  28. int splice_runlists(ntfs_runlist **rl1, int *r1len, const ntfs_runlist *rl2,
  29. int r2len);
  30. /*
  31.  * NOTE: Neither of the ntfs_*_bit functions are atomic! But we don't need
  32.  * them atomic at present as we never operate on shared/cached bitmaps.
  33.  */
  34. static __inline__ int ntfs_test_and_set_bit(unsigned char *byte, const int bit)
  35. {
  36. unsigned char *ptr = byte + (bit >> 3);
  37. int b = 1 << (bit & 7);
  38. int oldbit = *ptr & b ? 1 : 0;
  39. *ptr |= b;
  40. return oldbit;
  41. }