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