/*
 * Copyright (c) 2020 The Fuchsia Authors
 *
 * SPDX-License-Identifier:   BSD-3-Clause
 */

#ifndef _ZIRCON_UBOOT_UTIL_H_
#define _ZIRCON_UBOOT_UTIL_H_

/*
 * Generates a default serial number for the device. The generated serial number is an alpha-numeric
 * null-terminated string. Returns 0 on success.
 * # Arguments:
 * * 'sn': The buffer into which to write the serial number.
 * * 'size': The size of the serial number including the null terminator. The buffer
 *   must have size of at least 'size'.
 */
int get_default_serial_number(char *sn, size_t size);

/*
 * Attempts to update the GPT from a concatenated GPT image located in the 'migration' partition
 *
 * Returns 0 on success, -1 on failure
 */
int gpt_update(void);

#endif // _ZIRCON_UBOOT_UTIL_H_
