diff -r 823d42546cea -r 8c88756f81b0 volta.h --- a/volta.h Sat Sep 03 14:12:06 2011 -0700 +++ b/volta.h Tue Sep 13 22:13:02 2011 -0700 @@ -1,3 +1,32 @@ +/* vim: set noet nosta sw=4 ts=4 ft=c : */ +/* +Copyright (c) 2011, Mahlon E. Smith +All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + * Neither the name of Mahlon E. Smith nor the names of his + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ANY +EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE REGENTS AND CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ #ifndef _VOLTA_H #define _VOLTA_H @@ -10,6 +39,7 @@ #include #include #include +#include #include #include #include @@ -21,8 +51,11 @@ #include +#ifdef DEBUG +#include +#endif -/* Maximum length per line from Squid */ +/* Default line size we accept from squid, longer lines (huge URLs?) malloc. */ #define LINE_BUFSIZE 2048 /* Aid debugging */ @@ -42,13 +75,23 @@ char *kvpairs; } request; -/* An "empty" request struct used for re-assignment */ +/* FIXME: An "empty" request struct used for re-assignment */ static const struct request reset_request; -/* Function prototypes */ +/* + * + * Function prototypes + * + */ + void usage( char *prg ); void debug( int level, char *file, int line, const char *fmt, ... ); -int parse( char *p ); +char *extend_line( char *line, const char *buf ); + +int db_initialize( void ); + +int accept_loop( void ); +struct request *parse( char *p ); #endif