X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/2e04b8ea0e57e411665aa6a8814ff65db0d4cd2b..d7440db1907ae920928843275dcf260934ce5acb:/h/prototypes.h diff --git a/h/prototypes.h b/h/prototypes.h index a5091591..c9dd291e 100644 --- a/h/prototypes.h +++ b/h/prototypes.h @@ -451,12 +451,16 @@ int sc_length(void); int sc_width(void); int build_form (char *, char *, int *, char *, char *, char *, char *, char *, char *); -int sendsbr (char **, int, char *, char *, struct stat *, int); +int sendsbr (char **, int, char *, char *, struct stat *, int, const char *); int SOprintf (char *, ...); int what_now (char *, int, int, char *, char *, int, struct msgs *, char *, int, char *, int); int WhatNow(int, char **); +/* Includes trailing NUL */ + +#define BASE64SIZE(x) ((((x + 2) / 3) * 4) + 1) + /* * Copy data from one file to another, converting to base64-encoding. * @@ -470,8 +474,19 @@ int WhatNow(int, char **); */ int writeBase64aux(FILE *in, FILE *out, int crlf); -int writeBase64 (unsigned char *, size_t, unsigned char *); -int writeBase64raw (unsigned char *, size_t, unsigned char *); +int writeBase64 (const unsigned char *, size_t, unsigned char *); +int writeBase64raw (const unsigned char *, size_t, unsigned char *); + +/* + * first argument: the string to be decoded + * second argument: the decoded bytes + * third argument: number of decoded bytes + * fourth argument: non-zero for text content, and for which CR's should be skipped + * fifth argument: for an MD5 digest, it can be null + */ +int decodeBase64 (const char *, const char **, size_t *, int, unsigned char *); + +void hexify (const unsigned char *, size_t, char **); /* * credentials management