Coverage Report

Created: 2025-08-26 06:06

/src/libzmq/src/wire.hpp
Line
Count
Source (jump to first uncovered line)
1
/* SPDX-License-Identifier: MPL-2.0 */
2
3
#ifndef __ZMQ_WIRE_HPP_INCLUDED__
4
#define __ZMQ_WIRE_HPP_INCLUDED__
5
6
#include "stdint.hpp"
7
8
namespace zmq
9
{
10
//  Helper functions to convert different integer types to/from network
11
//  byte order.
12
13
inline void put_uint8 (unsigned char *buffer_, uint8_t value_)
14
0
{
15
0
    *buffer_ = value_;
16
0
}
17
18
inline uint8_t get_uint8 (const unsigned char *buffer_)
19
0
{
20
0
    return *buffer_;
21
0
}
22
23
inline void put_uint16 (unsigned char *buffer_, uint16_t value_)
24
0
{
25
0
    buffer_[0] = static_cast<unsigned char> (((value_) >> 8) & 0xff);
26
0
    buffer_[1] = static_cast<unsigned char> (value_ & 0xff);
27
0
}
28
29
inline uint16_t get_uint16 (const unsigned char *buffer_)
30
0
{
31
0
    return ((static_cast<uint16_t> (buffer_[0])) << 8)
32
0
           | (static_cast<uint16_t> (buffer_[1]));
33
0
}
34
35
inline void put_uint32 (unsigned char *buffer_, uint32_t value_)
36
0
{
37
0
    buffer_[0] = static_cast<unsigned char> (((value_) >> 24) & 0xff);
38
0
    buffer_[1] = static_cast<unsigned char> (((value_) >> 16) & 0xff);
39
0
    buffer_[2] = static_cast<unsigned char> (((value_) >> 8) & 0xff);
40
0
    buffer_[3] = static_cast<unsigned char> (value_ & 0xff);
41
0
}
42
43
inline uint32_t get_uint32 (const unsigned char *buffer_)
44
0
{
45
0
    return ((static_cast<uint32_t> (buffer_[0])) << 24)
46
0
           | ((static_cast<uint32_t> (buffer_[1])) << 16)
47
0
           | ((static_cast<uint32_t> (buffer_[2])) << 8)
48
0
           | (static_cast<uint32_t> (buffer_[3]));
49
0
}
50
51
inline void put_uint64 (unsigned char *buffer_, uint64_t value_)
52
0
{
53
0
    buffer_[0] = static_cast<unsigned char> (((value_) >> 56) & 0xff);
54
0
    buffer_[1] = static_cast<unsigned char> (((value_) >> 48) & 0xff);
55
0
    buffer_[2] = static_cast<unsigned char> (((value_) >> 40) & 0xff);
56
0
    buffer_[3] = static_cast<unsigned char> (((value_) >> 32) & 0xff);
57
0
    buffer_[4] = static_cast<unsigned char> (((value_) >> 24) & 0xff);
58
0
    buffer_[5] = static_cast<unsigned char> (((value_) >> 16) & 0xff);
59
0
    buffer_[6] = static_cast<unsigned char> (((value_) >> 8) & 0xff);
60
0
    buffer_[7] = static_cast<unsigned char> (value_ & 0xff);
61
0
}
62
63
inline uint64_t get_uint64 (const unsigned char *buffer_)
64
0
{
65
0
    return ((static_cast<uint64_t> (buffer_[0])) << 56)
66
0
           | ((static_cast<uint64_t> (buffer_[1])) << 48)
67
0
           | ((static_cast<uint64_t> (buffer_[2])) << 40)
68
0
           | ((static_cast<uint64_t> (buffer_[3])) << 32)
69
0
           | ((static_cast<uint64_t> (buffer_[4])) << 24)
70
0
           | ((static_cast<uint64_t> (buffer_[5])) << 16)
71
0
           | ((static_cast<uint64_t> (buffer_[6])) << 8)
72
0
           | (static_cast<uint64_t> (buffer_[7]));
73
0
}
74
}
75
76
#endif