dir_f.h 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. /* SPDX-License-Identifier: GPL-2.0-only */
  2. /*
  3. * linux/fs/adfs/dir_f.h
  4. *
  5. * Copyright (C) 1999 Russell King
  6. *
  7. * Structures of directories on the F format disk
  8. */
  9. #ifndef ADFS_DIR_F_H
  10. #define ADFS_DIR_F_H
  11. /*
  12. * Directory header
  13. */
  14. struct adfs_dirheader {
  15. __u8 startmasseq;
  16. __u8 startname[4];
  17. } __attribute__((packed));
  18. #define ADFS_NEWDIR_SIZE 2048
  19. #define ADFS_NUM_DIR_ENTRIES 77
  20. /*
  21. * Directory entries
  22. */
  23. struct adfs_direntry {
  24. #define ADFS_F_NAME_LEN 10
  25. char dirobname[ADFS_F_NAME_LEN];
  26. __u8 dirload[4];
  27. __u8 direxec[4];
  28. __u8 dirlen[4];
  29. __u8 dirinddiscadd[3];
  30. __u8 newdiratts;
  31. } __attribute__((packed));
  32. /*
  33. * Directory tail
  34. */
  35. struct adfs_olddirtail {
  36. __u8 dirlastmask;
  37. char dirname[10];
  38. __u8 dirparent[3];
  39. char dirtitle[19];
  40. __u8 reserved[14];
  41. __u8 endmasseq;
  42. __u8 endname[4];
  43. __u8 dircheckbyte;
  44. } __attribute__((packed));
  45. struct adfs_newdirtail {
  46. __u8 dirlastmask;
  47. __u8 reserved[2];
  48. __u8 dirparent[3];
  49. char dirtitle[19];
  50. char dirname[10];
  51. __u8 endmasseq;
  52. __u8 endname[4];
  53. __u8 dircheckbyte;
  54. } __attribute__((packed));
  55. union adfs_dirtail {
  56. struct adfs_olddirtail old;
  57. struct adfs_newdirtail new;
  58. };
  59. #endif