#include <stdio.h>
#include <stdlib.h>

typedef struct sparse_header 
{   uint32_t magic;
    uint16_t major_version;
    uint16_t minor_version;
    uint16_t file_hdr_sz;
    uint16_t chunk_hdr_sz;
    uint32_t blk_sz;
    uint32_t total_blks;
    uint32_t total_chunks;
    uint32_t image_checksum;
} sparse_header_t;


int main(int argc, char *argv[])
{
	char buffer[28] = {0x3a,0xff,0x26,0xed, 0x00, 0x1, 0x0,0x0,
                       0x28, 0x0,0x0,12, 0x0,0x0,0x0,0xff,
                       0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x2, 
                       0,0,0,0 };
    sparse_header_t *s = (sparse_header_t *)buffer;

    printf("magic : %x, header_size : %x\n",s->magic, s->file_hdr_sz);
}
