Line 202:
Line 202:
u8 name[64]; // name of thing being signed
u8 name[64]; // name of thing being signed
u8 key[...];
u8 key[...];
+
</source>
+
+
There is also a structure called a TmdView which is select sections of the Tmd. It has a length of 0x60+0x10*number_of_contents. The structure is somewhat like this:
+
<source lang="c">
+
struct tmd_view_content_t
+
{
+
uint32_t id;
+
uint16_t index;
+
uint16_t type;
+
uint64_t size;
+
};
+
+
struct tmd_view_t
+
{
+
uint8_t version; // 0x0000;
+
uint8_t filler[3];
+
uint32_t unknown // 0x0004
+
uint64_t ios_title_id; //0x0008
+
uint64_t title_id; // 0x0010
+
uint32_t title_type; //0x0018
+
uint16_t group_id; //0x001c
+
uint8_t reserved[0x3e]; //0x001e this is the same reserved 0x3e bytes from the tmd
+
uint16_t title_version; //0x005c
+
uint16_t number_contents; //0x005e
+
tmd_view_content_t contents[]; //0x0060
+
};
</source>
</source>