Lines Matching refs:header
149 vhd_header_in(vhd_header_t *header) in vhd_header_in() argument
153 BE64_IN(&header->data_offset); in vhd_header_in()
154 BE64_IN(&header->table_offset); in vhd_header_in()
155 BE32_IN(&header->hdr_ver); in vhd_header_in()
156 BE32_IN(&header->max_bat_size); in vhd_header_in()
157 BE32_IN(&header->block_size); in vhd_header_in()
158 BE32_IN(&header->checksum); in vhd_header_in()
159 BE32_IN(&header->prt_ts); in vhd_header_in()
161 n = sizeof(header->loc) / sizeof(vhd_parent_locator_t); in vhd_header_in()
164 BE32_IN(&header->loc[i].code); in vhd_header_in()
165 BE32_IN(&header->loc[i].data_space); in vhd_header_in()
166 BE32_IN(&header->loc[i].data_len); in vhd_header_in()
167 BE64_IN(&header->loc[i].data_offset); in vhd_header_in()
172 vhd_header_out(vhd_header_t *header) in vhd_header_out() argument
176 BE64_OUT(&header->data_offset); in vhd_header_out()
177 BE64_OUT(&header->table_offset); in vhd_header_out()
178 BE32_OUT(&header->hdr_ver); in vhd_header_out()
179 BE32_OUT(&header->max_bat_size); in vhd_header_out()
180 BE32_OUT(&header->block_size); in vhd_header_out()
181 BE32_OUT(&header->checksum); in vhd_header_out()
182 BE32_OUT(&header->prt_ts); in vhd_header_out()
184 n = sizeof(header->loc) / sizeof(vhd_parent_locator_t); in vhd_header_out()
187 BE32_OUT(&header->loc[i].code); in vhd_header_out()
188 BE32_OUT(&header->loc[i].data_space); in vhd_header_out()
189 BE32_OUT(&header->loc[i].data_len); in vhd_header_out()
190 BE64_OUT(&header->loc[i].data_offset); in vhd_header_out()
197 BE64_IN(&batmap->header.batmap_offset); in vhd_batmap_header_in()
198 BE32_IN(&batmap->header.batmap_size); in vhd_batmap_header_in()
199 BE32_IN(&batmap->header.batmap_version); in vhd_batmap_header_in()
200 BE32_IN(&batmap->header.checksum); in vhd_batmap_header_in()
206 BE64_OUT(&batmap->header.batmap_offset); in vhd_batmap_header_out()
207 BE32_OUT(&batmap->header.batmap_size); in vhd_batmap_header_out()
208 BE32_OUT(&batmap->header.batmap_version); in vhd_batmap_header_out()
209 BE32_OUT(&batmap->header.checksum); in vhd_batmap_header_out()
294 vhd_checksum_header(vhd_header_t *header) in vhd_checksum_header() argument
301 tmp = header->checksum; in vhd_checksum_header()
302 header->checksum = 0; in vhd_checksum_header()
304 blob = (unsigned char *)header; in vhd_checksum_header()
308 header->checksum = tmp; in vhd_checksum_header()
313 vhd_validate_header(vhd_header_t *header) in vhd_validate_header() argument
318 if (memcmp(header->cookie, DD_COOKIE, 8) != 0) { in vhd_validate_header()
320 strncpy(buf, header->cookie, sizeof(buf)); in vhd_validate_header()
326 if (header->hdr_ver != 0x00010000) { in vhd_validate_header()
327 VHDLOG("invalid header version 0x%08x\n", header->hdr_ver); in vhd_validate_header()
331 if (header->data_offset != 0xFFFFFFFFFFFFFFFF) { in vhd_validate_header()
333 header->data_offset); in vhd_validate_header()
337 n = sizeof(header->loc) / sizeof(vhd_parent_locator_t); in vhd_validate_header()
339 if (vhd_validate_platform_code(header->loc[i].code)) in vhd_validate_header()
342 checksum = vhd_checksum_header(header); in vhd_validate_header()
343 if (checksum != header->checksum) { in vhd_validate_header()
346 header->checksum, checksum); in vhd_validate_header()
372 n = vhd_sectors_to_bytes(batmap->header.batmap_size); in vhd_checksum_batmap()
375 if (batmap->header.batmap_version == VHD_BATMAP_VERSION(1, 1)) in vhd_checksum_batmap()
387 if (memcmp(batmap->header.cookie, VHD_BATMAP_COOKIE, 8)) in vhd_validate_batmap_header()
390 if (batmap->header.batmap_version > VHD_BATMAP_CURRENT_VERSION) in vhd_validate_batmap_header()
405 if (checksum != batmap->header.checksum) in vhd_validate_batmap()
419 off = ctx->header.table_offset; in vhd_batmap_header_offset()
420 bat = ctx->header.max_bat_size * sizeof(uint32_t); in vhd_batmap_header_offset()
448 return (sizeof(ctx->header.loc) / sizeof(vhd_parent_locator_t)); in vhd_parent_locator_count()
536 if (block >= (batmap->header.batmap_size << (VHD_SECTOR_SHIFT + 3))) in vhd_batmap_test()
548 if (block >= (batmap->header.batmap_size << (VHD_SECTOR_SHIFT + 3))) in vhd_batmap_set()
560 if (block >= (batmap->header.batmap_size << (VHD_SECTOR_SHIFT + 3))) in vhd_batmap_clear()
615 bat_bytes = vhd_bytes_padded(ctx->header.max_bat_size * sizeof(uint32_t)); in vhd_end_of_headers()
616 bat_end = ctx->header.table_offset + bat_bytes; in vhd_end_of_headers()
635 map_secs = ctx->batmap.header.batmap_size; in vhd_end_of_headers()
636 map_end = (ctx->batmap.header.batmap_offset + in vhd_end_of_headers()
642 n = sizeof(ctx->header.loc) / sizeof(vhd_parent_locator_t); in vhd_end_of_headers()
647 loc = &ctx->header.loc[i]; in vhd_end_of_headers()
786 if (!vhd_validate_header(&ctx->header)) in vhd_get_header()
789 return vhd_read_header(ctx, &ctx->header); in vhd_get_header()
827 memset(&ctx->header, 0, sizeof(vhd_header_t)); in vhd_put_header()
973 vhd_read_header_at(vhd_context_t *ctx, vhd_header_t *header, off_t off) in vhd_read_header_at() argument
1001 memcpy(header, buf, sizeof(vhd_header_t)); in vhd_read_header_at()
1003 vhd_header_in(header); in vhd_read_header_at()
1004 err = vhd_validate_header(header); in vhd_read_header_at()
1015 vhd_read_header(vhd_context_t *ctx, vhd_header_t *header) in vhd_read_header() argument
1026 return vhd_read_header_at(ctx, header, off); in vhd_read_header()
1044 off = ctx->header.table_offset; in vhd_read_bat()
1045 size = vhd_bytes_padded(ctx->header.max_bat_size * sizeof(uint32_t)); in vhd_read_bat()
1062 bat->spb = ctx->header.block_size >> VHD_SECTOR_SHIFT; in vhd_read_bat()
1063 bat->entries = ctx->header.max_bat_size; in vhd_read_bat()
1107 memcpy(&batmap->header, buf, sizeof(vhd_batmap_header_t)); in vhd_read_batmap_header()
1117 memset(&batmap->header, 0, sizeof(vhd_batmap_header_t)); in vhd_read_batmap_header()
1130 map_size = vhd_sectors_to_bytes(batmap->header.batmap_size); in vhd_read_batmap_map()
1139 off = batmap->header.batmap_offset; in vhd_read_batmap_map()
1523 vhd_header_decode_parent(vhd_context_t *ctx, vhd_header_t *header, char **buf) in vhd_header_decode_parent() argument
1533 *buf = vhd_w2u_decode_location(header->prt_name, out, 512, code); in vhd_header_decode_parent()
1640 loc = ctx->header.loc + i; in vhd_parent_locator_get()
1875 if (end < off + ctx->header.block_size) { in vhd_read_block()
1877 memset(buf + size, 0, ctx->header.block_size - size); in vhd_read_block()
1959 vhd_write_header_at(vhd_context_t *ctx, vhd_header_t *header, off_t off) in vhd_write_header_at() argument
1979 memcpy(h, header, sizeof(vhd_header_t)); in vhd_write_header_at()
2003 vhd_write_header(vhd_context_t *ctx, vhd_header_t *header) in vhd_write_header() argument
2012 return vhd_write_header_at(ctx, header, off); in vhd_write_header()
2036 off = ctx->header.table_offset; in vhd_write_bat()
2075 b.header = batmap->header; in vhd_write_batmap()
2078 b.header.checksum = vhd_checksum_batmap(&b); in vhd_write_batmap()
2083 off = b.header.batmap_offset; in vhd_write_batmap()
2084 map_size = vhd_sectors_to_bytes(b.header.batmap_size); in vhd_write_batmap()
2122 memcpy(buf, &b.header, sizeof(vhd_batmap_header_t)); in vhd_write_batmap()
2333 err = vhd_read_header(ctx, &ctx->header); in vhd_open_fast()
2335 memcpy(&ctx->header, in vhd_open_fast()
2338 vhd_header_in(&ctx->header); in vhd_open_fast()
2339 err = vhd_validate_header(&ctx->header); in vhd_open_fast()
2345 ctx->spb = ctx->header.block_size >> VHD_SECTOR_SHIFT; in vhd_open_fast()
2405 err = vhd_read_header(ctx, &ctx->header); in vhd_open()
2409 ctx->spb = ctx->header.block_size >> VHD_SECTOR_SHIFT; in vhd_open()
2492 obl = sizeof(ctx->header.prt_name); in vhd_initialize_header_parent_name()
2493 dst = ctx->header.prt_name; in vhd_initialize_header_parent_name()
2537 memset(&ctx->header, 0, sizeof(vhd_header_t)); in vhd_initialize_header()
2538 memcpy(ctx->header.cookie, DD_COOKIE, sizeof(ctx->header.cookie)); in vhd_initialize_header()
2539 ctx->header.data_offset = (uint64_t)-1; in vhd_initialize_header()
2540 ctx->header.table_offset = VHD_SECTOR_SIZE * 3; /* 1 ftr + 2 hdr */ in vhd_initialize_header()
2541 ctx->header.hdr_ver = DD_VERSION; in vhd_initialize_header()
2542 ctx->header.block_size = VHD_BLOCK_SIZE; in vhd_initialize_header()
2543 ctx->header.prt_ts = 0; in vhd_initialize_header()
2544 ctx->header.res1 = 0; in vhd_initialize_header()
2545 ctx->header.max_bat_size = (ctx->footer.curr_size + in vhd_initialize_header()
2558 ctx->header.prt_ts = vhd_time(stats.st_mtime); in vhd_initialize_header()
2567 ctx->header.prt_ts = vhd_time(stats.st_mtime); in vhd_initialize_header()
2568 vhd_uuid_copy(&ctx->header.prt_uuid, &parent.footer.uuid); in vhd_initialize_header()
2576 ctx->header.max_bat_size = in vhd_initialize_header()
2594 off = ctx->batmap.header.batmap_offset + in vhd_write_parent_locators()
2595 vhd_sectors_to_bytes(ctx->batmap.header.batmap_size); in vhd_write_parent_locators()
2613 0, ctx->header.loc + i); in vhd_write_parent_locators()
2617 off += vhd_parent_locator_size(ctx->header.loc + i); in vhd_write_parent_locators()
2650 vhd_uuid_clear(&child->header.prt_uuid); in vhd_change_parent()
2658 vhd_uuid_copy(&child->header.prt_uuid, &parent.footer.uuid); in vhd_change_parent()
2663 child->header.prt_ts = vhd_time(stats.st_mtime); in vhd_change_parent()
2666 vhd_parent_locator_t *loc = child->header.loc + i; in vhd_change_parent()
2690 err = vhd_write_header(child, &child->header); in vhd_change_parent()
2708 vhd_batmap_header_t *header; in vhd_create_batmap() local
2713 map_bytes = (ctx->header.max_bat_size + 7) >> 3; in vhd_create_batmap()
2714 header = &ctx->batmap.header; in vhd_create_batmap()
2716 memset(header, 0, sizeof(vhd_batmap_header_t)); in vhd_create_batmap()
2717 memcpy(header->cookie, VHD_BATMAP_COOKIE, sizeof(header->cookie)); in vhd_create_batmap()
2723 header->batmap_offset = off + in vhd_create_batmap()
2725 header->batmap_size = secs_round_up_no_zero(map_bytes); in vhd_create_batmap()
2726 header->batmap_version = VHD_BATMAP_CURRENT_VERSION; in vhd_create_batmap()
2728 map_bytes = vhd_sectors_to_bytes(header->batmap_size); in vhd_create_batmap()
2751 size = vhd_bytes_padded(ctx->header.max_bat_size * sizeof(uint32_t)); in vhd_create_bat()
2759 for (i = 0; i < ctx->header.max_bat_size; i++) in vhd_create_bat()
2762 err = vhd_seek(ctx, ctx->header.table_offset, SEEK_SET); in vhd_create_bat()
2766 ctx->bat.entries = ctx->header.max_bat_size; in vhd_create_bat()
2767 ctx->bat.spb = ctx->header.block_size >> VHD_SECTOR_SHIFT; in vhd_create_bat()
2841 vhd_header_t *header; in __vhd_create() local
2860 header = &ctx.header; in __vhd_create()
2895 err = vhd_write_header_at(&ctx, &ctx.header, VHD_SECTOR_SIZE); in __vhd_create()
2914 err = vhd_write_header_at(&ctx, &ctx.header, VHD_SECTOR_SIZE); in __vhd_create()