aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/lib/security/util/b64.h
diff options
context:
space:
mode:
authorGravatar Craig Tiller <ctiller@google.com>2017-03-28 09:09:16 -0700
committerGravatar Craig Tiller <ctiller@google.com>2017-03-28 09:09:16 -0700
commit5b9792a75f620011599548ca26989509b71b98cb (patch)
treeb991187151d79690969a44297e378f9d8923835c /src/core/lib/security/util/b64.h
parente8a44e064ab716424567b07b69b3b7acb744385c (diff)
parent739cecb0bc1f1ba3b2e0b390795cbaf429ec81c2 (diff)
Merge github.com:grpc/grpc into dynamic_tcp_sizing
Diffstat (limited to 'src/core/lib/security/util/b64.h')
-rw-r--r--src/core/lib/security/util/b64.h14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/core/lib/security/util/b64.h b/src/core/lib/security/util/b64.h
index d42a136f61..ef52291c6a 100644
--- a/src/core/lib/security/util/b64.h
+++ b/src/core/lib/security/util/b64.h
@@ -37,10 +37,22 @@
#include <grpc/slice.h>
/* Encodes data using base64. It is the caller's responsability to free
- the returned char * using gpr_free. Returns NULL on NULL input. */
+ the returned char * using gpr_free. Returns NULL on NULL input.
+ TODO(makdharma) : change the flags to bool from int */
char *grpc_base64_encode(const void *data, size_t data_size, int url_safe,
int multiline);
+/* estimate the upper bound on size of base64 encoded data. The actual size
+ * is guaranteed to be less than or equal to the size returned here. */
+size_t grpc_base64_estimate_encoded_size(size_t data_size, int url_safe,
+ int multiline);
+
+/* Encodes data using base64 and write it to memory pointed to by result. It is
+ * the caller's responsiblity to allocate enough memory in |result| to fit the
+ * encoded data. */
+void grpc_base64_encode_core(char *result, const void *vdata, size_t data_size,
+ int url_safe, int multiline);
+
/* Decodes data according to the base64 specification. Returns an empty
slice in case of failure. */
grpc_slice grpc_base64_decode(grpc_exec_ctx *exec_ctx, const char *b64,