X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/23f2b007ecac94848616420b27f0819ea559507e..c0ee509559273a5133ff73026e76c19aca65fa87:/h/prototypes.h diff --git a/h/prototypes.h b/h/prototypes.h index 782939be..a44ccbf5 100644 --- a/h/prototypes.h +++ b/h/prototypes.h @@ -48,6 +48,7 @@ char *concat (const char *, ...); int context_del (char *); char *context_find (const char *); char *context_find_by_type (const char *, const char *, const char *); +int context_find_prefix(const char *); int context_foil (char *); void context_read (void); void context_replace (char *, char *); @@ -314,6 +315,7 @@ int pidwait (pid_t, int); int pidstatus (int, FILE *, char *); char *pluspath(char *); void print_help (char *, struct swit *, int); +void print_intro (FILE *, int); void print_sw (const char *, const struct swit *, char *, FILE *); void print_version (char *); void push (void); @@ -450,12 +452,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. * @@ -469,8 +475,20 @@ 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 *, unsigned char **, size_t *, int, + unsigned char *); + +void hexify (const unsigned char *, size_t, char **); /* * credentials management