Dash Core  0.12.2.1
P2P Digital Currency
common.h
Go to the documentation of this file.
1 // Copyright (c) 2014 The Bitcoin Core developers
2 // Distributed under the MIT software license, see the accompanying
3 // file COPYING or http://www.opensource.org/licenses/mit-license.php.
4 
5 #ifndef BITCOIN_CRYPTO_COMMON_H
6 #define BITCOIN_CRYPTO_COMMON_H
7 
8 #if defined(HAVE_CONFIG_H)
9 #include "dash-config.h"
10 #endif
11 
12 #include <stdint.h>
13 
14 #include "compat/endian.h"
15 
16 uint16_t static inline ReadLE16(const unsigned char* ptr)
17 {
18  return le16toh(*((uint16_t*)ptr));
19 }
20 
21 uint32_t static inline ReadLE32(const unsigned char* ptr)
22 {
23  return le32toh(*((uint32_t*)ptr));
24 }
25 
26 uint64_t static inline ReadLE64(const unsigned char* ptr)
27 {
28  return le64toh(*((uint64_t*)ptr));
29 }
30 
31 void static inline WriteLE16(unsigned char* ptr, uint16_t x)
32 {
33  *((uint16_t*)ptr) = htole16(x);
34 }
35 
36 void static inline WriteLE32(unsigned char* ptr, uint32_t x)
37 {
38  *((uint32_t*)ptr) = htole32(x);
39 }
40 
41 void static inline WriteLE64(unsigned char* ptr, uint64_t x)
42 {
43  *((uint64_t*)ptr) = htole64(x);
44 }
45 
46 uint32_t static inline ReadBE32(const unsigned char* ptr)
47 {
48  return be32toh(*((uint32_t*)ptr));
49 }
50 
51 uint64_t static inline ReadBE64(const unsigned char* ptr)
52 {
53  return be64toh(*((uint64_t*)ptr));
54 }
55 
56 void static inline WriteBE32(unsigned char* ptr, uint32_t x)
57 {
58  *((uint32_t*)ptr) = htobe32(x);
59 }
60 
61 void static inline WriteBE64(unsigned char* ptr, uint64_t x)
62 {
63  *((uint64_t*)ptr) = htobe64(x);
64 }
65 
66 #endif // BITCOIN_CRYPTO_COMMON_H
static void WriteLE16(unsigned char *ptr, uint16_t x)
Definition: common.h:31
static void WriteLE64(unsigned char *ptr, uint64_t x)
Definition: common.h:41
uint64_t htobe64(uint64_t host_64bits)
Definition: endian.h:167
static void WriteLE32(unsigned char *ptr, uint32_t x)
Definition: common.h:36
uint32_t be32toh(uint32_t big_endian_32bits)
Definition: endian.h:153
static void WriteBE64(unsigned char *ptr, uint64_t x)
Definition: common.h:61
static uint16_t ReadLE16(const unsigned char *ptr)
Definition: common.h:16
uint32_t htole32(uint32_t host_32bits)
Definition: endian.h:146
uint32_t htobe32(uint32_t host_32bits)
Definition: endian.h:139
uint64_t be64toh(uint64_t big_endian_64bits)
Definition: endian.h:181
static uint32_t ReadBE32(const unsigned char *ptr)
Definition: common.h:46
static uint64_t ReadBE64(const unsigned char *ptr)
Definition: common.h:51
uint16_t le16toh(uint16_t little_endian_16bits)
Definition: endian.h:132
static uint32_t ReadLE32(const unsigned char *ptr)
Definition: common.h:21
uint16_t htole16(uint16_t host_16bits)
Definition: endian.h:118
uint64_t le64toh(uint64_t little_endian_64bits)
Definition: endian.h:188
uint64_t htole64(uint64_t host_64bits)
Definition: endian.h:174
static uint64_t ReadLE64(const unsigned char *ptr)
Definition: common.h:26
static void WriteBE32(unsigned char *ptr, uint32_t x)
Definition: common.h:56
uint32_t le32toh(uint32_t little_endian_32bits)
Definition: endian.h:160