volta.h
changeset 2 8c88756f81b0
parent 1 823d42546cea
child 4 5701b7859a31
--- 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 <mahlon@martini.nu>
+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 <stdio.h>
 #include <stdlib.h>
 #include <stdarg.h>
+#include <errno.h>
 #include <string.h>
 #include <unistd.h>
 #include <time.h>
@@ -21,8 +51,11 @@
 
 #include <sqlite3.h>
 
+#ifdef DEBUG
+#include <google/profiler.h>
+#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