1d2912cb1SThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-only */ 21da177e4SLinus Torvalds /* 31da177e4SLinus Torvalds * linux/fs/adfs/dir_fplus.h 41da177e4SLinus Torvalds * 51da177e4SLinus Torvalds * Copyright (C) 1999 Russell King 61da177e4SLinus Torvalds * 71da177e4SLinus Torvalds * Structures of directories on the F+ format disk 81da177e4SLinus Torvalds */ 91da177e4SLinus Torvalds 101da177e4SLinus Torvalds #define ADFS_FPLUS_NAME_LEN 255 111da177e4SLinus Torvalds 121da177e4SLinus Torvalds #define BIGDIRSTARTNAME ('S' | 'B' << 8 | 'P' << 16 | 'r' << 24) 131da177e4SLinus Torvalds #define BIGDIRENDNAME ('o' | 'v' << 8 | 'e' << 16 | 'n' << 24) 141da177e4SLinus Torvalds 151da177e4SLinus Torvalds struct adfs_bigdirheader { 161da177e4SLinus Torvalds __u8 startmasseq; 171da177e4SLinus Torvalds __u8 bigdirversion[3]; 181da177e4SLinus Torvalds __le32 bigdirstartname; 191da177e4SLinus Torvalds __le32 bigdirnamelen; 201da177e4SLinus Torvalds __le32 bigdirsize; 211da177e4SLinus Torvalds __le32 bigdirentries; 221da177e4SLinus Torvalds __le32 bigdirnamesize; 231da177e4SLinus Torvalds __le32 bigdirparent; 241da177e4SLinus Torvalds char bigdirname[1]; 25*ae5df413SRussell King } __attribute__((packed, aligned(4))); 261da177e4SLinus Torvalds 271da177e4SLinus Torvalds struct adfs_bigdirentry { 281da177e4SLinus Torvalds __le32 bigdirload; 291da177e4SLinus Torvalds __le32 bigdirexec; 301da177e4SLinus Torvalds __le32 bigdirlen; 311da177e4SLinus Torvalds __le32 bigdirindaddr; 321da177e4SLinus Torvalds __le32 bigdirattr; 331da177e4SLinus Torvalds __le32 bigdirobnamelen; 341da177e4SLinus Torvalds __le32 bigdirobnameptr; 35*ae5df413SRussell King } __attribute__((packed, aligned(4))); 361da177e4SLinus Torvalds 371da177e4SLinus Torvalds struct adfs_bigdirtail { 381da177e4SLinus Torvalds __le32 bigdirendname; 391da177e4SLinus Torvalds __u8 bigdirendmasseq; 401da177e4SLinus Torvalds __u8 reserved[2]; 411da177e4SLinus Torvalds __u8 bigdircheckbyte; 42*ae5df413SRussell King } __attribute__((packed, aligned(4))); 43