blob: 1f109b0d19f933c74a149275fd3c68483cc19e1e [file] [log] [blame]
Julian Halldf86fce2020-11-23 18:09:55 +01001/*
2 * Copyright (c) 2020, Arm Limited and Contributors. All rights reserved.
3 *
4 * SPDX-License-Identifier: BSD-3-Clause
5 */
6
7#ifndef PB_HELPER_H
8#define PB_HELPER_H
9
10#include <pb.h>
11
12#ifdef __cplusplus
13extern "C" {
14#endif
15
16/* Returns an initialised pb_callback_t structure for encoding a variable length byte array */
17extern pb_callback_t pb_out_byte_array(const pb_bytes_array_t *byte_array);
18
19/* Returns an initialised pb_callback_t structure for decoding a variable length byte array */
20extern pb_callback_t pb_in_byte_array(pb_bytes_array_t *byte_array);
21
22/* Malloc space for a pb_bytes_array_t object with space for the requested number of bytes */
23extern pb_bytes_array_t *pb_malloc_byte_array(size_t num_bytes);
24
25/* Malloc space for a pb_bytes_array_t object containing the given string */
26extern pb_bytes_array_t *pb_malloc_byte_array_containing_string(const char *str);
27
28/* Malloc space for a pb_bytes_array_t object containing the given bytes */
29extern pb_bytes_array_t *pb_malloc_byte_array_containing_bytes(const uint8_t *buf, size_t num_bytes);
30
31#ifdef __cplusplus
32} /* extern "C" */
33#endif
34
35#endif /* PB_HELPER_H */