39 lines
982 B
C
39 lines
982 B
C
/* SPDX-License-Identifier: BSD-3-Clause
|
|
*
|
|
* Copyright 2016 The Fuchsia 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 __ABR_OPS_H__
|
|
#define __ABR_OPS_H__
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/* High-level operations/functions/methods for A/B/R that are platform
|
|
* dependent.
|
|
*/
|
|
typedef struct ABROps {
|
|
/* Reads a buffer of A/B/R metadata from persistent storage.
|
|
* Returns ABR_RESULT_OK on success, error code otherwise.
|
|
* |size| is in-out parameter:
|
|
* in: requested size,
|
|
* out: actual read size
|
|
*/
|
|
ABRResult (*read_abr_metadata_buffer)(unsigned char *data, size_t *size);
|
|
|
|
/* Writes a buffer of A/B/R metadata to persistent storage.
|
|
* Returns ABR_RESULT_OK on success, error code otherwise.
|
|
*/
|
|
ABRResult (*write_abr_metadata_buffer)(const unsigned char *data, size_t size);
|
|
} ABROps;
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* __ABR_OPS_H__ */
|