uIP 1.0 based webserver for LPC1114 + ENC28J60

Dependencies:   mbed TMP102

Committer:
ban4jp
Date:
Mon Jun 30 16:00:08 2014 +0000
Revision:
3:a2715e9c7737
Parent:
0:685224d2f66d
backported from Contiki 2.7

Who changed what in which revision?

UserRevisionLine numberNew contents of line
ban4jp 0:685224d2f66d 1 /**
ban4jp 0:685224d2f66d 2 * \addtogroup httpd
ban4jp 0:685224d2f66d 3 * @{
ban4jp 0:685224d2f66d 4 */
ban4jp 0:685224d2f66d 5
ban4jp 0:685224d2f66d 6 /**
ban4jp 0:685224d2f66d 7 * \file
ban4jp 0:685224d2f66d 8 * Web server script interface header file
ban4jp 0:685224d2f66d 9 * \author
ban4jp 0:685224d2f66d 10 * Adam Dunkels <adam@sics.se>
ban4jp 0:685224d2f66d 11 *
ban4jp 0:685224d2f66d 12 */
ban4jp 0:685224d2f66d 13
ban4jp 0:685224d2f66d 14
ban4jp 0:685224d2f66d 15
ban4jp 0:685224d2f66d 16 /*
ban4jp 0:685224d2f66d 17 * Copyright (c) 2001, Adam Dunkels.
ban4jp 0:685224d2f66d 18 * All rights reserved.
ban4jp 0:685224d2f66d 19 *
ban4jp 0:685224d2f66d 20 * Redistribution and use in source and binary forms, with or without
ban4jp 0:685224d2f66d 21 * modification, are permitted provided that the following conditions
ban4jp 0:685224d2f66d 22 * are met:
ban4jp 0:685224d2f66d 23 * 1. Redistributions of source code must retain the above copyright
ban4jp 0:685224d2f66d 24 * notice, this list of conditions and the following disclaimer.
ban4jp 0:685224d2f66d 25 * 2. Redistributions in binary form must reproduce the above copyright
ban4jp 0:685224d2f66d 26 * notice, this list of conditions and the following disclaimer in the
ban4jp 0:685224d2f66d 27 * documentation and/or other materials provided with the distribution.
ban4jp 0:685224d2f66d 28 * 3. The name of the author may not be used to endorse or promote
ban4jp 0:685224d2f66d 29 * products derived from this software without specific prior
ban4jp 0:685224d2f66d 30 * written permission.
ban4jp 0:685224d2f66d 31 *
ban4jp 0:685224d2f66d 32 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
ban4jp 0:685224d2f66d 33 * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
ban4jp 0:685224d2f66d 34 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ban4jp 0:685224d2f66d 35 * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
ban4jp 0:685224d2f66d 36 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
ban4jp 0:685224d2f66d 37 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
ban4jp 0:685224d2f66d 38 * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
ban4jp 0:685224d2f66d 39 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
ban4jp 0:685224d2f66d 40 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
ban4jp 0:685224d2f66d 41 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
ban4jp 0:685224d2f66d 42 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
ban4jp 0:685224d2f66d 43 *
ban4jp 0:685224d2f66d 44 * This file is part of the uIP TCP/IP stack.
ban4jp 0:685224d2f66d 45 *
ban4jp 0:685224d2f66d 46 * $Id: httpd-cgi.h,v 1.2 2006/06/11 21:46:38 adam Exp $
ban4jp 0:685224d2f66d 47 *
ban4jp 0:685224d2f66d 48 */
ban4jp 0:685224d2f66d 49
ban4jp 0:685224d2f66d 50 #ifndef __HTTPD_CGI_H__
ban4jp 0:685224d2f66d 51 #define __HTTPD_CGI_H__
ban4jp 0:685224d2f66d 52
ban4jp 0:685224d2f66d 53 #include "psock.h"
ban4jp 0:685224d2f66d 54 #include "httpd.h"
ban4jp 0:685224d2f66d 55
ban4jp 0:685224d2f66d 56 typedef PT_THREAD((* httpd_cgifunction)(struct httpd_state *, char *));
ban4jp 0:685224d2f66d 57
ban4jp 0:685224d2f66d 58 httpd_cgifunction httpd_cgi(char *name);
ban4jp 0:685224d2f66d 59
ban4jp 0:685224d2f66d 60 struct httpd_cgi_call {
ban4jp 0:685224d2f66d 61 const char *name;
ban4jp 0:685224d2f66d 62 const httpd_cgifunction function;
ban4jp 0:685224d2f66d 63 };
ban4jp 0:685224d2f66d 64
ban4jp 0:685224d2f66d 65 /**
ban4jp 0:685224d2f66d 66 * \brief HTTPD CGI function declaration
ban4jp 0:685224d2f66d 67 * \param name The C variable name of the function
ban4jp 0:685224d2f66d 68 * \param str The string name of the function, used in the script file
ban4jp 0:685224d2f66d 69 * \param function A pointer to the function that implements it
ban4jp 0:685224d2f66d 70 *
ban4jp 0:685224d2f66d 71 * This macro is used for declaring a HTTPD CGI
ban4jp 0:685224d2f66d 72 * function. This function is then added to the list of
ban4jp 0:685224d2f66d 73 * HTTPD CGI functions with the httpd_cgi_add() function.
ban4jp 0:685224d2f66d 74 *
ban4jp 0:685224d2f66d 75 * \hideinitializer
ban4jp 0:685224d2f66d 76 */
ban4jp 0:685224d2f66d 77 #define HTTPD_CGI_CALL(name, str, function) \
ban4jp 0:685224d2f66d 78 static PT_THREAD(function(struct httpd_state *, char *)); \
ban4jp 0:685224d2f66d 79 static const struct httpd_cgi_call name = {str, function}
ban4jp 0:685224d2f66d 80
ban4jp 0:685224d2f66d 81 void httpd_cgi_init(void);
ban4jp 0:685224d2f66d 82 #endif /* __HTTPD_CGI_H__ */
ban4jp 0:685224d2f66d 83
ban4jp 0:685224d2f66d 84 /** @} */