brintos

brintos / linux-shallow public Read only

0
0
Text · 1.6 KiB · 8d5044e Raw
93 lines · c
1/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */2/*3 * Parts of INFTL headers shared with userspace4 *5 */6 7#ifndef __MTD_INFTL_USER_H__8#define __MTD_INFTL_USER_H__9 10#include <linux/types.h>11 12#define	OSAK_VERSION	0x512013#define	PERCENTUSED	9814 15#define	SECTORSIZE	51216 17/* Block Control Information */18 19struct inftl_bci {20	__u8 ECCsig[6];21	__u8 Status;22	__u8 Status1;23} __attribute__((packed));24 25struct inftl_unithead1 {26	__u16 virtualUnitNo;27	__u16 prevUnitNo;28	__u8 ANAC;29	__u8 NACs;30	__u8 parityPerField;31	__u8 discarded;32} __attribute__((packed));33 34struct inftl_unithead2 {35	__u8 parityPerField;36	__u8 ANAC;37	__u16 prevUnitNo;38	__u16 virtualUnitNo;39	__u8 NACs;40	__u8 discarded;41} __attribute__((packed));42 43struct inftl_unittail {44	__u8 Reserved[4];45	__u16 EraseMark;46	__u16 EraseMark1;47} __attribute__((packed));48 49union inftl_uci {50	struct inftl_unithead1 a;51	struct inftl_unithead2 b;52	struct inftl_unittail c;53};54 55struct inftl_oob {56	struct inftl_bci b;57	union inftl_uci u;58};59 60 61/* INFTL Media Header */62 63struct INFTLPartition {64	__u32 virtualUnits;65	__u32 firstUnit;66	__u32 lastUnit;67	__u32 flags;68	__u32 spareUnits;69	__u32 Reserved0;70	__u32 Reserved1;71} __attribute__((packed));72 73struct INFTLMediaHeader {74	char bootRecordID[8];75	__u32 NoOfBootImageBlocks;76	__u32 NoOfBinaryPartitions;77	__u32 NoOfBDTLPartitions;78	__u32 BlockMultiplierBits;79	__u32 FormatFlags;80	__u32 OsakVersion;81	__u32 PercentUsed;82	struct INFTLPartition Partitions[4];83} __attribute__((packed));84 85/* Partition flag types */86#define	INFTL_BINARY	0x2000000087#define	INFTL_BDTL	0x4000000088#define	INFTL_LAST	0x8000000089 90#endif /* __MTD_INFTL_USER_H__ */91 92 93