Linux kernel & device driver programming

Cross-Referenced Linux and Device Driver Code

[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ]
Version: [ 2.6.11.8 ] [ 2.6.25 ] [ 2.6.25.8 ] [ 2.6.31.13 ] Architecture: [ i386 ]
  1 /*
  2  * Parts of NFTL headers shared with userspace
  3  *
  4  */
  5 
  6 #ifndef __MTD_NFTL_USER_H__
  7 #define __MTD_NFTL_USER_H__
  8 
  9 #include <linux/types.h>
 10 
 11 /* Block Control Information */
 12 
 13 struct nftl_bci {
 14         unsigned char ECCSig[6];
 15         __u8 Status;
 16         __u8 Status1;
 17 }__attribute__((packed));
 18 
 19 /* Unit Control Information */
 20 
 21 struct nftl_uci0 {
 22         __u16 VirtUnitNum;
 23         __u16 ReplUnitNum;
 24         __u16 SpareVirtUnitNum;
 25         __u16 SpareReplUnitNum;
 26 } __attribute__((packed));
 27 
 28 struct nftl_uci1 {
 29         __u32 WearInfo;
 30         __u16 EraseMark;
 31         __u16 EraseMark1;
 32 } __attribute__((packed));
 33 
 34 struct nftl_uci2 {
 35         __u16 FoldMark;
 36         __u16 FoldMark1;
 37         __u32 unused;
 38 } __attribute__((packed));
 39 
 40 union nftl_uci {
 41         struct nftl_uci0 a;
 42         struct nftl_uci1 b;
 43         struct nftl_uci2 c;
 44 };
 45 
 46 struct nftl_oob {
 47         struct nftl_bci b;
 48         union nftl_uci u;
 49 };
 50 
 51 /* NFTL Media Header */
 52 
 53 struct NFTLMediaHeader {
 54         char DataOrgID[6];
 55         __u16 NumEraseUnits;
 56         __u16 FirstPhysicalEUN;
 57         __u32 FormattedSize;
 58         unsigned char UnitSizeFactor;
 59 } __attribute__((packed));
 60 
 61 #define MAX_ERASE_ZONES (8192 - 512)
 62 
 63 #define ERASE_MARK 0x3c69
 64 #define SECTOR_FREE 0xff
 65 #define SECTOR_USED 0x55
 66 #define SECTOR_IGNORE 0x11
 67 #define SECTOR_DELETED 0x00
 68 
 69 #define FOLD_MARK_IN_PROGRESS 0x5555
 70 
 71 #define ZONE_GOOD 0xff
 72 #define ZONE_BAD_ORIGINAL 0
 73 #define ZONE_BAD_MARKED 7
 74 
 75 
 76 #endif /* __MTD_NFTL_USER_H__ */
 77 
  This page was automatically generated by the LXR engine.