Advertisement
Guest User

Untitled

a guest
Aug 2nd, 2015
222
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.84 KB | None | 0 0
  1. struct fota_seg_hdr {
  2. uint32_t crc;
  3. uint32_t size;
  4. uint32_t upi_ver; // seems to be 0x00014050
  5. uint32_t scout_ver; // seems to be 0x00013880
  6. uint32_t flags1;
  7. uint32_t flags2;
  8. uint32_t field_18;
  9. uint32_t field_1c;
  10. uint32_t index_offset; // index data offset in unLZMAed data(strings starts from 0)
  11. uint32_t index_size; // index size when LZMAed
  12. uint16_t field_28;
  13. uint16_t field_2a;
  14. uint16_t files_field_2c;
  15. uint16_t files_diff;
  16. uint16_t files_opt;
  17. uint16_t files_del;
  18. uint16_t dirs_del;
  19. uint16_t dirs_add;
  20. uint16_t links_del;
  21. uint16_t links_add;
  22. uint16_t criticals_field_3c;
  23. uint16_t criticals_field_3e;
  24. };
  25.  
  26. /*
  27. FOTA segment structure:
  28. struct fota_seg_hdr;
  29. {
  30. uint32_t dst_crc;
  31. uint32_t src_crc;
  32. } * files_diff;
  33. {
  34. uint32_t crc32;
  35. } * files_field_2c;
  36. {
  37. uint32_t crc32;
  38. } * files_opt; // not good to LZMA it so leave outside?
  39. LZMAed index {
  40. {
  41. links_del;
  42. files_del;
  43. files_field_2c + files_diff;
  44. dirs_add + files_opt;
  45. file_attrs;
  46. } strings;
  47. {
  48. int32_t size_new; // >= 0, consumes 2 strings
  49. // < 0, consumes 1 string
  50. // & 0x3fffffff is real size
  51. } * files_diff;
  52. {
  53. int32_t size_new;
  54. } * files_field_2c;
  55. {
  56. uint32_t field_04;
  57. } * files_opt;
  58. {
  59. int32_t size_diff;
  60. } * files_diff;
  61. {
  62. uint32_t attr_off;
  63. } * (files_diff + files_field_2c);
  64. {
  65. uint32_t attr_off;
  66. } * (files_opt + dirs_add + links_add);
  67. {
  68. uint32_t delta_size; // XXX: NG!!! shoud start after LZMAed index but no matches.
  69. } * files_diff;
  70. {
  71. uint32_t delta_size;
  72. } * files_opt;
  73. };
  74. LZMAed data * N;
  75. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement