summaryrefslogtreecommitdiff
path: root/test/decoders/http/base64.h
diff options
context:
space:
mode:
Diffstat (limited to 'test/decoders/http/base64.h')
-rw-r--r--test/decoders/http/base64.h28
1 files changed, 28 insertions, 0 deletions
diff --git a/test/decoders/http/base64.h b/test/decoders/http/base64.h
new file mode 100644
index 0000000..9bea95a
--- /dev/null
+++ b/test/decoders/http/base64.h
@@ -0,0 +1,28 @@
+#ifndef BASE64_H
+#define BASE64_H
+
+#define BASE64_ENCODE_OUT_SIZE(s) ((unsigned int)((((s) + 2) / 3) * 4 + 1))
+#define BASE64_DECODE_OUT_SIZE(s) ((unsigned int)(((s) / 4) * 3))
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+/*
+ * out is null-terminated encode string.
+ * return values is out length, exclusive terminating `\0'
+ */
+unsigned int
+base64_encode(const unsigned char *in, unsigned int inlen, char *out);
+
+/*
+ * return values is out length
+ */
+unsigned int
+base64_decode(const char *in, unsigned int inlen, unsigned char *out);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* BASE64_H */