xref: /linux/fs/adfs/dir_f.h (revision c5d3cdad688ed75fb311a3a671eb30ba7106d7d3)
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 /*
13  * Directory header
14  */
15 struct adfs_dirheader {
16 	__u8 startmasseq;
17 	__u8 startname[4];
18 } __attribute__((packed));
19 
20 #define ADFS_NEWDIR_SIZE	2048
21 #define ADFS_NUM_DIR_ENTRIES	77
22 
23 /*
24  * Directory entries
25  */
26 struct adfs_direntry {
27 #define ADFS_F_NAME_LEN 10
28 	char dirobname[ADFS_F_NAME_LEN];
29 	__u8 dirload[4];
30 	__u8 direxec[4];
31 	__u8 dirlen[4];
32 	__u8 dirinddiscadd[3];
33 	__u8 newdiratts;
34 } __attribute__((packed));
35 
36 /*
37  * Directory tail
38  */
39 struct adfs_olddirtail {
40 	__u8 dirlastmask;
41 	char dirname[10];
42 	__u8 dirparent[3];
43 	char dirtitle[19];
44 	__u8 reserved[14];
45 	__u8 endmasseq;
46 	__u8 endname[4];
47 	__u8 dircheckbyte;
48 } __attribute__((packed));
49 
50 struct adfs_newdirtail {
51 	__u8 dirlastmask;
52 	__u8 reserved[2];
53 	__u8 dirparent[3];
54 	char dirtitle[19];
55 	char dirname[10];
56 	__u8 endmasseq;
57 	__u8 endname[4];
58 	__u8 dircheckbyte;
59 } __attribute__((packed));
60 
61 union adfs_dirtail {
62 	struct adfs_olddirtail old;
63 	struct adfs_newdirtail new;
64 };
65 
66 #endif
67