Lines Matching refs:footer
59 vhd_util_check_footer_opened(vhd_footer_t *footer) in vhd_util_check_footer_opened() argument
64 buf = (uint32_t *)footer; in vhd_util_check_footer_opened()
65 n = sizeof(*footer) / sizeof(uint32_t); in vhd_util_check_footer_opened()
75 vhd_util_check_validate_footer(vhd_footer_t *footer) in vhd_util_check_validate_footer() argument
80 size = sizeof(footer->cookie); in vhd_util_check_validate_footer()
81 if (memcmp(footer->cookie, HD_COOKIE, size)) in vhd_util_check_validate_footer()
84 checksum = vhd_checksum_footer(footer); in vhd_util_check_validate_footer()
85 if (checksum != footer->checksum) { in vhd_util_check_validate_footer()
86 if (footer->hidden && in vhd_util_check_validate_footer()
87 !strncmp(footer->crtr_app, "tap", 3) && in vhd_util_check_validate_footer()
88 (footer->crtr_ver == VHD_VERSION(0, 1) || in vhd_util_check_validate_footer()
89 footer->crtr_ver == VHD_VERSION(1, 1))) { in vhd_util_check_validate_footer()
90 char tmp = footer->hidden; in vhd_util_check_validate_footer()
91 footer->hidden = 0; in vhd_util_check_validate_footer()
92 checksum = vhd_checksum_footer(footer); in vhd_util_check_validate_footer()
93 footer->hidden = tmp; in vhd_util_check_validate_footer()
95 if (checksum == footer->checksum) in vhd_util_check_validate_footer()
103 if (!(footer->features & HD_RESERVED)) in vhd_util_check_validate_footer()
106 if (footer->features & ~(HD_TEMPORARY | HD_RESERVED)) in vhd_util_check_validate_footer()
109 if (footer->ff_version != HD_FF_VERSION) in vhd_util_check_validate_footer()
112 if (footer->type != HD_TYPE_DYNAMIC && in vhd_util_check_validate_footer()
113 footer->type != HD_TYPE_DIFF && in vhd_util_check_validate_footer()
114 footer->data_offset != ~(0ULL)) in vhd_util_check_validate_footer()
118 if (footer->timestamp > now + TIMESTAMP_MAX_SLACK) in vhd_util_check_validate_footer()
121 if (!strncmp(footer->crtr_app, "tap", 3) && in vhd_util_check_validate_footer()
122 footer->crtr_ver > VHD_CURRENT_VERSION) in vhd_util_check_validate_footer()
125 if (vhd_chs(footer->curr_size) < footer->geometry) in vhd_util_check_validate_footer()
128 if (footer->type != HD_TYPE_FIXED && in vhd_util_check_validate_footer()
129 footer->type != HD_TYPE_DYNAMIC && in vhd_util_check_validate_footer()
130 footer->type != HD_TYPE_DIFF) in vhd_util_check_validate_footer()
133 if (footer->saved && footer->saved != 1) in vhd_util_check_validate_footer()
136 if (footer->hidden && footer->hidden != 1) in vhd_util_check_validate_footer()
139 if (vhd_util_check_zeros(footer->reserved, in vhd_util_check_validate_footer()
140 sizeof(footer->reserved))) in vhd_util_check_validate_footer()
201 if (vhd->footer.type == HD_TYPE_DIFF) { in vhd_util_check_validate_differencing_header()
323 if (vhd_uuid_compare(&vhd->header.prt_uuid, &parent.footer.uuid)) { in vhd_util_check_validate_parent()
334 vhd_util_check_footer(int fd, vhd_footer_t *footer, int ignore) in vhd_util_check_footer() argument
447 memcpy(footer, &primary, sizeof(primary)); in vhd_util_check_footer()
455 vhd_util_check_header(int fd, vhd_footer_t *footer) in vhd_util_check_header() argument
468 off = footer->data_offset; in vhd_util_check_header()
809 vhd_footer_t footer; in vhd_util_check_vhd() local
813 memset(&footer, 0, sizeof(footer)); in vhd_util_check_vhd()
832 err = vhd_util_check_footer(fd, &footer, ignore); in vhd_util_check_vhd()
836 if (footer.type != HD_TYPE_DYNAMIC && footer.type != HD_TYPE_DIFF) in vhd_util_check_vhd()
839 err = vhd_util_check_header(fd, &footer); in vhd_util_check_vhd()
861 if (vhd.footer.type == HD_TYPE_DIFF) { in vhd_util_check_vhd()
894 if (vhd.footer.type != HD_TYPE_DIFF || vhd_parent_raw(&vhd)) { in vhd_util_check_parents()