diff options
Diffstat (limited to 'include')
| -rw-r--r-- | include/ecbor.h | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/include/ecbor.h b/include/ecbor.h index c8a43f7..a0c166c 100644 --- a/include/ecbor.h +++ b/include/ecbor.h @@ -38,6 +38,7 @@ typedef enum { ECBOR_ERR_EMPTY_NODE_BUFFER = 52, ECBOR_ERR_INDEX_OUT_OF_BOUNDS = 53, ECBOR_ERR_WONT_RETURN_INDEFINITE = 54, + ECBOR_ERR_WONT_RETURN_DEFINITE = 55, /* semantic errors */ ECBOR_ERR_CURRENTLY_NOT_SUPPORTED = 100, @@ -251,6 +252,26 @@ extern ecbor_error_t ecbor_get_tag_item (ecbor_item_t *tag, ecbor_item_t *arr_item); +extern ecbor_error_t +ecbor_get_str (ecbor_item_t *str, char **value); + +extern ecbor_error_t +ecbor_get_str_chunk_count (ecbor_item_t *str, uint64_t *count); + +extern ecbor_error_t +ecbor_get_str_chunk (ecbor_item_t *str, uint64_t index, ecbor_item_t *chunk); + + +extern ecbor_error_t +ecbor_get_bstr (ecbor_item_t *str, uint8_t **value); + +extern ecbor_error_t +ecbor_get_bstr_chunk_count (ecbor_item_t *str, uint64_t *count); + +extern ecbor_error_t +ecbor_get_bstr_chunk (ecbor_item_t *str, uint64_t index, ecbor_item_t *chunk); + + /* * Inline API */ @@ -259,6 +280,8 @@ ecbor_get_tag_item (ecbor_item_t *tag, ecbor_item_t *arr_item); #define ECBOR_IS_INDEFINITE(i) \ ((i).is_indefinite) +#define ECBOR_IS_DEFINITE(i) \ + (!(i).is_indefinite) #define ECBOR_IS_NINT(i) \ ((i).type == ECBOR_TYPE_NINT) |
