diff options
| author | rimio <vasi.vilvoiu@gmail.com> | 2018-03-02 01:40:43 +0200 |
|---|---|---|
| committer | rimio <vasi.vilvoiu@gmail.com> | 2018-03-02 01:40:43 +0200 |
| commit | f2397db2cab21c9db06e8f7b69981f7eb2ca8cd5 (patch) | |
| tree | 897682067030314d41db3491c013117739e04bb9 /include | |
| parent | 85f4b2274c7ed2107dd56329c3421c15272e67a5 (diff) | |
Added indefinite string API; added test case answers
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) |
