Thomas Gleixner | d2912cb | 2019-06-04 10:11:33 +0200 | [diff] [blame] | 1 | /* SPDX-License-Identifier: GPL-2.0-only */ |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 2 | /* |
| 3 | * linux/fs/adfs/dir_fplus.h |
| 4 | * |
| 5 | * Copyright (C) 1999 Russell King |
| 6 | * |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 7 | * 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 | |
| 15 | struct 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 King | ae5df41 | 2019-12-09 11:09:56 +0000 | [diff] [blame] | 25 | } __attribute__((packed, aligned(4))); |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 26 | |
| 27 | struct adfs_bigdirentry { |
| 28 | __le32 bigdirload; |
| 29 | __le32 bigdirexec; |
| 30 | __le32 bigdirlen; |
| 31 | __le32 bigdirindaddr; |
| 32 | __le32 bigdirattr; |
| 33 | __le32 bigdirobnamelen; |
| 34 | __le32 bigdirobnameptr; |
Russell King | ae5df41 | 2019-12-09 11:09:56 +0000 | [diff] [blame] | 35 | } __attribute__((packed, aligned(4))); |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 36 | |
| 37 | struct adfs_bigdirtail { |
| 38 | __le32 bigdirendname; |
| 39 | __u8 bigdirendmasseq; |
| 40 | __u8 reserved[2]; |
| 41 | __u8 bigdircheckbyte; |
Russell King | ae5df41 | 2019-12-09 11:09:56 +0000 | [diff] [blame] | 42 | } __attribute__((packed, aligned(4))); |