libcoap 4.3.5-develop-ea01661
Loading...
Searching...
No Matches
coap_encode.h
Go to the documentation of this file.
1/*
2 * encode.h -- encoding and decoding of CoAP data types
3 *
4 * Copyright (C) 2010-2012,2023-2025 Olaf Bergmann <bergmann@tzi.org>
5 *
6 * SPDX-License-Identifier: BSD-2-Clause
7 *
8 * This file is part of the CoAP library libcoap. Please see README for terms
9 * of use.
10 */
11
17#ifndef COAP_ENCODE_H_
18#define COAP_ENCODE_H_
19
20#if (BSD >= 199103) || defined(_WIN32)
21# include <string.h>
22#else
23# include <strings.h>
24#endif
25
26#include <stdint.h>
27
28#ifdef __cplusplus
29extern "C" {
30#endif
31
32#ifndef HAVE_FLS
33/* include this only if fls() is not available */
34extern int coap_fls(unsigned int i);
35#else
36#define coap_fls(i) fls(i)
37#endif
38
39#ifndef HAVE_FLSLL
40/* include this only if flsll() is not available */
41extern int coap_flsll(long long i);
42#else
43#define coap_flsll(i) flsll(i)
44#endif
45
62unsigned int coap_decode_var_bytes(const uint8_t *buf, size_t length);
63
73uint64_t coap_decode_var_bytes8(const uint8_t *buf, size_t length);
74
88unsigned int coap_encode_var_safe(uint8_t *buf,
89 size_t length,
90 unsigned int value);
91
105unsigned int coap_encode_var_safe8(uint8_t *buf,
106 size_t length,
107 uint64_t value);
108
127coap_encode_var_bytes(uint8_t *buf, unsigned int value) {
128 return (int)coap_encode_var_safe(buf, sizeof(value), value);
129}
130
131#ifdef __cplusplus
132}
133#endif
134
135#endif /* COAP_ENCODE_H_ */
int coap_flsll(long long i)
Definition coap_encode.c:28
int coap_fls(unsigned int i)
Definition coap_encode.c:21
COAP_STATIC_INLINE COAP_DEPRECATED int coap_encode_var_bytes(uint8_t *buf, unsigned int value)
unsigned int coap_encode_var_safe(uint8_t *buf, size_t length, unsigned int value)
Encodes multiple-length byte sequences.
Definition coap_encode.c:47
unsigned int coap_decode_var_bytes(const uint8_t *buf, size_t length)
Decodes multiple-length byte sequences.
Definition coap_encode.c:38
uint64_t coap_decode_var_bytes8(const uint8_t *buf, size_t length)
Decodes multiple-length byte sequences.
Definition coap_encode.c:67
unsigned int coap_encode_var_safe8(uint8_t *buf, size_t length, uint64_t value)
Encodes multiple-length byte sequences.
Definition coap_encode.c:77
#define COAP_DEPRECATED
Definition libcoap.h:66
#define COAP_STATIC_INLINE
Definition libcoap.h:57