summaryrefslogtreecommitdiff
path: root/sys/include/libc.h
diff options
context:
space:
mode:
authorOri Bernstein <ori@eigenstate.org>2021-07-03 20:03:17 +0000
committerOri Bernstein <ori@eigenstate.org>2021-07-03 20:03:17 +0000
commite934530ee4512f033952e4efa80a80058607b741 (patch)
tree2bde95220e1d5e26000286a7f04b93431d8121c8 /sys/include/libc.h
parentc848ca62673689df20e7fef74d1d5180f37fcea6 (diff)
libc: add encode(2) variants for custom alphabets
There are a number of alphabets in common use for base32 and base64 encoding, such as url-safe encodings. This adds support for passing a function to encode into arbitary alphabets.
Diffstat (limited to 'sys/include/libc.h')
-rw-r--r--sys/include/libc.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/sys/include/libc.h b/sys/include/libc.h
index 4eecd028f..ecc23c343 100644
--- a/sys/include/libc.h
+++ b/sys/include/libc.h
@@ -385,10 +385,15 @@ extern double charstod(int(*)(void*), void*);
extern char* cleanname(char*);
extern int decrypt(void*, void*, int);
extern int encrypt(void*, void*, int);
+
extern int dec64(uchar*, int, char*, int);
extern int enc64(char*, int, uchar*, int);
+extern int dec64x(uchar*, int, char*, int, int (*)(int));
+extern int enc64x(char*, int, uchar*, int, int (*)(int));
extern int dec32(uchar*, int, char*, int);
extern int enc32(char*, int, uchar*, int);
+extern int dec32x(uchar*, int, char*, int, int (*)(int));
+extern int enc32x(char*, int, uchar*, int, int (*)(int));
extern int dec16(uchar*, int, char*, int);
extern int enc16(char*, int, uchar*, int);
extern int dec64chr(int);
@@ -397,6 +402,7 @@ extern int dec32chr(int);
extern int enc32chr(int);
extern int dec16chr(int);
extern int enc16chr(int);
+
extern int encodefmt(Fmt*);
extern void exits(char*);
extern double frexp(double, int*);