26 #define BGAHSMMCPTN_PI_ID "BGAHSMMCPI:" |
26 #define BGAHSMMCPTN_PI_ID "BGAHSMMCPI:" |
27 #define BGAHSMMCPTN_PI_ID_SIZE 12 /* Fixed (4B aligned) */ |
27 #define BGAHSMMCPTN_PI_ID_SIZE 12 /* Fixed (4B aligned) */ |
28 |
28 |
29 /* Partition information version */ |
29 /* Partition information version */ |
30 #define BGAHSMMCPTN_PI_VER_MAJOR 1 |
30 #define BGAHSMMCPTN_PI_VER_MAJOR 1 |
31 #define BGAHSMMCPTN_PI_VER_MINOR 0 |
31 #define BGAHSMMCPTN_PI_VER_MINOR 1 |
|
32 |
|
33 /* Partition type field supported from version 1.1 onwards */ |
|
34 #define BGAHSMMCPTN_PART_TYPE_SUPP_VER_MINOR 1 |
32 |
35 |
33 #define BGAHSMMCPTN_LAST_DRIVE 7 /* MMC1_DRIVECOUNT - defined in variantmediadef.h */ |
36 #define BGAHSMMCPTN_LAST_DRIVE 7 /* MMC1_DRIVECOUNT - defined in variantmediadef.h */ |
34 |
37 |
35 typedef struct |
38 typedef struct |
36 { |
39 { |
37 TUint32 start_sector; /* Partition start sector */ |
40 TUint32 iStart_sector; /* Partition start sector */ |
38 TUint32 size; /* Partition size in sectors */ |
41 TUint32 iSize; /* Partition size in sectors */ |
39 TUint32 attributes; /* RO, RW attributes (bitmask) */ |
42 TUint32 iAttributes; /* RO, RW attributes (bitmask) */ |
40 TUint8 partition_id; /* Partition number */ |
43 TUint8 iPartition_id; /* Partition number - v1.0 - partition type v1.1 - drive number*/ |
41 TUint8 reserved1[3]; /* Reserved (padding for compiler alignment)*/ |
44 TUint8 iPartition_type; /* Partition Type - v1.1 onwards */ |
42 TUint32 partition_attributes; /* Partition attributes (see e32const.h) */ |
45 TUint8 iReserved1[2]; /* Reserved (padding for compiler alignment)*/ |
43 TUint8 reserved2[8]; /* Reserved */ |
46 TUint32 iPartition_attributes; /* Partition attributes (see e32const.h) */ |
|
47 TUint8 iReserved2[8]; /* Reserved */ |
44 /* = 28 bytes */ |
48 /* = 28 bytes */ |
45 } BGAHSMMCPTN_PART_STR; |
49 } BGAHSMMCPTN_PART_STR; |
46 |
50 |
47 typedef struct |
51 typedef struct |
48 { |
52 { |
49 TUint8 id[BGAHSMMCPTN_PI_ID_SIZE]; /* Partition information version */ |
53 TUint8 iId[BGAHSMMCPTN_PI_ID_SIZE]; /* Partition information version */ |
50 TUint32 sector_size; /* Used sector size */ |
54 TUint32 iSector_size; /* Used sector size */ |
51 TUint16 major_ver; /* Major version number */ |
55 TUint16 iMajor_ver; /* Major version number */ |
52 TUint16 minor_ver; /* Minor version number */ |
56 TUint16 iMinor_ver; /* Minor version number */ |
53 TUint16 partition_amount; /* The amount of partitions */ |
57 TUint16 iPartition_amount; /* The amount of partitions */ |
54 TUint8 reserved[42]; /* Reserved */ |
58 TUint8 iReserved[42]; /* Reserved */ |
55 /* = 64 bytes */ |
59 /* = 64 bytes */ |
56 BGAHSMMCPTN_PART_STR partitions[BGAHSMMCPTN_LAST_DRIVE]; |
60 BGAHSMMCPTN_PART_STR iPartitions[BGAHSMMCPTN_LAST_DRIVE]; |
57 } BGAHSMMCPTN_PI_STR; |
61 } BGAHSMMCPTN_PI_STR; |
58 |
62 |
59 #define BGAHSMMCPTN_PI_STR_SIZE sizeof( BGAHSMMCPTN_PI_STR ) |
63 #define BGAHSMMCPTN_PI_STR_SIZE sizeof( BGAHSMMCPTN_PI_STR ) |
60 |
64 |
61 #endif /*BGAHSMMCPTN_H*/ |
65 #endif /*BGAHSMMCPTN_H*/ |