nRF Connect SDK API 2.8.99
Loading...
Searching...
No Matches
suit_service.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2023 Nordic Semiconductor ASA
3 *
4 * SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
5 */
6
7#ifndef SUIT_SERVICE_H__
8#define SUIT_SERVICE_H__
9
20#include <stdlib.h>
21#include <stdbool.h>
22
23#include <suit_plat_err.h>
24#include <suit_mreg.h>
25#include <suit_metadata.h>
26
27#ifdef __cplusplus
28extern "C" {
29#endif
30
31typedef int suit_ssf_err_t;
32
34typedef struct {
35 suit_manifest_role_t role;
36 suit_uuid_t vendor_id;
37 suit_manifest_class_id_t class_id;
38 suit_downgrade_prevention_policy_t downgrade_prevention_policy;
39 suit_independent_updateability_policy_t independent_updateability_policy;
40 suit_signature_verification_policy_t signature_verification_policy;
42
43#define SUIT_SSF_MISSING_COMPONENT 1
44#define SUIT_SSF_FAIL_CONDITION 2
45#define SUIT_SSF_ERR_MANIFESTCLASSID 3
68suit_ssf_err_t suit_check_installed_component_digest(suit_plat_mreg_t *component_id, int alg_id,
69 suit_plat_mreg_t *digest);
70
89suit_ssf_err_t suit_trigger_update(suit_plat_mreg_t *regions, size_t len);
90
118suit_ssf_err_t suit_get_installed_manifest_info(suit_manifest_class_id_t *manifest_class_id,
119 unsigned int *seq_num, suit_semver_raw_t *version,
120 suit_digest_status_t *status, int *alg_id,
121 suit_plat_mreg_t *digest);
122
147suit_ssf_err_t suit_get_install_candidate_info(suit_manifest_class_id_t *manifest_class_id,
148 unsigned int *seq_num, suit_semver_raw_t *version,
149 int *alg_id, suit_plat_mreg_t *digest);
150
162suit_ssf_err_t suit_get_supported_manifest_roles(suit_manifest_role_t *roles, size_t *size);
163
179
180#ifdef __cplusplus
181}
182#endif
183
188#endif /* SUIT_SERVICE_H__ */
suit_manifest_role_t role
Definition suit_service.h:35
suit_independent_updateability_policy_t independent_updateability_policy
Definition suit_service.h:39
suit_signature_verification_policy_t signature_verification_policy
Definition suit_service.h:40
suit_uuid_t vendor_id
Definition suit_service.h:36
suit_downgrade_prevention_policy_t downgrade_prevention_policy
Definition suit_service.h:38
suit_manifest_class_id_t class_id
Definition suit_service.h:37
Definition suit_service.h:34
suit_ssf_err_t suit_trigger_update(suit_plat_mreg_t *regions, size_t len)
Trigger the system update procedure.
int suit_ssf_err_t
Definition suit_service.h:31
suit_ssf_err_t suit_get_supported_manifest_roles(suit_manifest_role_t *roles, size_t *size)
Get an array of supported manifest roles.
suit_ssf_err_t suit_get_installed_manifest_info(suit_manifest_class_id_t *manifest_class_id, unsigned int *seq_num, suit_semver_raw_t *version, suit_digest_status_t *status, int *alg_id, suit_plat_mreg_t *digest)
Read the information about the manifest, that was used to boot the system.
suit_ssf_err_t suit_get_install_candidate_info(suit_manifest_class_id_t *manifest_class_id, unsigned int *seq_num, suit_semver_raw_t *version, int *alg_id, suit_plat_mreg_t *digest)
Check validity and read information about the update candidate.
suit_ssf_err_t suit_check_installed_component_digest(suit_plat_mreg_t *component_id, int alg_id, suit_plat_mreg_t *digest)
Check if the installed component digest matches.
suit_ssf_err_t suit_get_supported_manifest_info(suit_manifest_role_t role, suit_ssf_manifest_class_info_t *class_info)
Get class info (class id, vendor ID, role) for a given, supported manifest role. Prior to calling thi...