compiles, but doesn't do anything. working on adding void* pointers to the two callba...
[ebb.git] / drum.h
blob045750a440b675b70228e945950a2b4ff5b3f650
1 /* Drum Web Server
2 * Copyright (c) 2007 Ry Dahl <ry.d4hl@gmail.com>
3 * All rights reserved.
4 */
6 #include <glib.h>
7 #include "tcp_server.h"
8 #include "mongrel/parser.h"
10 #ifndef drum_h
11 #define drum_h
13 typedef struct drum_server drum_server;
14 typedef struct drum_request drum_request;
16 /*** Drum Server ***/
18 typedef void (*drum_request_cb_t)( drum_server *
19 , tcp_client *client
20 , GHashTable *env
23 drum_server* drum_server_new(error_cb_t);
24 void drum_server_free(drum_server*);
25 void drum_server_stop(drum_server*);
26 void drum_server_start(drum_server*, char *host, int port, drum_request_cb_t);
28 struct drum_server {
29 tcp_server *tcp_server;
30 drum_request_cb_t request_cb;
33 /*** Drum Request ***/
35 drum_request* drum_request_new(drum_server *, tcp_client *);
36 void drum_request_free(drum_request *);
37 void drum_request_read_cb(tcp_client*, char *buffer, int length, void *data);
39 struct drum_request {
40 drum_server *server;
41 tcp_client *client;
42 http_parser *parser;
43 GHashTable *env;
44 GString *buffer;
48 #endif drum_h