linux/include/uapi/mtd/inftl-user.h
<<
>>
Prefs
   1/*
   2 * Parts of INFTL headers shared with userspace
   3 *
   4 */
   5
   6#ifndef __MTD_INFTL_USER_H__
   7#define __MTD_INFTL_USER_H__
   8
   9#include <linux/types.h>
  10
  11#define OSAK_VERSION    0x5120
  12#define PERCENTUSED     98
  13
  14#define SECTORSIZE      512
  15
  16/* Block Control Information */
  17
  18struct inftl_bci {
  19        __u8 ECCsig[6];
  20        __u8 Status;
  21        __u8 Status1;
  22} __attribute__((packed));
  23
  24struct inftl_unithead1 {
  25        __u16 virtualUnitNo;
  26        __u16 prevUnitNo;
  27        __u8 ANAC;
  28        __u8 NACs;
  29        __u8 parityPerField;
  30        __u8 discarded;
  31} __attribute__((packed));
  32
  33struct inftl_unithead2 {
  34        __u8 parityPerField;
  35        __u8 ANAC;
  36        __u16 prevUnitNo;
  37        __u16 virtualUnitNo;
  38        __u8 NACs;
  39        __u8 discarded;
  40} __attribute__((packed));
  41
  42struct inftl_unittail {
  43        __u8 Reserved[4];
  44        __u16 EraseMark;
  45        __u16 EraseMark1;
  46} __attribute__((packed));
  47
  48union inftl_uci {
  49        struct inftl_unithead1 a;
  50        struct inftl_unithead2 b;
  51        struct inftl_unittail c;
  52};
  53
  54struct inftl_oob {
  55        struct inftl_bci b;
  56        union inftl_uci u;
  57};
  58
  59
  60/* INFTL Media Header */
  61
  62struct INFTLPartition {
  63        __u32 virtualUnits;
  64        __u32 firstUnit;
  65        __u32 lastUnit;
  66        __u32 flags;
  67        __u32 spareUnits;
  68        __u32 Reserved0;
  69        __u32 Reserved1;
  70} __attribute__((packed));
  71
  72struct INFTLMediaHeader {
  73        char bootRecordID[8];
  74        __u32 NoOfBootImageBlocks;
  75        __u32 NoOfBinaryPartitions;
  76        __u32 NoOfBDTLPartitions;
  77        __u32 BlockMultiplierBits;
  78        __u32 FormatFlags;
  79        __u32 OsakVersion;
  80        __u32 PercentUsed;
  81        struct INFTLPartition Partitions[4];
  82} __attribute__((packed));
  83
  84/* Partition flag types */
  85#define INFTL_BINARY    0x20000000
  86#define INFTL_BDTL      0x40000000
  87#define INFTL_LAST      0x80000000
  88
  89#endif /* __MTD_INFTL_USER_H__ */
  90
  91
  92