mirror of
https://github.com/RfidResearchGroup/proxmark3.git
synced 2025-08-20 21:33:47 -07:00
add le data conversions to utils
This commit is contained in:
parent
e0a5a47886
commit
a0429c3baa
2 changed files with 38 additions and 0 deletions
|
@ -503,6 +503,36 @@ void SwapEndian64ex(const uint8_t *src, const size_t len, const uint8_t blockSiz
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
uint16_t MemLeToUint2byte(uint8_t *data) {
|
||||||
|
return (data[1] << 8) + data[0];
|
||||||
|
}
|
||||||
|
|
||||||
|
uint32_t MemLeToUint3byte(uint8_t *data) {
|
||||||
|
return (data[2] << 16) + (data[1] << 8) + data[0];
|
||||||
|
}
|
||||||
|
|
||||||
|
uint32_t MemLeToUint4byte(uint8_t *data) {
|
||||||
|
return (data[3] << 24) + (data[2] << 16) + (data[1] << 8) + data[0];
|
||||||
|
}
|
||||||
|
|
||||||
|
void Uint2byteToMemLe(uint8_t *data, uint16_t value) {
|
||||||
|
data[0] = (value >> 8) & 0xff;
|
||||||
|
data[1] = value & 0xff;
|
||||||
|
}
|
||||||
|
|
||||||
|
void Uint3byteToMemLe(uint8_t *data, uint32_t value) {
|
||||||
|
data[0] = (value >> 16) & 0xff;
|
||||||
|
data[1] = (value >> 8) & 0xff;
|
||||||
|
data[2] = value & 0xff;
|
||||||
|
}
|
||||||
|
|
||||||
|
void Uint4byteToMemLe(uint8_t *data, uint32_t value) {
|
||||||
|
data[0] = (value >> 24) & 0xff;
|
||||||
|
data[1] = (value >> 16) & 0xff;
|
||||||
|
data[2] = (value >> 8) & 0xff;
|
||||||
|
data[3] = value & 0xff;
|
||||||
|
}
|
||||||
|
|
||||||
// -------------------------------------------------------------------------
|
// -------------------------------------------------------------------------
|
||||||
// string parameters lib
|
// string parameters lib
|
||||||
// -------------------------------------------------------------------------
|
// -------------------------------------------------------------------------
|
||||||
|
|
|
@ -64,6 +64,14 @@ void bytes_to_bytebits(void *src, size_t srclen, void *dest);
|
||||||
uint8_t *SwapEndian64(const uint8_t *src, const size_t len, const uint8_t blockSize);
|
uint8_t *SwapEndian64(const uint8_t *src, const size_t len, const uint8_t blockSize);
|
||||||
void SwapEndian64ex(const uint8_t *src, const size_t len, const uint8_t blockSize, uint8_t *dest);
|
void SwapEndian64ex(const uint8_t *src, const size_t len, const uint8_t blockSize, uint8_t *dest);
|
||||||
|
|
||||||
|
// LE to/from memory
|
||||||
|
uint16_t MemLeToUint2byte(uint8_t *data);
|
||||||
|
uint32_t MemLeToUint3byte(uint8_t *data);
|
||||||
|
uint32_t MemLeToUint4byte(uint8_t *data);
|
||||||
|
void Uint2byteToMemLe(uint8_t *data, uint16_t value);
|
||||||
|
void Uint3byteToMemLe(uint8_t *data, uint32_t value);
|
||||||
|
void Uint4byteToMemLe(uint8_t *data, uint32_t value);
|
||||||
|
|
||||||
// parameter helper functions
|
// parameter helper functions
|
||||||
int param_getlength(const char *line, int paramnum);
|
int param_getlength(const char *line, int paramnum);
|
||||||
char param_getchar(const char *line, int paramnum);
|
char param_getchar(const char *line, int paramnum);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue