# Web server
[Apps]

Collaboration diagram for Web server:

## Data Structures
struct | httpd_cgi_call
## Files
file | httpd-cgi.c
file | httpd-cgi.h
file | httpd.c
## Defines
#define | HTTPD_CGI_CALL(name, str, function)
| HTTPD CGI function declaration.
#define | STATE_WAITING 0
#define | STATE_OUTPUT 1
#define | ISO_nl 0x0a
#define | ISO_space 0x20
#define | ISO_bang 0x21
#define | ISO_percent 0x25
#define | ISO_period 0x2e
#define | ISO_slash 0x2f
#define | ISO_colon 0x3a
## Functions
| HTTPD_CGI_CALL (file,"file-stats", file_stats)
| HTTPD_CGI_CALL (tcp,"tcp-connections", tcp_stats)
| HTTPD_CGI_CALL (net,"net-stats", net_stats)
httpd_cgifunction | httpd_cgi (char *name)
typedef | PT_THREAD ((*httpd_cgifunction)(struct httpd_state *, char *))
void | httpd_cgi_init (void)
void | httpd_appcall (void)
void | httpd_init (void)
| Initialize the web server.

## Detailed Description

The uIP web server is a very simplistic implementation of an HTTP server. It can serve web pages and files from a read-only ROM filesystem, and provides a very small scripting language.

## Define Documentation

#define HTTPD_CGI_CALL | ( | name,
|  | str,
|  | function |  | ) |

HTTPD CGI function declaration.

Parameters:

  | name | The C variable name of the function
  | str | The string name of the function, used in the script file
  | function | A pointer to the function that implements it

This macro is used for declaring a HTTPD CGI function. This function is then added to the list of HTTPD CGI functions with the httpd_cgi_add() function.

#define ISO_bang 0x21

#define ISO_colon 0x3a

#define ISO_nl 0x0a

#define ISO_percent 0x25

#define ISO_period 0x2e

#define ISO_slash 0x2f

#define ISO_space 0x20

#define STATE_OUTPUT 1

#define STATE_WAITING 0

## Function Documentation

void httpd_appcall | ( | void |  | ) |

httpd_cgifunction httpd_cgi | ( | char * | name | ) |

HTTPD_CGI_CALL | ( | net | ,
|  | "net-stats" | ,
|  | net_stats |  |
| ) |  |  |

HTTPD_CGI_CALL | ( | tcp | ,
|  | "tcp-connections" | ,
|  | tcp_stats |  |
| ) |  |  |

HTTPD_CGI_CALL | ( | file | ,
|  | "file-stats" | ,
|  | file_stats |  |
| ) |  |  |

void httpd_cgi_init | ( | void |  | ) |

void httpd_init | ( | void |  | ) |

Initialize the web server.

This function initializes the web server and should be called at system boot-up.

Here is the call graph for this function:

typedef PT_THREAD | ( | (*)(struct httpd_state *, char *) | httpd_cgifunction | ) |