mirror of
https://github.com/Telecominfraproject/OpenCellular.git
synced 2025-11-24 02:05:01 +00:00
Following changes are done to the cgptlib API in order to allow backend component of fastboot to perform erase and write operations on partitions and manipulate GPT entries: GptFindNthEntry - Returns the nth entry in GPT that matches provided GUID. GptGetEntrySizeLba - Returns size of a partition in lba. GptGetEntrySizeBytes - Returns size of a partition in bytes. GptUpdateKernelWithEntry - Given kernel entry is updated using the provided update_type. GptUpdateKernelEntry calls this function with entry for current_kernel. Add flags GPT_UPDATE_ENTRY_RESET and GPT_UPDATE_ENTRY_INVALID for calls to GptUpdateKernelEntry. These operations are used by write image and erase partition respectively. BUG=chrome-os-partner:35861 BRANCH=None TEST=Compiles successfully and all the newly added functions work as expected. Change-Id: I82c87e4c97de2d207e80209dbd4922b4bcd5880a Signed-off-by: Furquan Shaikh <furquan@google.com> Reviewed-on: https://chromium-review.googlesource.com/240268 Trybot-Ready: Furquan Shaikh <furquan@chromium.org> Tested-by: Furquan Shaikh <furquan@chromium.org> Reviewed-by: Randall Spangler <rspangler@chromium.org> Reviewed-by: Aaron Durbin <adurbin@chromium.org> Commit-Queue: Furquan Shaikh <furquan@chromium.org>
26 lines
921 B
C
26 lines
921 B
C
/* Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
|
|
* Use of this source code is governed by a BSD-style license that can be
|
|
* found in the LICENSE file.
|
|
*/
|
|
|
|
#ifndef VBOOT_REFERENCE_CGPTLIB_H_
|
|
#define VBOOT_REFERENCE_CGPTLIB_H_
|
|
|
|
#include "sysincludes.h"
|
|
#include "gpt_misc.h"
|
|
|
|
/**
|
|
* Provides the location of the next kernel partition, in order of decreasing
|
|
* priority.
|
|
*
|
|
* On return the start_sector parameter contains the LBA sector for the start
|
|
* of the kernel partition, and the size parameter contains the size of the
|
|
* kernel partition in LBA sectors. gpt.current_kernel contains the partition
|
|
* index of the current chromeos kernel partition.
|
|
*
|
|
* Returns GPT_SUCCESS if successful, else
|
|
* GPT_ERROR_NO_VALID_KERNEL, no avaliable kernel, enters recovery mode */
|
|
int GptNextKernelEntry(GptData *gpt, uint64_t *start_sector, uint64_t *size);
|
|
|
|
#endif /* VBOOT_REFERENCE_CGPTLIB_H_ */
|