xref: /freebsd/contrib/libcbor/src/cbor/internal/loaders.h (revision 5ca8e32633c4ffbbcd6762e5888b6a4ba0708c6c)
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_LOADERS_H
9 #define LIBCBOR_LOADERS_H
10 
11 #include "cbor/common.h"
12 
13 #ifdef __cplusplus
14 extern "C" {
15 #endif
16 
17 /* Read the given uint from the given location, no questions asked */
18 _CBOR_NODISCARD
19 uint8_t _cbor_load_uint8(const unsigned char *source);
20 
21 _CBOR_NODISCARD
22 uint16_t _cbor_load_uint16(const unsigned char *source);
23 
24 _CBOR_NODISCARD
25 uint32_t _cbor_load_uint32(const unsigned char *source);
26 
27 _CBOR_NODISCARD
28 uint64_t _cbor_load_uint64(const unsigned char *source);
29 
30 _CBOR_NODISCARD
31 float _cbor_load_half(cbor_data source);
32 
33 _CBOR_NODISCARD
34 float _cbor_load_float(cbor_data source);
35 
36 _CBOR_NODISCARD
37 double _cbor_load_double(cbor_data source);
38 
39 #ifdef __cplusplus
40 }
41 #endif
42 
43 #endif  // LIBCBOR_LOADERS_H
44