16f52b16cSGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2607ca46eSDavid Howells #ifndef _UAPI_ADFS_FS_H 3607ca46eSDavid Howells #define _UAPI_ADFS_FS_H 4607ca46eSDavid Howells 5607ca46eSDavid Howells #include <linux/types.h> 6607ca46eSDavid Howells #include <linux/magic.h> 7607ca46eSDavid Howells 8607ca46eSDavid Howells /* 9607ca46eSDavid Howells * Disc Record at disc address 0xc00 10607ca46eSDavid Howells */ 11607ca46eSDavid Howells struct adfs_discrecord { 12607ca46eSDavid Howells __u8 log2secsize; 13607ca46eSDavid Howells __u8 secspertrack; 14607ca46eSDavid Howells __u8 heads; 15607ca46eSDavid Howells __u8 density; 16607ca46eSDavid Howells __u8 idlen; 17607ca46eSDavid Howells __u8 log2bpmb; 18607ca46eSDavid Howells __u8 skew; 19607ca46eSDavid Howells __u8 bootoption; 20607ca46eSDavid Howells __u8 lowsector; 21607ca46eSDavid Howells __u8 nzones; 22607ca46eSDavid Howells __le16 zone_spare; 23607ca46eSDavid Howells __le32 root; 24607ca46eSDavid Howells __le32 disc_size; 25607ca46eSDavid Howells __le16 disc_id; 26607ca46eSDavid Howells __u8 disc_name[10]; 27607ca46eSDavid Howells __le32 disc_type; 28607ca46eSDavid Howells __le32 disc_size_high; 29607ca46eSDavid Howells __u8 log2sharesize:4; 30607ca46eSDavid Howells __u8 unused40:4; 31607ca46eSDavid Howells __u8 big_flag:1; 32*3ae762a0SRussell King __u8 unused41:7; 33607ca46eSDavid Howells __u8 nzones_high; 34*3ae762a0SRussell King __u8 reserved43; 35607ca46eSDavid Howells __le32 format_version; 36607ca46eSDavid Howells __le32 root_size; 37607ca46eSDavid Howells __u8 unused52[60 - 52]; 38*3ae762a0SRussell King } __attribute__((packed, aligned(4))); 39607ca46eSDavid Howells 40607ca46eSDavid Howells #define ADFS_DISCRECORD (0xc00) 41607ca46eSDavid Howells #define ADFS_DR_OFFSET (0x1c0) 42607ca46eSDavid Howells #define ADFS_DR_SIZE 60 43607ca46eSDavid Howells #define ADFS_DR_SIZE_BITS (ADFS_DR_SIZE << 3) 44607ca46eSDavid Howells 45607ca46eSDavid Howells #endif /* _UAPI_ADFS_FS_H */ 46