diff options
Diffstat (limited to 'daemon/httpauthd.h')
-rw-r--r-- | daemon/httpauthd.h | 95 |
1 files changed, 1 insertions, 94 deletions
diff --git a/daemon/httpauthd.h b/daemon/httpauthd.h index 39bf94e..680994e 100644 --- a/daemon/httpauthd.h +++ b/daemon/httpauthd.h @@ -2,103 +2,10 @@ #ifndef __HTTPAUTHD_H__ #define __HTTPAUTHD_H__ +#include "buffer.h" #include <syslog.h> /* ----------------------------------------------------------------------- - * Memory Buffers - */ - -struct ha_buffer_internal; - -/* A buffer which owns memory */ -typedef struct ha_buffer -{ - struct ha_buffer_internal* _ft; - struct ha_buffer_internal* _dt; - char* _pp; - char* _rp; -} -ha_buffer_t; - -/* Initializes a buffer */ -void ha_bufinit(ha_buffer_t* buf); - -/* Frees all memory associated with a buffer */ -void ha_buffree(ha_buffer_t* buf); - -/* Resets a buffer for later reuse */ -void ha_bufreset(ha_buffer_t* buf); - -#define ha_buflen(buf) \ - ((buf)->_rp - (buf)->_pp) - -#define ha_bufchar(buf) \ - ((!ha_buferr(buf) && ha_buflen(buf) > 0) ? *((buf)->_pp) : '\0' ) - -#define ha_bufdata(buf) \ - ((buf)->_pp) - -#define ha_buferr(buf) \ - ((buf)->_dt == NULL) - -/* Buffer input functions ------------------------------------------------ */ - -/* Read a line from an input handle */ -int ha_bufreadline(int fd, ha_buffer_t* buf); - -/* Parse the current line */ -char* ha_bufparseline(ha_buffer_t* buf, int trim); - -/* Parse a word from the current block */ -char* ha_bufparseword(ha_buffer_t* buf, const char* delims); - -#define ha_bufskip(buf) \ - ((buf)->_pp = (buf)->_rp) - -#define ha_bufeat(buf) \ - ((!ha_buferr(buf) && ha_buflen(buf) > 0) ? ++((buf)->_pp) : (buf)->_pp) - -/* Buffer output functions ----------------------------------------------- */ - -/* Adds multiple strings together */ -char* ha_bufmcat(ha_buffer_t* buf, ...); - -/* Copies a string to the buffer */ -char* ha_bufcpy(ha_buffer_t* buf, const char* src); - -/* Copies a portion of a string to the buffer */ -char* ha_bufncpy(ha_buffer_t* buf, const char* src, size_t len); - -/* Opens up the end of the current block so it can be joined by more data */ -#define ha_bufjoin(buf) \ - ((buf)->_rp && ((buf)->_rp != (buf)->_pp) ? (buf)->_rp-- : (buf)->_rp) - -#define ha_bufcat ha_bufcpy - -/* Buffer allocation functions ------------------------------------------- */ - -/* Memory allocation */ -void* ha_bufmalloc(ha_buffer_t* buf, size_t bytes); - -void* ha_bufmemdup(ha_buffer_t* buf, const void* src, size_t bytes); - -/* Buffer Encoding Functions --------------------------------------------- */ - -/* Encode an array of bytes in base 64 */ -char* ha_bufenc64(ha_buffer_t* buf, const void* src, size_t bytes); - -/* Decode an array of bytes from base 64 */ -void* ha_bufdec64(ha_buffer_t* buf, const char* src, size_t* bytes); - -/* Encode an array of bytes in hex */ -char* ha_bufenchex(ha_buffer_t* buf, const void* src, size_t bytes); - -/* Decode an array of bytes in hex */ -void* ha_bufdechex(ha_buffer_t* buf, const char* src, size_t* bytes); - - - -/* ----------------------------------------------------------------------- * HTTP Auth Handlers */ |