-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathutil_byte.c
34 lines (25 loc) · 847 Bytes
/
util_byte.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#include <stdint.h>
#include <stdio.h>
#include <util/byte.h>
uint8_t get_dword_byte1(uint32_t *val) {
return (*val & DWORD_BYTE1_MASK) >> 24;
}
uint8_t get_dword_byte2(uint32_t *val) {
return (*val & DWORD_BYTE2_MASK) >> 16;
}
uint8_t get_dword_byte3(uint32_t *val) {
return (*val & DWORD_BYTE3_MASK) >> 8;
}
uint8_t get_dword_byte4(uint32_t *val) { return (*val & DWORD_BYTE4_MASK); }
void set_dword_byte1(uint32_t *val, uint8_t byte) {
*val = (*val & ~DWORD_BYTE1_MASK) | ((uint32_t)byte << 24);
}
void set_dword_byte2(uint32_t *val, uint8_t byte) {
*val = (*val & ~DWORD_BYTE2_MASK) | ((uint32_t)byte << 16);
}
void set_dword_byte3(uint32_t *val, uint8_t byte) {
*val = (*val & ~DWORD_BYTE3_MASK) | ((uint32_t)byte << 8);
}
void set_dword_byte4(uint32_t *val, uint8_t byte) {
*val = (*val & ~DWORD_BYTE4_MASK) | byte;
}