Add base64 encoding (own lib)

This commit is contained in:
PolynomialDivision 2017-08-16 23:42:16 +02:00
parent 7ba1f28f6b
commit b45b120773
8 changed files with 196 additions and 60 deletions

View file

@ -1,32 +1,13 @@
#ifndef __DAWN_UTILS_H
#define __DAWN_UTILS_H
#include <stdint.h>
#include <ctype.h>
#define MAC2STR(a) (a)[0], (a)[1], (a)[2], (a)[3], (a)[4], (a)[5]
#define STR2MAC(a) &(a)[0], &(a)[1], &(a)[2], &(a)[3], &(a)[4], &(a)[5]
static int hex_to_bin(char ch) {
if ((ch >= '0') && (ch <= '9')) return ch - '0';
ch = tolower(ch);
if ((ch >= 'a') && (ch <= 'f')) return ch - 'a' + 10;
return -1;
}
static int hwaddr_aton(const char *txt, uint8_t *addr) {
int i;
for (i = 0; i < ETH_ALEN; i++) {
int a, b;
a = hex_to_bin(*txt++);
if (a < 0) return -1;
b = hex_to_bin(*txt++);
if (b < 0) return -1;
*addr++ = (a << 4) | b;
if (i < 5 && *txt++ != ':') return -1;
}
return 0;
}
int hex_to_bin(char ch);
int hwaddr_aton(const char *txt, uint8_t *addr);
#endif