ban4jp -
/
uIP-1-0_webserver
uIP 1.0 based webserver for LPC1114 + ENC28J60
apps/webserver/httpd-cgi.h@3:a2715e9c7737, 2014-06-30 (annotated)
- 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?
User | Revision | Line number | New 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 | /** @} */ |