add: 'wiegand commands' - wiegand manipulation like encoding / decoding of credentials. From offical repo (@grauerfuchs)
Adapted and converted to fit this repo.
This commit is contained in:
@@ -878,3 +878,20 @@ char *strmcopy(const char *buf) {
|
||||
}
|
||||
return str;
|
||||
}
|
||||
|
||||
/**
|
||||
* Converts a hex string to component "hi2", "hi" and "lo" 32-bit integers, one nibble
|
||||
* at a time.
|
||||
*
|
||||
* Returns the number of nibbles (4 bits) entered.
|
||||
*/
|
||||
int hexstring_to_u96(uint32_t* hi2, uint32_t* hi, uint32_t* lo, const char* str) {
|
||||
int n = 0, i = 0;
|
||||
|
||||
while (sscanf(&str[i++], "%1x", &n ) == 1) {
|
||||
*hi2 = (*hi2 << 4) | (*hi >> 28);
|
||||
*hi = (*hi << 4) | (*lo >> 28);
|
||||
*lo = (*lo << 4) | (n & 0xf);
|
||||
}
|
||||
return i - 1;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user