blob: 7137c015ca33d8367c99617974256112203a23ab [file] [log] [blame]
/*
* Copyright (c) 2023, Arm Limited. All rights reserved.
*
* SPDX-License-Identifier: BSD-3-Clause
*
*/
#ifndef FWU_CONFIGURE_H
#define FWU_CONFIGURE_H
#include "common/uuid/uuid.h"
#ifdef __cplusplus
extern "C" {
#endif
/**
* \brief Configure installers and volumes for FWU
*
* Creates an FWU configuration consisting of a set of installers and volumes
* that provide the capabilities needed to update images residing on the set
* of storage devices identified by the input set of device UUIDs. Created
* installers are added to the singleton installer_index and created volumes
* are added to the volume_index. Related installers and volumes are grouped
* by assigning location IDs.
*
* \param[in] device_uuids Array of device UUIDs
* \param[in] num_device_uuids Number of UUIDs in the array
*
* \return Configuration status (0 for success)
*/
int fwu_configure(const struct uuid_octets *device_uuids, size_t num_device_uuids);
/**
* \brief De-configure the FWU configuration
*
* Deregisters and destroys all installers and volumes.
*/
void fwu_deconfigure(void);
#ifdef __cplusplus
}
#endif
#endif /* FWU_CONFIGURE_H */