2N/A * GRUB -- GRand Unified Bootloader 2N/A * Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved. 2N/A * GRUB is free software; you can redistribute it and/or modify 2N/A * it under the terms of the GNU General Public License as published by 2N/A * the Free Software Foundation; either version 3 of the License, or 2N/A * (at your option) any later version. 2N/A * GRUB is distributed in the hope that it will be useful, 2N/A * but WITHOUT ANY WARRANTY; without even the implied warranty of 2N/A * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 2N/A * GNU General Public License for more details. 2N/A * You should have received a copy of the GNU General Public License 2N/A/* Extra header preceding the payloads at the end of the bootblock. */ 2N/A/*************************************************************************/ 2N/A/*************************************************************************/ 2N/A * 'dest' might be both containing the buffer we want to hash and 2N/A * containing our einfo structure: delay any update of it after the 2N/A * hashing has been calculated. 2N/A "not enough space\n"));
2N/A "string is empty\n"));
2N/A "not enough space\n"));
2N/A/*************************************************************************/ 2N/A * Common functions to deal with the fake-multiboot encapsulation of the 2N/A * bootblock and the location of the extra information area. 2N/A/* mboot checksum routine. */ 2N/A * Given a pointer to the extra area, add the extended information structure 2N/A * encapsulated by a bb_header_ext_t structure. 2N/A /* Reserve space for the extra header. */ 2N/A /* Place the extended information structure. */ 2N/A "versioning information\n"));
2N/A /* Fill the extended information associated header. */ 2N/A/*************************************************************************/ 2N/A printf(
"Size before versioning: %d, after: %d\n",