X-Git-Url: https://asedeno.scripts.mit.edu/gitweb/?a=blobdiff_plain;f=misc.h;h=456cda0616b419360b5f24858779dc90e3f9dd72;hb=6849c87061a75329ac64b4192c5d72bef3826492;hp=37b7311595b1a37e1ab5d87d79b747abc32219f1;hpb=b03ec21daa59ec9e9051dce6d5737e7bb935a191;p=PuTTY_svn.git diff --git a/misc.h b/misc.h index 37b73115..456cda06 100644 --- a/misc.h +++ b/misc.h @@ -3,6 +3,35 @@ #include "puttymem.h" +#include /* for va_list */ + +#ifndef FALSE +#define FALSE 0 +#endif +#ifndef TRUE +#define TRUE 1 +#endif + +char *dupstr(const char *s); +char *dupcat(const char *s1, ...); +char *dupprintf(const char *fmt, ...); +char *dupvprintf(const char *fmt, va_list ap); + +void base64_encode_atom(unsigned char *data, int n, char *out); + +struct bufchain_granule; +typedef struct bufchain_tag { + struct bufchain_granule *head, *tail; + int buffersize; /* current amount of buffered data */ +} bufchain; + +void bufchain_init(bufchain *ch); +void bufchain_clear(bufchain *ch); +int bufchain_size(bufchain *ch); +void bufchain_add(bufchain *ch, const void *data, int len); +void bufchain_prefix(bufchain *ch, void **data, int *len); +void bufchain_consume(bufchain *ch, int len); +void bufchain_fetch(bufchain *ch, void *data, int len); /* * Debugging functions. @@ -19,7 +48,7 @@ #ifdef DEBUG void dprintf(char *fmt, ...); -void debug_memdump (void *buf, int len, int L); +void debug_memdump(void *buf, int len, int L); #define debug(x) (dprintf x) #define dmemdump(buf,len) debug_memdump (buf, len, 0); #define dmemdumpl(buf,len) debug_memdump (buf, len, 1); @@ -29,10 +58,15 @@ void debug_memdump (void *buf, int len, int L); #define dmemdumpl(buf,len) #endif - #ifndef lenof #define lenof(x) ( (sizeof((x))) / (sizeof(*(x)))) #endif +#ifndef min +#define min(x,y) ( (x) < (y) ? (x) : (y) ) +#endif +#ifndef max +#define max(x,y) ( (x) > (y) ? (x) : (y) ) +#endif #endif