blob: d729b1591e5e9e2062de5daf95ce8cf98ed2307a [file] [log] [blame]
Thomas Gleixnerd2912cb2019-06-04 10:11:33 +02001/* SPDX-License-Identifier: GPL-2.0-only */
Linus Torvalds1da177e2005-04-16 15:20:36 -07002/*
3 * linux/fs/adfs/dir_fplus.h
4 *
5 * Copyright (C) 1999 Russell King
6 *
Linus Torvalds1da177e2005-04-16 15:20:36 -07007 * Structures of directories on the F+ format disk
8 */
9
10#define ADFS_FPLUS_NAME_LEN 255
11
12#define BIGDIRSTARTNAME ('S' | 'B' << 8 | 'P' << 16 | 'r' << 24)
13#define BIGDIRENDNAME ('o' | 'v' << 8 | 'e' << 16 | 'n' << 24)
14
15struct adfs_bigdirheader {
16 __u8 startmasseq;
17 __u8 bigdirversion[3];
18 __le32 bigdirstartname;
19 __le32 bigdirnamelen;
20 __le32 bigdirsize;
21 __le32 bigdirentries;
22 __le32 bigdirnamesize;
23 __le32 bigdirparent;
24 char bigdirname[1];
Russell Kingae5df412019-12-09 11:09:56 +000025} __attribute__((packed, aligned(4)));
Linus Torvalds1da177e2005-04-16 15:20:36 -070026
27struct adfs_bigdirentry {
28 __le32 bigdirload;
29 __le32 bigdirexec;
30 __le32 bigdirlen;
31 __le32 bigdirindaddr;
32 __le32 bigdirattr;
33 __le32 bigdirobnamelen;
34 __le32 bigdirobnameptr;
Russell Kingae5df412019-12-09 11:09:56 +000035} __attribute__((packed, aligned(4)));
Linus Torvalds1da177e2005-04-16 15:20:36 -070036
37struct adfs_bigdirtail {
38 __le32 bigdirendname;
39 __u8 bigdirendmasseq;
40 __u8 reserved[2];
41 __u8 bigdircheckbyte;
Russell Kingae5df412019-12-09 11:09:56 +000042} __attribute__((packed, aligned(4)));