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