/* * webkernel.c * * A small embeddable web server. * * Author: Dario Rodriguez dario@softhome.net * This library is licensed on the terms of the GNU LGPL v2+ */ #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <string.h> #include "webkernel.h" typedef struct _wk { int dummy; } _wk; wk * wk_init(int port, sselect *ssel, void (*callback_event)(/*wk *paramweb,int connid, wk_event event, void *userptr*/), void (*callback_http)(/*wk *paramweb,int connid, wk_uri *uri, void *userptr*/), void (*callback_continuation)(/*wk *paramweb,int connid, wk_uri *uri, void *userptr*/), void *userptr) { _wk *web; if((web=malloc(sizeof(_wk)))==NULL) return(NULL); memset(web,0,sizeof(_wk)); return((wk *)web); } void wk_free(wk *paramweb) { _wk *web=(_wk *)paramweb; if(web==NULL) return; free(web),web=NULL; } wk_uri * wk_geturi(wk *paramweb, int connid) { } int wk_service(wk *paramweb) { } int wk_serve_buffer_as_file(wk *paramweb, int connid, void *data, int datalen, const char *mime) { } int wk_serve_file(wk *paramweb, int connid, char *filename, const char *mime) { } int wk_serve_error(wk *paramweb, int connid, wk_error wkerror) { } int wk_writestr(wk *paramweb, int connid, char *str) { } int wk_write(wk *paramweb, int connid, void *data, int datalen) { } int wk_close(wk *paramweb, int connid) { } char * wk_uri_getheader(wk_uri *wkuri, char *header, char *defaultvalue) { } char * wk_uri_getheaderbynum(wk_uri *wkuri, int num) { } const char * mime_getdefault(char *filename) { struct { char *ext; char *mime; } dotdot[]={{".tar.gz","application/x-tgz"}}, dot[]={ {"html","text/html"}, {"htm","text/html"}, {"shtml","text/html"}, {"css","text/css"}, {"gif","image/gif"}, {"jpeg","image/jpeg"}, {"jpg","image/jpeg"}, {"png","image/png"}, {"tiff","image/tiff"}, {"tif","image/tiff"}, {"bmp","image/x-ms-bmp"}, {"svg","image/svg+xml"}, {"svgz","image/svg+xml"}, {"js","application/x-javascript"}, {"atom","application/atom+xml"}, {"txt","text/plain"}, {"json","application/json"}, {"pdf","application/pdf"}, {"zip","application/zip"}, {"mp3","audio/mpeg"}, {"wav","audio/x-wav"}, {"ogg","audio/ogg"}, {"mp4","video/mp4"}, {"webm","video/webm"}, {"avi","video/x-msvideo"}}; #warning TODO } siobuf * wk_iobufget(wk *paramweb) { } void wk_iobuffree(wk *paramweb, int iobufnum) { }