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