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 |