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
14extern "C" {
15#endif
16
17enum _cbor_unicode_status_error { _CBOR_UNICODE_OK, _CBOR_UNICODE_BADCP };
18
19/** Signals unicode validation error and possibly its location */
20struct _cbor_unicode_status {
21  enum _cbor_unicode_status_error status;
22  size_t location;
23};
24
25_CBOR_NODISCARD
26size_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