1 /* 2 * Copyright (c) 2014-2020 Pavel Kalvoda <me@pavelkalvoda.com> 3 * 4 * libcbor is free software; you can redistribute it and/or modify 5 * it under the terms of the MIT license. See LICENSE for details. 6 */ 7 8 #ifndef LIBCBOR_UNICODE_H 9 #define LIBCBOR_UNICODE_H 10 11 #include "cbor/common.h" 12 13 #ifdef __cplusplus 14 extern "C" { 15 #endif 16 17 enum _cbor_unicode_status_error { _CBOR_UNICODE_OK, _CBOR_UNICODE_BADCP }; 18 19 /** Signals unicode validation error and possibly its location */ 20 struct _cbor_unicode_status { 21 enum _cbor_unicode_status_error status; 22 size_t location; 23 }; 24 25 _CBOR_NODISCARD 26 size_t _cbor_unicode_codepoint_count(cbor_data source, size_t source_length, 27 struct _cbor_unicode_status* status); 28 29 #ifdef __cplusplus 30 } 31 #endif 32 33 #endif // LIBCBOR_UNICODE_H 34