162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-only */ 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * linux/fs/adfs/dir_fplus.h 462306a36Sopenharmony_ci * 562306a36Sopenharmony_ci * Copyright (C) 1999 Russell King 662306a36Sopenharmony_ci * 762306a36Sopenharmony_ci * Structures of directories on the F+ format disk 862306a36Sopenharmony_ci */ 962306a36Sopenharmony_ci 1062306a36Sopenharmony_ci#define ADFS_FPLUS_NAME_LEN 255 1162306a36Sopenharmony_ci 1262306a36Sopenharmony_ci#define BIGDIRSTARTNAME ('S' | 'B' << 8 | 'P' << 16 | 'r' << 24) 1362306a36Sopenharmony_ci#define BIGDIRENDNAME ('o' | 'v' << 8 | 'e' << 16 | 'n' << 24) 1462306a36Sopenharmony_ci 1562306a36Sopenharmony_cistruct adfs_bigdirheader { 1662306a36Sopenharmony_ci __u8 startmasseq; 1762306a36Sopenharmony_ci __u8 bigdirversion[3]; 1862306a36Sopenharmony_ci __le32 bigdirstartname; 1962306a36Sopenharmony_ci __le32 bigdirnamelen; 2062306a36Sopenharmony_ci __le32 bigdirsize; 2162306a36Sopenharmony_ci __le32 bigdirentries; 2262306a36Sopenharmony_ci __le32 bigdirnamesize; 2362306a36Sopenharmony_ci __le32 bigdirparent; 2462306a36Sopenharmony_ci char bigdirname[1]; 2562306a36Sopenharmony_ci} __attribute__((packed, aligned(4))); 2662306a36Sopenharmony_ci 2762306a36Sopenharmony_cistruct adfs_bigdirentry { 2862306a36Sopenharmony_ci __le32 bigdirload; 2962306a36Sopenharmony_ci __le32 bigdirexec; 3062306a36Sopenharmony_ci __le32 bigdirlen; 3162306a36Sopenharmony_ci __le32 bigdirindaddr; 3262306a36Sopenharmony_ci __le32 bigdirattr; 3362306a36Sopenharmony_ci __le32 bigdirobnamelen; 3462306a36Sopenharmony_ci __le32 bigdirobnameptr; 3562306a36Sopenharmony_ci} __attribute__((packed, aligned(4))); 3662306a36Sopenharmony_ci 3762306a36Sopenharmony_cistruct adfs_bigdirtail { 3862306a36Sopenharmony_ci __le32 bigdirendname; 3962306a36Sopenharmony_ci __u8 bigdirendmasseq; 4062306a36Sopenharmony_ci __u8 reserved[2]; 4162306a36Sopenharmony_ci __u8 bigdircheckbyte; 4262306a36Sopenharmony_ci} __attribute__((packed, aligned(4))); 43