home *** CD-ROM | disk | FTP | other *** search
/ PC Welt 2006 November (DVD) / PCWELT_11_2006.ISO / casper / filesystem.squashfs / usr / src / linux-headers-2.6.17-6 / include / mtd / inftl-user.h next >
Encoding:
C/C++ Source or Header  |  2006-08-11  |  1.6 KB  |  92 lines

  1. /*
  2.  * $Id: inftl-user.h,v 1.2 2005/11/07 11:14:56 gleixner Exp $
  3.  *
  4.  * Parts of INFTL headers shared with userspace
  5.  *
  6.  */
  7.  
  8. #ifndef __MTD_INFTL_USER_H__
  9. #define __MTD_INFTL_USER_H__
  10.  
  11. #define    OSAK_VERSION    0x5120
  12. #define    PERCENTUSED    98
  13.  
  14. #define    SECTORSIZE    512
  15.  
  16. /* Block Control Information */
  17.  
  18. struct inftl_bci {
  19.     uint8_t ECCsig[6];
  20.     uint8_t Status;
  21.     uint8_t Status1;
  22. } __attribute__((packed));
  23.  
  24. struct inftl_unithead1 {
  25.     uint16_t virtualUnitNo;
  26.     uint16_t prevUnitNo;
  27.     uint8_t ANAC;
  28.     uint8_t NACs;
  29.     uint8_t parityPerField;
  30.     uint8_t discarded;
  31. } __attribute__((packed));
  32.  
  33. struct inftl_unithead2 {
  34.     uint8_t parityPerField;
  35.     uint8_t ANAC;
  36.     uint16_t prevUnitNo;
  37.     uint16_t virtualUnitNo;
  38.     uint8_t NACs;
  39.     uint8_t discarded;
  40. } __attribute__((packed));
  41.  
  42. struct inftl_unittail {
  43.     uint8_t Reserved[4];
  44.     uint16_t EraseMark;
  45.     uint16_t EraseMark1;
  46. } __attribute__((packed));
  47.  
  48. union inftl_uci {
  49.     struct inftl_unithead1 a;
  50.     struct inftl_unithead2 b;
  51.     struct inftl_unittail c;
  52. };
  53.  
  54. struct inftl_oob {
  55.     struct inftl_bci b;
  56.     union inftl_uci u;
  57. };
  58.  
  59.  
  60. /* INFTL Media Header */
  61.  
  62. struct 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.  
  72. struct 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.