]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - contrib/libcbor/src/cbor/internal/unicode.h
libcbor: update to 0.10.2
[FreeBSD/FreeBSD.git] / contrib / libcbor / src / cbor / internal / unicode.h
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   uint64_t location;
23 };
24
25 _CBOR_NODISCARD
26 uint64_t _cbor_unicode_codepoint_count(cbor_data source, uint64_t source_length,
27                                        struct _cbor_unicode_status* status);
28
29 #ifdef __cplusplus
30 }
31 #endif
32
33 #endif  // LIBCBOR_UNICODE_H