diff options
author | davilla <davilla@svn> | 2010-02-15 06:11:47 +0000 |
---|---|---|
committer | davilla <davilla@svn> | 2010-02-15 06:11:47 +0000 |
commit | ea90616880c90977cd90772c18296bea1d0f858c (patch) | |
tree | 675cbb2dd7a632fe156741b2bc62c4fc7973d4fd /lib/libmicrohttpd | |
parent | beeaf9323f176d335d5f45a1bed0a7b7dfebc735 (diff) |
remove these from svn, configure will create them
git-svn-id: https://xbmc.svn.sourceforge.net/svnroot/xbmc/trunk@27826 568bbfeb-2a22-0410-94d2-cc84cf5bfa90
Diffstat (limited to 'lib/libmicrohttpd')
-rw-r--r-- | lib/libmicrohttpd/doc/microhttpd.info | 2758 | ||||
-rw-r--r-- | lib/libmicrohttpd/doc/stamp-vti | 4 | ||||
-rw-r--r-- | lib/libmicrohttpd/doc/version.texi | 4 |
3 files changed, 0 insertions, 2766 deletions
diff --git a/lib/libmicrohttpd/doc/microhttpd.info b/lib/libmicrohttpd/doc/microhttpd.info deleted file mode 100644 index 9b898c6966..0000000000 --- a/lib/libmicrohttpd/doc/microhttpd.info +++ /dev/null @@ -1,2758 +0,0 @@ -This is microhttpd.info, produced by makeinfo version 4.13 from -microhttpd.texi. - -This manual documents GNU libmicrohttpd version 0.4.5, last updated -4 December 2009. It is built upon the documentation in the header file -`microhttpd.h'. - -Copyright (C) 2007, 2008, 2009 Christian Grothoff - - Permission is granted to copy, distribute and/or modify this - document under the terms of the GNU Free Documentation License, - Version 1.3 or any later version published by the Free Software - Foundation; with no Invariant Sections, no Front-Cover Texts, and - no Back-Cover Texts. A copy of the license is included in the - section entitled "GNU Free Documentation License". - -INFO-DIR-SECTION GNU Libraries -START-INFO-DIR-ENTRY -* libmicrohttpd: (microhttpd). Embedded HTTP server library. -END-INFO-DIR-ENTRY - - -File: microhttpd.info, Node: Top, Next: microhttpd-intro, Up: (dir) - -The GNU libmicrohttpd Library -***************************** - -This manual documents GNU libmicrohttpd version 0.4.5, last updated -4 December 2009. It is built upon the documentation in the header file -`microhttpd.h'. - -Copyright (C) 2007, 2008, 2009 Christian Grothoff - - Permission is granted to copy, distribute and/or modify this - document under the terms of the GNU Free Documentation License, - Version 1.3 or any later version published by the Free Software - Foundation; with no Invariant Sections, no Front-Cover Texts, and - no Back-Cover Texts. A copy of the license is included in the - section entitled "GNU Free Documentation License". - - GNU libmicrohttpd is a GNU package. - -* Menu: - -* microhttpd-intro:: Introduction. -* microhttpd-const:: Constants. -* microhttpd-struct:: Structures type definition. -* microhttpd-cb:: Callback functions definition. -* microhttpd-init:: Starting and stopping the server. -* microhttpd-inspect:: Implementing external `select'. -* microhttpd-requests:: Handling requests. -* microhttpd-responses:: Building responses to requests. -* microhttpd-post:: Adding a `POST' processor. -* microhttpd-info:: Obtaining status information. - -Appendices - -* GNU-LGPL:: The GNU Lesser General Public License says how you - can copy and share almost all of `libmicrohttpd'. -* GNU GPL with eCos Extension:: The GNU General Public License with eCos extension says how you - can copy and share some parts of `libmicrohttpd'. -* GNU-FDL:: The GNU Free Documentation License says how you - can copy and share the documentation of `libmicrohttpd'. - -Indices - -* Concept Index:: Index of concepts and programs. -* Function and Data Index:: Index of functions, variables and data types. -* Type Index:: Index of data types. - - -File: microhttpd.info, Node: microhttpd-intro, Next: microhttpd-const, Prev: Top, Up: Top - -1 Introduction -************** - -All symbols defined in the public API start with `MHD_'. MHD is a -small HTTP daemon library. As such, it does not have any API for -logging errors (you can only enable or disable logging to stderr). -Also, it may not support all of the HTTP features directly, where -applicable, portions of HTTP may have to be handled by clients of the -library. - - The library is supposed to handle everything that it must handle -(because the API would not allow clients to do this), such as basic -connection management; however, detailed interpretations of headers -- -such as range requests -- and HTTP methods are left to clients. The -library does understand `HEAD' and will only send the headers of the -response and not the body, even if the client supplied a body. The -library also understands headers that control connection management -(specifically, `Connection: close' and `Expect: 100 continue' are -understood and handled automatically). - - MHD understands `POST' data and is able to decode certain formats -(at the moment only `application/x-www-form-urlencoded' and -`multipart/form-data') using the post processor API. The data stream -of a POST is also provided directly to the main application, so -unsupported encodings could still be processed, just not conveniently -by MHD. - - The header file defines various constants used by the HTTP protocol. -This does not mean that MHD actually interprets all of these values. -The provided constants are exported as a convenience for users of the -library. MHD does not verify that transmitted HTTP headers are part of -the standard specification; users of the library are free to define -their own extensions of the HTTP standard and use those with MHD. - - All functions are guaranteed to be completely reentrant and -thread-safe. MHD checks for allocation failures and tries to recover -gracefully (for example, by closing the connection). Additionally, -clients can specify resource limits on the overall number of -connections, number of connections per IP address and memory used per -connection to avoid resource exhaustion. - - -File: microhttpd.info, Node: microhttpd-const, Next: microhttpd-struct, Prev: microhttpd-intro, Up: Top - -2 Constants -*********** - - -- Enumeration: MHD_FLAG - Options for the MHD daemon. - - Note that if neither `MHD_USER_THREAD_PER_CONNECTION' nor - `MHD_USE_SELECT_INTERNALLY' are used, the client wants control over - the process and will call the appropriate microhttpd callbacks. - - Starting the daemon may also fail if a particular option is not - implemented or not supported on the target platform (i.e. no - support for SSL, threads or IPv6). SSL support generally depends - on options given during MHD compilation. Threaded operations - (including `MHD_USE_SELECT_INTERNALLY') are not supported on - Symbian. - - `MHD_NO_FLAG' - No options selected. - - `MHD_USE_DEBUG' - Run in debug mode. If this flag is used, the library should - print error messages and warnings to stderr. Note that MHD - also needs to be compiled with the configure option - `--enable-messages' for this run-time option to have any - effect. - - `MHD_USE_SSL' - Run in https mode (this option may not work with all - threading modes yet). - - `MHD_USE_THREAD_PER_CONNECTION' - Run using one thread per connection. - - `MHD_USE_SELECT_INTERNALLY' - Run using an internal thread doing `SELECT'. - - `MHD_USE_IPv6' - Run using the IPv6 protocol (otherwise, MHD will just support - IPv4). - - `MHD_USE_PEDANTIC_CHECKS' - Be pedantic about the protocol (as opposed to as tolerant as - possible). Specifically, at the moment, this flag causes MHD - to reject HTTP 1.1 connections without a `Host' header. This - is required by the standard, but of course in violation of - the "be as liberal as possible in what you accept" norm. It - is recommended to turn this *ON* if you are testing clients - against MHD, and *OFF* in production. - - `MHD_USE_POLL' - Use poll instead of select. This allows sockets with - descriptors `>= FD_SETSIZE'. This option only works in - conjunction with `MHD_USE_THREAD_PER_CONNECTION' (at this - point). - - - -- Enumeration: MHD_OPTION - MHD options. Passed in the varargs portion of - `MHD_start_daemon()'. - - `MHD_OPTION_END' - No more options / last option. This is used to terminate the - VARARGs list. - - `MHD_OPTION_CONNECTION_MEMORY_LIMIT' - Maximum memory size per connection (followed by a `size_t'). - The default is 32 kB (32*1024 bytes) as defined by the - internal constant `MHD_POOL_SIZE_DEFAULT'. - - `MHD_OPTION_CONNECTION_LIMIT' - Maximum number of concurrenct connections to accept (followed - by an `unsigned int'). The default is `FD_SETSIZE - 4' (the - maximum number of file descriptors supported by `select' minus - four for `stdin', `stdout', `stderr' and the server socket). - In other words, the default is as large as possible. - - `MHD_OPTION_CONNECTION_TIMEOUT' - After how many seconds of inactivity should a connection - automatically be timed out? (followed by an `unsigned int'; - use zero for no timeout). The default is zero (no timeout). - - `MHD_OPTION_NOTIFY_COMPLETED' - Register a function that should be called whenever a request - has been completed (this can be used for application-specific - clean up). Requests that have never been presented to the - application (via `MHD_AccessHandlerCallback()') will not - result in notifications. - - This option should be followed by *TWO* pointers. First a - pointer to a function of type `MHD_RequestCompletedCallback()' - and second a pointer to a closure to pass to the request - completed callback. The second pointer maybe `NULL'. - - `MHD_OPTION_PER_IP_CONNECTION_LIMIT' - Limit on the number of (concurrent) connections made to the - server from the same IP address. Can be used to prevent one - IP from taking over all of the allowed connections. If the - same IP tries to establish more than the specified number of - connections, they will be immediately rejected. The option - should be followed by an `unsigned int'. The default is - zero, which means no limit on the number of connections from - the same IP address. - - `MHD_OPTION_SOCK_ADDR' - Bind daemon to the supplied socket address. This option - should be followed by a `struct sockaddr *'. If - `MHD_USE_IPv6' is specified, the `struct sockaddr*' should - point to a `struct sockaddr_in6', otherwise to a `struct - sockaddr_in'. If this option is not specified, the daemon - will listen to incomming connections from anywhere. - - `MHD_OPTION_URI_LOG_CALLBACK' - Specify a function that should be called before parsing the - URI from the client. The specified callback function can be - used for processing the URI (including the options) before it - is parsed. The URI after parsing will no longer contain the - options, which maybe inconvenient for logging. This option - should be followed by two arguments, the first one must be of - the form - void * my_logger(void * cls, const char * uri) - where the return value will be passed as `*con_cls' in calls - to the `MHD_AccessHandlerCallback' when this request is - processed later; returning a value of NULL has no special - significance; (however, note that if you return non-NULL, you - can no longer rely on the first call to the access handler - having `NULL == *con_cls on entry' on entry) `cls' will be - set to the second argument following - MHD_OPTION_URI_LOG_CALLBACK. Finally, `uri' will be the - 0-terminated URI of the request. - - `MHD_OPTION_HTTPS_MEM_KEY' - Memory pointer to the private key to be used by the HTTPS - daemon. This option should be followed by an "const char*" - argument. This should be used in conjunction with - 'MHD_OPTION_HTTPS_MEM_CERT'. - - `MHD_OPTION_HTTPS_MEM_CERT' - Memory pointer to the certificate to be used by the HTTPS - daemon. This option should be followed by an "const char*" - argument. This should be used in conjunction with - 'MHD_OPTION_HTTPS_MEM_KEY'. - - `MHD_OPTION_CRED_TYPE' - Daemon credentials type. Either certificate or anonymous, - this option should be followed by one of the values listed in - "enum MHD_GNUTLS_CredentialsType". - - `MHD_OPTION_PROTOCOL_VERSION' - SSL/TLS protocol version. Memory pointer to a zero - (MHD_GNUTLS_PROTOCOL_END) terminated (const) array of 'enum - MHD_GNUTLS_Protocol' values representing the protocol - versions to this server should support. Unsupported requests - will be dropped by the server. - - `MHD_OPTION_CIPHER_ALGORITHM' - Memory pointer to a zero (MHD_GNUTLS_CIPHER_UNKNOWN) - terminated (const) array of 'enum MHD_GNUTLS_CipherAlgorithm' - representing the cipher priority order to which the HTTPS - daemon should adhere. - - `MHD_OPTION_EXTERNAL_LOGGER' - Use the given function for logging error messages. This - option must be followed by two arguments; the first must be a - pointer to a function of type 'void fun(void * arg, const - char * fmt, va_list ap)' and the second a pointer of type - 'void*' which will be passed as the "arg" argument to "fun". - - Note that MHD will not generate any log messages if it was - compiled without the "-enable-messages" flag being set and - the MHD_USE_DEBUG flag being set, even if this argument is - used. - - `MHD_OPTION_ARRAY' - This option can be used for initializing MHD using options - from an array. A common use for this is writing an FFI for - MHD. The actual options given are in an array of 'struct - MHD_OptionItem', so this option requires a single argument of - type 'struct MHD_OptionItem'. The array must be terminated - with an entry `MHD_OPTION_END'. - - An example for code using MHD_OPTION_ARRAY is: - struct MHD_OptionItem ops[] = { - { MHD_OPTION_CONNECTION_LIMIT, 100, NULL }, - { MHD_OPTION_CONNECTION_TIMEOUT, 10, NULL }, - { MHD_OPTION_END, 0, NULL } - }; - d = MHD_start_daemon(0, 8080, NULL, NULL, dh, NULL, - MHD_OPTION_ARRAY, ops, - MHD_OPTION_END); - For options that expect a single pointer argument, the second - member of the `struct MHD_OptionItem' is ignored. For - options that expect two pointer arguments, the first argument - must be cast to `intptr_t'. - - -- C Struct: MHD_OptionItem - Entry in an MHD_OPTION_ARRAY. See the `MHD_OPTION_ARRAY' option - argument for its use. - - The `option' member is used to specify which option is specified - in the array. The other members specify the respective argument. - - Note that for options taking only a single pointer, the - `ptr_value' member should be set. For options taking two pointer - arguments, the first pointer must be cast to `intptr_t' and both - the `value' and the `ptr_value' members should be used to pass the - two pointers. - - -- Enumeration: MHD_ValueKind - The `MHD_ValueKind' specifies the source of the key-value pairs in - the HTTP protocol. - - `MHD_RESPONSE_HEADER_KIND' - Response header. - - `MHD_HEADER_KIND' - HTTP header. - - `MHD_COOKIE_KIND' - Cookies. Note that the original HTTP header containing the - cookie(s) will still be available and intact. - - `MHD_POSTDATA_KIND' - `POST' data. This is available only if a content encoding - supported by MHD is used (currently only URL encoding), and - only if the posted content fits within the available memory - pool. Note that in that case, the upload data given to the - `MHD_AccessHandlerCallback()' will be empty (since it has - already been processed). - - `MHD_GET_ARGUMENT_KIND' - `GET' (URI) arguments. - - `MHD_HEADER_KIND' - HTTP footer (only for http 1.1 chunked encodings). - - - -- Enumeration: MHD_RequestTerminationCode - The `MHD_RequestTerminationCode' specifies reasons why a request - has been terminated (or completed). - - `MHD_REQUEST_TERMINATED_COMPLETED_OK' - We finished sending the response. - - `MHD_REQUEST_TERMINATED_WITH_ERROR' - Error handling the connection (resources exhausted, other - side closed connection, application error accepting request, - etc.) - - `MHD_REQUEST_TERMINATED_TIMEOUT_REACHED' - No activity on the connection for the number of seconds - specified using `MHD_OPTION_CONNECTION_TIMEOUT'. - - `MHD_REQUEST_TERMINATED_DAEMON_SHUTDOWN' - We had to close the session since MHD was being shut down. - - -- Enumeration: MHD_GNUTLS_Protocol - SSL/TLS Protocol types. Note that not all listed algorithms are - necessarily supported by all builds of MHD. - - `MHD_GNUTLS_PROTOCOL_END' - - `MHD_GNUTLS_PROTOCOL_SSL3' - - `MHD_GNUTLS_PROTOCOL_TLS1_0' - - `MHD_GNUTLS_PROTOCOL_TLS1_1' - - `MHD_GNUTLS_PROTOCOL_TLS1_2' - - `MHD_GNUTLS_PROTOCOL_UNKNOWN' - - -- Enumeration: MHD_GNUTLS_CipherAlgorithm - List of symmetric ciphers. Note that not all listed algorithms - are necessarily supported by all builds of MHD. - - `MHD_GNUTLS_CIPHER_UNKNOWN' - - `MHD_GNUTLS_CIPHER_NULL' - - `MHD_GNUTLS_CIPHER_ARCFOUR_128' - - `MHD_GNUTLS_CIPHER_3DES_CBC' - - `MHD_GNUTLS_CIPHER_AES_128_CBC' - - `MHD_GNUTLS_CIPHER_AES_256_CBC' - - -- Enumeration: MHD_ConnectionInfoType - Values of this enum are used to specify what information about a - connection is desired. - - `MHD_CONNECTION_INFO_CIPHER_ALGO' - What cipher algorithm is being used. Takes no extra - arguments. - - `MHD_CONNECTION_INFO_PROTOCOL,' - Takes no extra arguments. - - - -- Enumeration: MHD_DaemonInfoType - Values of this enum are used to specify what information about a - deamon is desired. - `MHD_DAEMON_INFO_KEY_SIZE' - Request information about the key size for a particular cipher - algorithm. The cipher algorithm should be passed as an extra - argument (of type 'enum MHD_GNUTLS_CipherAlgorithm'). - - `MHD_DAEMON_INFO_MAC_KEY_SIZE' - Request information about the key size for a particular cipher - algorithm. The cipher algorithm should be passed as an extra - argument (of type 'enum MHD_GNUTLS_HashAlgorithm'). - - `MHD_DAEMON_INFO_LISTEN_FD' - Request the file-descriptor number that MHD is using to - listen to the server socket. This can be useful if no port - was specified and a client needs to learn what port is - actually being used by MHD. No extra arguments should be - passed. - - - -File: microhttpd.info, Node: microhttpd-struct, Next: microhttpd-cb, Prev: microhttpd-const, Up: Top - -3 Structures type definition -**************************** - - -- C Struct: MHD_Daemon - Handle for the daemon (listening on a socket for HTTP traffic). - - -- C Struct: MHD_Connection - Handle for a connection / HTTP request. With HTTP/1.1, multiple - requests can be run over the same connection. However, MHD will - only show one request per TCP connection to the client at any - given time. - - -- C Struct: MHD_Response - Handle for a response. - - -- C Struct: MHD_PostProcessor - Handle for `POST' processing. - - -- C Union: MHD_ConnectionInfo - Information about a connection. - - -- C Union: MHD_DaemonInfo - Information about an MHD daemon. - - -File: microhttpd.info, Node: microhttpd-cb, Next: microhttpd-init, Prev: microhttpd-struct, Up: Top - -4 Callback functions definition -******************************* - - -- Function Pointer: int *MHD_AcceptPolicyCallback (void *cls, const - struct sockaddr * addr, socklen_t addrlen) - Invoked in the context of a connection to allow or deny a client to - connect. This callback return `MHD_YES' if connection is allowed, - `MHD_NO' if not. - - CLS - custom value selected at callback registration time; - - ADDR - address information from the client; - - ADDRLEN - length of the address information. - - -- Function Pointer: int *MHD_AccessHandlerCallback (void *cls, struct - MHD_Connection * connection, const char *url, const char - *method, const char *version, const char *upload_data, size_t - *upload_data_size, void **con_cls) - Invoked in the context of a connection to answer a request from the - client. This callback must call MHD functions (example: the - `MHD_Response' ones) to provide content to give back to the client - and return an HTTP status code (i.e. `200' for OK, `404', etc.). - - *note microhttpd-post::, for details on how to code this callback. - - Must return `MHD_YES' if the connection was handled successfully, - `MHD_NO' if the socket must be closed due to a serious error while - handling the request - - CLS - custom value selected at callback registration time; - - URL - the URL requested by the client; - - METHOD - the HTTP method used by the client (`GET', `PUT', `DELETE', - `POST', etc.); - - VERSION - the HTTP version string (i.e. `HTTP/1.1'); - - UPLOAD_DATA - the data being uploaded (excluding headers): - - * for a `POST' that fits into memory and that is encoded - with a supported encoding, the `POST' data will *NOT* be - given in UPLOAD_DATA and is instead available as part of - `MHD_get_connection_values()'; - - * very large `POST' data *will* be made available - incrementally in UPLOAD_DATA; - - UPLOAD_DATA_SIZE - set initially to the size of the UPLOAD_DATA provided; this - callback must update this value to the number of bytes *NOT* - processed; unless external select is used, the callback maybe - required to process at least some data. If the callback - fails to process data in multi-threaded or internal-select - mode and if the read-buffer is already at the maximum size - that MHD is willing to use for reading (about half of the - maximum amount of memory allowed for the connection), then - MHD will abort handling the connection and return an internal - server error to the client. In order to avoid this, clients - must be able to process upload data incrementally and reduce - the value of `upload_data_size'. - - CON_CLS - reference to a pointer, initially set to `NULL', that this - callback can set to some address and that will be preserved - by MHD for future calls for this request; - - since the access handler may be called many times (i.e., for a - `PUT'/`POST' operation with plenty of upload data) this allows - the application to easily associate some request-specific - state; - - if necessary, this state can be cleaned up in the global - `MHD_RequestCompletedCallback' (which can be set with the - `MHD_OPTION_NOTIFY_COMPLETED'). - - -- Function Pointer: void *MHD_RequestCompletedCallback (void *cls, - struct MHD_Connectionconnection, void **con_cls, enum - MHD_RequestTerminationCode toe) - Signature of the callback used by MHD to notify the application - about completed requests. - - CLS - custom value selected at callback registration time; - - CONNECTION - connection handle; - - CON_CLS - value as set by the last call to the - `MHD_AccessHandlerCallback'; - - TOE - reason for request termination see - `MHD_OPTION_NOTIFY_COMPLETED'. - - -- Function Pointer: int *MHD_KeyValueIterator (void *cls, enum - MHD_ValueKind kind, const char *key, const char *value) - Iterator over key-value pairs. This iterator can be used to - iterate over all of the cookies, headers, or `POST'-data fields of - a request, and also to iterate over the headers that have been - added to a response. - - Return `MHD_YES' to continue iterating, `MHD_NO' to abort the - iteration. - - -- Function Pointer: int *MHD_ContentReaderCallback (void *cls, - uint64_t pos, char *buf, int max) - Callback used by MHD in order to obtain content. The callback has - to copy at most MAX bytes of content into BUF. The total number - of bytes that has been placed into BUF should be returned. - - Note that returning zero will cause MHD to try again, either - "immediately" if in multi-threaded mode (in which case the callback - may want to do blocking operations to avoid busy waiting) or in the - next round if `MHD_run' is used. Returning zero for a daemon that - runs in internal `select()' mode is an error (since it would - result in busy waiting) and cause the program to be aborted - (`abort()'). - - CLS - custom value selected at callback registration time; - - POS - position in the datastream to access; note that if an - `MHD_Response' object is re-used, it is possible for the same - content reader to be queried multiple times for the same - data; however, if an `MHD_Response' is not re-used, MHD - guarantees that POS will be the sum of all non-negative - return values obtained from the content reader so far. - - Return `-1' on error (MHD will no longer try to read content and - instead close the connection with the client). - - -- Function Pointer: void *MHD_ContentReaderFreeCallback (void *cls) - This method is called by MHD if we are done with a content reader. - It should be used to free resources associated with the content - reader. - - -- Function Pointer: int *MHD_PostDataIterator (void *cls, enum - MHD_ValueKind kind, const char *key, const char *filename, - const char *content_type, const char *transfer_encoding, - const char *data, uint64_t off, size_t size) - Iterator over key-value pairs where the value maybe made available - in increments and/or may not be zero-terminated. Used for - processing `POST' data. - - CLS - custom value selected at callback registration time; - - KIND - type of the value; - - KEY - zero-terminated key for the value; - - FILENAME - name of the uploaded file, `NULL' if not known; - - CONTENT_TYPE - mime-type of the data, `NULL' if not known; - - TRANSFER_ENCODING - encoding of the data, `NULL' if not known; - - DATA - pointer to size bytes of data at the specified offset; - - OFF - offset of data in the overall value; - - SIZE - number of bytes in data available. - - Return `MHD_YES' to continue iterating, `MHD_NO' to abort the - iteration. - - -File: microhttpd.info, Node: microhttpd-init, Next: microhttpd-inspect, Prev: microhttpd-cb, Up: Top - -5 Starting and stopping the server -********************************** - - -- Function: void MHD_set_panic_func (MHD_PanicCallback cb, void *cls) - Set a handler for fatal errors. - - CB - function to call if MHD encounteres a fatal internal error. - If no handler was set explicitly, MHD will call `abort'. - - CLS - closure argument for cb; the other arguments are the name of - the source file, line number and a string describing the - nature of the fatal error (which can be NULL) - - -- Function: struct MHD_Daemon * MHD_start_daemon (unsigned int flags, - unsigned short port, MHD_AcceptPolicyCallback apc, void - *apc_cls, MHD_AccessHandlerCallback dh, void *dh_cls, ...) - Start a webserver on the given port. - - FLAGS - OR-ed combination of `MHD_FLAG' values; - - PORT - port to bind to; - - APC - callback to call to check which clients will be allowed to - connect; you can pass `NULL' in which case connections from - any IP will be accepted; - - APC_CLS - extra argument to APC; - - DH - default handler for all URIs; - - DH_CLS - extra argument to DH. - - Additional arguments are a list of options (type-value pairs, - terminated with `MHD_OPTION_END'). It is mandatory to use - `MHD_OPTION_END' as last argument, even when there are no - additional arguments. - - Return `NULL' on error, handle to daemon on success. - - -- Function: void MHD_stop_daemon (struct MHD_Daemon *daemon) - Shutdown an HTTP daemon. - - -- Function: int MHD_run (struct MHD_Daemon *daemon) - Run webserver operations (without blocking unless in client - callbacks). This method should be called by clients in - combination with `MHD_get_fdset()' if the client-controlled - `select()' method is used. - - Return `MHD_YES' on success, `MHD_NO' if this daemon was not - started with the right options for this call. - - -File: microhttpd.info, Node: microhttpd-inspect, Next: microhttpd-requests, Prev: microhttpd-init, Up: Top - -6 Implementing external `select' -******************************** - - -- Function: int MHD_get_fdset (struct MHD_Daemon *daemon, fd_set * - read_fd_set, fd_set * write_fd_set, fd_set * except_fd_set, - int *max_fd) - Obtain the `select()' sets for this daemon. The daemon's socket is - added to READ_FD_SET. The list of currently existent connections - is scanned and their file descriptors added to the correct set. - - *note Waiting for I/O: (libc)Waiting for I/O, for details on file - descriptor sets. - - After the call completed successfully: the variable referenced by - MAX_FD references the file descriptor with highest integer - identifier. The variable must be set to zero before invoking this - function. - - Return `MHD_YES' on success, `MHD_NO' if: the arguments are - invalid (example: `NULL' pointers); this daemon was not started - with the right options for this call. - - -- Function: int MHD_get_timeout (struct MHD_Daemon *daemon, unsigned - long long *timeout) - Obtain timeout value for select for this daemon (only needed if - connection timeout is used). The returned value is how long - `select()' should at most block, not the timeout value set for - connections. - - set to the timeout (in milliseconds). - - Return `MHD_YES' on success, `MHD_NO' if timeouts are not used (or - no connections exist that would necessiate the use of a timeout - right now). - - -File: microhttpd.info, Node: microhttpd-requests, Next: microhttpd-responses, Prev: microhttpd-inspect, Up: Top - -7 Handling requests -******************* - - -- Function: int MHD_get_connection_values (struct MHD_Connection - *connection, enum MHD_ValueKind kind, MHD_KeyValueIterator - iterator, void *iterator_cls) - Get all the headers matching KIND from the request. - - The ITERATOR callback is invoked once for each header, with - ITERATOR_CLS as first argument. Return the number of entries - iterated over; this can be less than the number of headers if, - while iterating, ITERATOR returns `MHD_NO'. - - ITERATOR can be `NULL': in this case this function just counts and - returns the number of headers. - - -- Function: int MHD_set_connection_value (struct MHD_Connection - *connection, enum MHD_ValueKind kind, const char * key, const - char * value) - This function can be used to add an entry to the HTTP headers of a - connection (so that the MHD_get_connection_values function will - return them - and the MHD PostProcessor will also see them). This - maybe required in certain situations (see Mantis #1399) where - (broken) HTTP implementations fail to supply values needed by the - post processor (or other parts of the application). - - This function MUST only be called from within the - MHD_AccessHandlerCallback (otherwise, access maybe improperly - synchronized). Furthermore, the client must guarantee that the - key and value arguments are 0-terminated strings that are NOT - freed until the connection is closed. (The easiest way to do this - is by passing only arguments to permanently allocated strings.). - - CONNECTION is the connection for which the entry for KEY of the - given KIND should be set to the given VALUE. - - The function returns `MHD_NO' if the operation could not be - performed due to insufficient memory and `MHD_YES' on success. - - -- Function: const char * MHD_lookup_connection_value (struct - MHD_Connection *connection, enum MHD_ValueKind kind, const - char *key) - Get a particular header value. If multiple values match the KIND, - return one of them (the "first", whatever that means). KEY must - reference a zero-terminated ASCII-coded string representing the - header to look for: it is compared against the headers using - `strcasecmp()', so case is ignored. Return `NULL' if no such item - was found. - - -File: microhttpd.info, Node: microhttpd-responses, Next: microhttpd-post, Prev: microhttpd-requests, Up: Top - -8 Building answers to responses -******************************* - -Response objects handling by MHD is asynchronous with respect to the -application execution flow. Instances of the `MHD_Response' structure -are not associated to a daemon and neither to a client connection: they -are managed with reference counting. - - In the simplest case: we allocate a new `MHD_Response' structure for -each response, we use it once and finally we destroy it. - - MHD allows more efficient resources usages. - - Example: we allocate a new `MHD_Response' structure for each -response *kind*, we use it every time we have to give that responce and -we finally destroy it only when the daemon shuts down. - -* Menu: - -* microhttpd-response enqueue:: Enqueuing a response. -* microhttpd-response create:: Creating a response object. -* microhttpd-response headers:: Adding headers to a response. -* microhttpd-response inspect:: Inspecting a response object. - - -File: microhttpd.info, Node: microhttpd-response enqueue, Next: microhttpd-response create, Up: microhttpd-responses - -8.1 Enqueuing a response -======================== - - -- Function: int MHD_queue_response (struct MHD_Connection - *connection, unsigned int status_code, struct MHD_Response - *response) - Queue a response to be transmitted to the client as soon as - possible but only after MHD_AccessHandlerCallback returns. This - function checks that it is legal to queue a response at this time - for the given connection. It also increments the internal - reference counter for the response object (the counter will be - decremented automatically once the response has been transmitted). - - CONNECTION - the connection identifying the client; - - STATUS_CODE - HTTP status code (i.e. `200' for OK); - - RESPONSE - response to transmit. - - Return `MHD_YES' on success or if message has been queued. Return - `MHD_NO': if arguments are invalid (example: `NULL' pointer); on - error (i.e. reply already sent). - - -- Function: void MHD_destroy_response (struct MHD_Response *response) - Destroy a response object and associated resources (decrement the - reference counter). Note that MHD may keep some of the resources - around if the response is still in the queue for some clients, so - the memory may not necessarily be freed immediatley. - - An explanation of reference counting(1): - - 1. a `MHD_Response' object is allocated: - - struct MHD_Response * response = MHD_create_response_from_data(...); - /* here: reference counter = 1 */ - - 2. the `MHD_Response' object is enqueued in a `MHD_Connection': - - MHD_queue_response(connection, , response); - /* here: reference counter = 2 */ - - 3. the creator of the response object discharges responsibility for - it: - - MHD_destroy_response(response); - /* here: reference counter = 1 */ - - 4. the daemon handles the connection sending the response's data to - the client then decrements the reference counter by calling - `MHD_destroy_response()': the counter's value drops to zero and - the `MHD_Response' object is released. - - ---------- Footnotes ---------- - - (1) Note to readers acquainted to the Tcl API: reference counting on -`MHD_Connection' structures is handled in the same way as Tcl handles -`Tcl_Obj' structures through `Tcl_IncrRefCount()' and -`Tcl_DecrRefCount()'. - - -File: microhttpd.info, Node: microhttpd-response create, Next: microhttpd-response headers, Prev: microhttpd-response enqueue, Up: microhttpd-responses - -8.2 Creating response objects -============================= - - -- Function: struct MHD_Response * MHD_create_response_from_callback - (uint64_t size, size_t block_size, MHD_ContentReaderCallback - crc, void *crc_cls, MHD_ContentReaderFreeCallback crfc) - Create a response object. The response object can be extended with - header information and then it can be used any number of times. - - SIZE - size of the data portion of the response, `-1' for unknown; - - BLOCK_SIZE - preferred block size for querying CRC (advisory only, MHD may - still call CRC using smaller chunks); this is essentially the - buffer size used for IO, clients should pick a value that is - appropriate for IO and memory performance requirements; - - CRC - callback to use to obtain response data; - - CRC_CLS - extra argument to CRC; - - CRFC - callback to call to free CRC_CLS resources. - - Return `NULL' on error (i.e. invalid arguments, out of memory). - - -- Function: struct MHD_Response * MHD_create_response_from_data - (size_t size, void *data, int must_free, int must_copy) - Create a response object. The response object can be extended with - header information and then it can be used any number of times. - - SIZE - size of the data portion of the response; - - DATA - the data itself; - - MUST_FREE - if true: MHD should free data when done; - - MUST_COPY - if true: MHD allocates a block of memory and use it to make a - copy of DATA embedded in the returned `MHD_Response' - structure; handling of the embedded memory is responsibility - of MHD; DATA can be released anytime after this call returns. - - Return `NULL' on error (i.e. invalid arguments, out of memory). - - Example: create a response from a statically allocated string: - - const char * data = "<html><body><p>Error!</p></body></html>"; - - struct MHD_Connection * connection = ...; - struct MHD_Response * response; - - response = MHD_create_response_from_data(strlen(data), data, - MHD_NO, MHD_NO); - MHD_queue_response(connection, 404, response); - MHD_destroy_response(response); - - -File: microhttpd.info, Node: microhttpd-response headers, Next: microhttpd-response inspect, Prev: microhttpd-response create, Up: microhttpd-responses - -8.3 Adding headers to a response -================================ - - -- Function: int MHD_add_response_header (struct MHD_Response - *response, const char *header, const char *content) - Add a header line to the response. The strings referenced by - HEADER and CONTENT must be zero-terminated and they are duplicated - into memory blocks embedded in RESPONSE. - - Notice that the strings must not hold newlines, carriage returns - or tab chars. - - Return `MHD_NO' on error (i.e. invalid header or content format or - memory allocation error). - - -- Function: int MHD_del_response_header (struct MHD_Response - *response, const char *header, const char *content) - Delete a header line from the response. Return `MHD_NO' on error - (arguments are invalid or no such header known). - - -File: microhttpd.info, Node: microhttpd-response inspect, Prev: microhttpd-response headers, Up: microhttpd-responses - -8.4 Inspecting a response object -================================ - - -- Function: int MHD_get_response_headers (struct MHD_Response - *response, MHD_KeyValueIterator iterator, void *iterator_cls) - Get all of the headers added to a response. - - Invoke the ITERATOR callback for each header in the response, - using ITERATOR_CLS as first argument. Return number of entries - iterated over. ITERATOR can be `NULL': in this case the function - just counts headers. - - ITERATOR should not modify the its key and value arguments, unless - we know what we are doing. - - -- Function: const char * MHD_get_response_header (struct MHD_Response - *response, const char *key) - Find and return a pointer to the value of a particular header from - the response. KEY must reference a zero-terminated string - representing the header to look for. The search is case sensitive. - Return `NULL' if header does not exist or KEY is `NULL'. - - We should not modify the value, unless we know what we are doing. - - -File: microhttpd.info, Node: microhttpd-post, Next: microhttpd-info, Prev: microhttpd-responses, Up: Top - -9 Adding a `POST' processor -*************************** - -* Menu: - -* microhttpd-post api:: Programming interface for the - `POST' processor. - -MHD provides the post procesor API to make it easier for applications to -parse the data of a client's `POST' request: the -`MHD_AccessHandlerCallback' will be invoked multiple times to process -data as it arrives; at each invocation a new chunk of data must be -processed. The arguments UPLOAD_DATA and UPLOAD_DATA_SIZE are used to -reference the chunk of data. - - When `MHD_AccessHandlerCallback' is invoked for a new connection: -its `*CON_CLS' argument is set to `NULL'. When `POST' data comes in the -upload buffer it is *mandatory* to use the CON_CLS to store a reference -to per-connection data. The fact that the pointer was initially `NULL' -can be used to detect that this is a new request. - - One method to detect that a new connection was established is to set -`*con_cls' to anunused integer: - - int - access_handler (void *cls, - struct MHD_Connection * connection, - const char *url, - const char *method, const char *version, - const char *upload_data, size_t *upload_data_size, - void **con_cls) - { - static int old_connection_marker; - int new_connection = (MYNULL == *con_cls); - - if (new_connection) - { - /* new connection with POST */ - *con_cls = &old_connection_marker; - } - - ... - } - -In contrast to the previous example, for `POST' requests in particular, -it is more common to use the value of `*con_cls' to keep track of -actual state used during processing, such as the post processor (or a -struct containing a post processor): - - int - access_handler (void *cls, - struct MHD_Connection * connection, - const char *url, - const char *method, const char *version, - const char *upload_data, size_t *upload_data_size, - void **con_cls) - { - struct MHD_PostProcessor * pp = *con_cls; - - if (pp == NULL) - { - pp = MHD_create_post_processor(connection, ...); - *con_cls = pp; - return MHD_YES; - } - if (*upload_data_size) - { - MHD_post_process(pp, upload_data, *upload_data_size); - *upload_data_size = 0; - return MHD_YES; - } - else - { - MHD_destroy_post_processor(pp); - return MHD_queue_response(...); - } - } - - Note that the callback from `MHD_OPTION_NOTIFY_COMPLETED' should be -used to destroy the post processor. This cannot be done inside of the -access handler since the connection may not always terminate normally. - - -File: microhttpd.info, Node: microhttpd-post api, Up: microhttpd-post - -9.1 Programming interface for the `POST' processor -================================================== - - -- Function: struct MHD_PostProcessor * MHD_create_post_processor - (struct MHD_Connection *connection, size_t buffer_size, - MHD_PostDataIterator iterator, void *iterator_cls) - Create a PostProcessor. A PostProcessor can be used to - (incrementally) parse the data portion of a `POST' request. - - CONNECTION - the connection on which the `POST' is happening (used to - determine the `POST' format); - - BUFFER_SIZE - maximum number of bytes to use for internal buffering (used - only for the parsing, specifically the parsing of the keys). - A tiny value (256-1024) should be sufficient; do *NOT* use a - value smaller than 256; - - ITERATOR - iterator to be called with the parsed data; must *NOT* be - `NULL'; - - ITERATOR_CLS - custom value to be used as first argument to ITERATOR. - - Return `NULL' on error (out of memory, unsupported encoding), - otherwise a PP handle. - - -- Function: int MHD_post_process (struct MHD_PostProcessor *pp, const - char *post_data, size_t post_data_len) - Parse and process `POST' data. Call this function when `POST' - data is available (usually during an `MHD_AccessHandlerCallback') - with the UPLOAD_DATA and UPLOAD_DATA_SIZE. Whenever possible, - this will then cause calls to the - `MHD_IncrementalKeyValueIterator'. - - PP - the post processor; - - POST_DATA - POST_DATA_LEN bytes of `POST' data; - - POST_DATA_LEN - length of POST_DATA. - - Return `MHD_YES' on success, `MHD_NO' on error (out-of-memory, - iterator aborted, parse error). - - -- Function: int MHD_destroy_post_processor (struct MHD_PostProcessor - *pp) - Release PostProcessor resources. After this function is being - called, the PostProcessor is guaranteed to no longer call its - iterator. There is no special call to the iterator to indicate - the end of the post processing stream. After destroying the - PostProcessor, the programmer should perform any necessary work to - complete the processing of the iterator. - - Return `MHD_YES' if processing completed nicely, `MHD_NO' if there - were spurious characters or formatting problems with the post - request. It is common to ignore the return value of this function. - - - -File: microhttpd.info, Node: microhttpd-info, Next: GNU-LGPL, Prev: microhttpd-post, Up: Top - -10 Obtaining status information. -******************************** - -* Menu: - -* microhttpd-info daemon:: State information about an MHD daemon -* microhttpd-info conn:: State information about a connection - - -File: microhttpd.info, Node: microhttpd-info daemon, Next: microhttpd-info conn, Up: microhttpd-info - -10.1 Obtaining state information about an MHD daemon -==================================================== - - -- Function: const union MHD_DaemonInfo * MHD_get_daemon_info (struct - MHD_Daemon *daemon, enum MHD_DaemonInfoType infoType, ...) - Obtain information about the given daemon. This function is - currently not fully implemented. - - DAEMON - the daemon about which information is desired; - - INFOTYPE - type of information that is desired - - ... - additional arguments about the desired information (depending - on infoType) - - Returns a union with the respective member (depending on infoType) - set to the desired information), or NULL in case the desired - information is not available or applicable. - - -File: microhttpd.info, Node: microhttpd-info conn, Prev: microhttpd-info daemon, Up: microhttpd-info - -10.2 Obtaining state information about a connection -=================================================== - - -- Function: const union MHD_ConnectionInfo * MHD_get_connection_info - (struct MHD_Connection *daemon, enum MHD_ConnectionInfoType - infoType, ...) - Obtain information about the given connection. - - CONNECTION - the connection about which information is desired; - - INFOTYPE - type of information that is desired - - ... - additional arguments about the desired information (depending - on infoType) - - Returns a union with the respective member (depending on infoType) - set to the desired information), or NULL in case the desired - information is not available or applicable. - - -File: microhttpd.info, Node: GNU-LGPL, Next: GNU GPL with eCos Extension, Prev: microhttpd-info, Up: Top - -GNU-LGPL -******** - - Version 2.1, February 1999 - - Copyright (C) 1991, 1999 Free Software Foundation, Inc. - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA - - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - [This is the first released version of the Lesser GPL. It also counts - as the successor of the GNU Library Public License, version 2, hence the - version number 2.1.] - -Preamble --------- - -The licenses for most software are designed to take away your freedom -to share and change it. By contrast, the GNU General Public Licenses -are intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. - - This license, the Lesser General Public License, applies to some -specially designated software--typically libraries--of the Free -Software Foundation and other authors who decide to use it. You can use -it too, but we suggest you first think carefully about whether this -license or the ordinary General Public License is the better strategy to -use in any particular case, based on the explanations below. - - When we speak of free software, we are referring to freedom of use, -not price. Our General Public Licenses are designed to make sure that -you have the freedom to distribute copies of free software (and charge -for this service if you wish); that you receive source code or can get -it if you want it; that you can change the software and use pieces of it -in new free programs; and that you are informed that you can do these -things. - - To protect your rights, we need to make restrictions that forbid -distributors to deny you these rights or to ask you to surrender these -rights. These restrictions translate to certain responsibilities for -you if you distribute copies of the library or if you modify it. - - For example, if you distribute copies of the library, whether gratis -or for a fee, you must give the recipients all the rights that we gave -you. You must make sure that they, too, receive or can get the source -code. If you link other code with the library, you must provide -complete object files to the recipients, so that they can relink them -with the library after making changes to the library and recompiling -it. And you must show them these terms so they know their rights. - - We protect your rights with a two-step method: (1) we copyright the -library, and (2) we offer you this license, which gives you legal -permission to copy, distribute and/or modify the library. - - To protect each distributor, we want to make it very clear that -there is no warranty for the free library. Also, if the library is -modified by someone else and passed on, the recipients should know that -what they have is not the original version, so that the original -author's reputation will not be affected by problems that might be -introduced by others. - - Finally, software patents pose a constant threat to the existence of -any free program. We wish to make sure that a company cannot -effectively restrict the users of a free program by obtaining a -restrictive license from a patent holder. Therefore, we insist that -any patent license obtained for a version of the library must be -consistent with the full freedom of use specified in this license. - - Most GNU software, including some libraries, is covered by the -ordinary GNU General Public License. This license, the GNU Lesser -General Public License, applies to certain designated libraries, and is -quite different from the ordinary General Public License. We use this -license for certain libraries in order to permit linking those -libraries into non-free programs. - - When a program is linked with a library, whether statically or using -a shared library, the combination of the two is legally speaking a -combined work, a derivative of the original library. The ordinary -General Public License therefore permits such linking only if the -entire combination fits its criteria of freedom. The Lesser General -Public License permits more lax criteria for linking other code with -the library. - - We call this license the "Lesser" General Public License because it -does _Less_ to protect the user's freedom than the ordinary General -Public License. It also provides other free software developers Less -of an advantage over competing non-free programs. These disadvantages -are the reason we use the ordinary General Public License for many -libraries. However, the Lesser license provides advantages in certain -special circumstances. - - For example, on rare occasions, there may be a special need to -encourage the widest possible use of a certain library, so that it -becomes a de-facto standard. To achieve this, non-free programs must be -allowed to use the library. A more frequent case is that a free -library does the same job as widely used non-free libraries. In this -case, there is little to gain by limiting the free library to free -software only, so we use the Lesser General Public License. - - In other cases, permission to use a particular library in non-free -programs enables a greater number of people to use a large body of free -software. For example, permission to use the GNU C Library in non-free -programs enables many more people to use the whole GNU operating -system, as well as its variant, the GNU/Linux operating system. - - Although the Lesser General Public License is Less protective of the -users' freedom, it does ensure that the user of a program that is -linked with the Library has the freedom and the wherewithal to run that -program using a modified version of the Library. - - The precise terms and conditions for copying, distribution and -modification follow. Pay close attention to the difference between a -"work based on the library" and a "work that uses the library". The -former contains code derived from the library, whereas the latter must -be combined with the library in order to run. - -TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION ---------------------------------------------------------------- - - 0. This License Agreement applies to any software library or other - program which contains a notice placed by the copyright holder or - other authorized party saying it may be distributed under the - terms of this Lesser General Public License (also called "this - License"). Each licensee is addressed as "you". - - A "library" means a collection of software functions and/or data - prepared so as to be conveniently linked with application programs - (which use some of those functions and data) to form executables. - - The "Library", below, refers to any such software library or work - which has been distributed under these terms. A "work based on the - Library" means either the Library or any derivative work under - copyright law: that is to say, a work containing the Library or a - portion of it, either verbatim or with modifications and/or - translated straightforwardly into another language. (Hereinafter, - translation is included without limitation in the term - "modification".) - - "Source code" for a work means the preferred form of the work for - making modifications to it. For a library, complete source code - means all the source code for all modules it contains, plus any - associated interface definition files, plus the scripts used to - control compilation and installation of the library. - - Activities other than copying, distribution and modification are - not covered by this License; they are outside its scope. The act - of running a program using the Library is not restricted, and - output from such a program is covered only if its contents - constitute a work based on the Library (independent of the use of - the Library in a tool for writing it). Whether that is true - depends on what the Library does and what the program that uses - the Library does. - - 1. You may copy and distribute verbatim copies of the Library's - complete source code as you receive it, in any medium, provided - that you conspicuously and appropriately publish on each copy an - appropriate copyright notice and disclaimer of warranty; keep - intact all the notices that refer to this License and to the - absence of any warranty; and distribute a copy of this License - along with the Library. - - You may charge a fee for the physical act of transferring a copy, - and you may at your option offer warranty protection in exchange - for a fee. - - 2. You may modify your copy or copies of the Library or any portion - of it, thus forming a work based on the Library, and copy and - distribute such modifications or work under the terms of Section 1 - above, provided that you also meet all of these conditions: - - a. The modified work must itself be a software library. - - b. You must cause the files modified to carry prominent notices - stating that you changed the files and the date of any change. - - c. You must cause the whole of the work to be licensed at no - charge to all third parties under the terms of this License. - - d. If a facility in the modified Library refers to a function or - a table of data to be supplied by an application program that - uses the facility, other than as an argument passed when the - facility is invoked, then you must make a good faith effort - to ensure that, in the event an application does not supply - such function or table, the facility still operates, and - performs whatever part of its purpose remains meaningful. - - (For example, a function in a library to compute square roots - has a purpose that is entirely well-defined independent of the - application. Therefore, Subsection 2d requires that any - application-supplied function or table used by this function - must be optional: if the application does not supply it, the - square root function must still compute square roots.) - - These requirements apply to the modified work as a whole. If - identifiable sections of that work are not derived from the - Library, and can be reasonably considered independent and separate - works in themselves, then this License, and its terms, do not - apply to those sections when you distribute them as separate - works. But when you distribute the same sections as part of a - whole which is a work based on the Library, the distribution of - the whole must be on the terms of this License, whose permissions - for other licensees extend to the entire whole, and thus to each - and every part regardless of who wrote it. - - Thus, it is not the intent of this section to claim rights or - contest your rights to work written entirely by you; rather, the - intent is to exercise the right to control the distribution of - derivative or collective works based on the Library. - - In addition, mere aggregation of another work not based on the - Library with the Library (or with a work based on the Library) on - a volume of a storage or distribution medium does not bring the - other work under the scope of this License. - - 3. You may opt to apply the terms of the ordinary GNU General Public - License instead of this License to a given copy of the Library. - To do this, you must alter all the notices that refer to this - License, so that they refer to the ordinary GNU General Public - License, version 2, instead of to this License. (If a newer - version than version 2 of the ordinary GNU General Public License - has appeared, then you can specify that version instead if you - wish.) Do not make any other change in these notices. - - Once this change is made in a given copy, it is irreversible for - that copy, so the ordinary GNU General Public License applies to - all subsequent copies and derivative works made from that copy. - - This option is useful when you wish to copy part of the code of - the Library into a program that is not a library. - - 4. You may copy and distribute the Library (or a portion or - derivative of it, under Section 2) in object code or executable - form under the terms of Sections 1 and 2 above provided that you - accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software - interchange. - - If distribution of object code is made by offering access to copy - from a designated place, then offering equivalent access to copy - the source code from the same place satisfies the requirement to - distribute the source code, even though third parties are not - compelled to copy the source along with the object code. - - 5. A program that contains no derivative of any portion of the - Library, but is designed to work with the Library by being - compiled or linked with it, is called a "work that uses the - Library". Such a work, in isolation, is not a derivative work of - the Library, and therefore falls outside the scope of this License. - - However, linking a "work that uses the Library" with the Library - creates an executable that is a derivative of the Library (because - it contains portions of the Library), rather than a "work that - uses the library". The executable is therefore covered by this - License. Section 6 states terms for distribution of such - executables. - - When a "work that uses the Library" uses material from a header - file that is part of the Library, the object code for the work may - be a derivative work of the Library even though the source code is - not. Whether this is true is especially significant if the work - can be linked without the Library, or if the work is itself a - library. The threshold for this to be true is not precisely - defined by law. - - If such an object file uses only numerical parameters, data - structure layouts and accessors, and small macros and small inline - functions (ten lines or less in length), then the use of the object - file is unrestricted, regardless of whether it is legally a - derivative work. (Executables containing this object code plus - portions of the Library will still fall under Section 6.) - - Otherwise, if the work is a derivative of the Library, you may - distribute the object code for the work under the terms of Section - 6. Any executables containing that work also fall under Section 6, - whether or not they are linked directly with the Library itself. - - 6. As an exception to the Sections above, you may also combine or - link a "work that uses the Library" with the Library to produce a - work containing portions of the Library, and distribute that work - under terms of your choice, provided that the terms permit - modification of the work for the customer's own use and reverse - engineering for debugging such modifications. - - You must give prominent notice with each copy of the work that the - Library is used in it and that the Library and its use are covered - by this License. You must supply a copy of this License. If the - work during execution displays copyright notices, you must include - the copyright notice for the Library among them, as well as a - reference directing the user to the copy of this License. Also, - you must do one of these things: - - a. Accompany the work with the complete corresponding - machine-readable source code for the Library including - whatever changes were used in the work (which must be - distributed under Sections 1 and 2 above); and, if the work - is an executable linked with the Library, with the complete - machine-readable "work that uses the Library", as object code - and/or source code, so that the user can modify the Library - and then relink to produce a modified executable containing - the modified Library. (It is understood that the user who - changes the contents of definitions files in the Library will - not necessarily be able to recompile the application to use - the modified definitions.) - - b. Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (1) uses at run - time a copy of the library already present on the user's - computer system, rather than copying library functions into - the executable, and (2) will operate properly with a modified - version of the library, if the user installs one, as long as - the modified version is interface-compatible with the version - that the work was made with. - - c. Accompany the work with a written offer, valid for at least - three years, to give the same user the materials specified in - Subsection 6a, above, for a charge no more than the cost of - performing this distribution. - - d. If distribution of the work is made by offering access to copy - from a designated place, offer equivalent access to copy the - above specified materials from the same place. - - e. Verify that the user has already received a copy of these - materials or that you have already sent this user a copy. - - For an executable, the required form of the "work that uses the - Library" must include any data and utility programs needed for - reproducing the executable from it. However, as a special - exception, the materials to be distributed need not include - anything that is normally distributed (in either source or binary - form) with the major components (compiler, kernel, and so on) of - the operating system on which the executable runs, unless that - component itself accompanies the executable. - - It may happen that this requirement contradicts the license - restrictions of other proprietary libraries that do not normally - accompany the operating system. Such a contradiction means you - cannot use both them and the Library together in an executable - that you distribute. - - 7. You may place library facilities that are a work based on the - Library side-by-side in a single library together with other - library facilities not covered by this License, and distribute - such a combined library, provided that the separate distribution - of the work based on the Library and of the other library - facilities is otherwise permitted, and provided that you do these - two things: - - a. Accompany the combined library with a copy of the same work - based on the Library, uncombined with any other library - facilities. This must be distributed under the terms of the - Sections above. - - b. Give prominent notice with the combined library of the fact - that part of it is a work based on the Library, and explaining - where to find the accompanying uncombined form of the same - work. - - 8. You may not copy, modify, sublicense, link with, or distribute the - Library except as expressly provided under this License. Any - attempt otherwise to copy, modify, sublicense, link with, or - distribute the Library is void, and will automatically terminate - your rights under this License. However, parties who have - received copies, or rights, from you under this License will not - have their licenses terminated so long as such parties remain in - full compliance. - - 9. You are not required to accept this License, since you have not - signed it. However, nothing else grants you permission to modify - or distribute the Library or its derivative works. These actions - are prohibited by law if you do not accept this License. - Therefore, by modifying or distributing the Library (or any work - based on the Library), you indicate your acceptance of this - License to do so, and all its terms and conditions for copying, - distributing or modifying the Library or works based on it. - - 10. Each time you redistribute the Library (or any work based on the - Library), the recipient automatically receives a license from the - original licensor to copy, distribute, link with or modify the - Library subject to these terms and conditions. You may not impose - any further restrictions on the recipients' exercise of the rights - granted herein. You are not responsible for enforcing compliance - by third parties with this License. - - 11. If, as a consequence of a court judgment or allegation of patent - infringement or for any other reason (not limited to patent - issues), conditions are imposed on you (whether by court order, - agreement or otherwise) that contradict the conditions of this - License, they do not excuse you from the conditions of this - License. If you cannot distribute so as to satisfy simultaneously - your obligations under this License and any other pertinent - obligations, then as a consequence you may not distribute the - Library at all. For example, if a patent license would not permit - royalty-free redistribution of the Library by all those who - receive copies directly or indirectly through you, then the only - way you could satisfy both it and this License would be to refrain - entirely from distribution of the Library. - - If any portion of this section is held invalid or unenforceable - under any particular circumstance, the balance of the section is - intended to apply, and the section as a whole is intended to apply - in other circumstances. - - It is not the purpose of this section to induce you to infringe any - patents or other property right claims or to contest validity of - any such claims; this section has the sole purpose of protecting - the integrity of the free software distribution system which is - implemented by public license practices. Many people have made - generous contributions to the wide range of software distributed - through that system in reliance on consistent application of that - system; it is up to the author/donor to decide if he or she is - willing to distribute software through any other system and a - licensee cannot impose that choice. - - This section is intended to make thoroughly clear what is believed - to be a consequence of the rest of this License. - - 12. If the distribution and/or use of the Library is restricted in - certain countries either by patents or by copyrighted interfaces, - the original copyright holder who places the Library under this - License may add an explicit geographical distribution limitation - excluding those countries, so that distribution is permitted only - in or among countries not thus excluded. In such case, this - License incorporates the limitation as if written in the body of - this License. - - 13. The Free Software Foundation may publish revised and/or new - versions of the Lesser General Public License from time to time. - Such new versions will be similar in spirit to the present version, - but may differ in detail to address new problems or concerns. - - Each version is given a distinguishing version number. If the - Library specifies a version number of this License which applies - to it and "any later version", you have the option of following - the terms and conditions either of that version or of any later - version published by the Free Software Foundation. If the Library - does not specify a license version number, you may choose any - version ever published by the Free Software Foundation. - - 14. If you wish to incorporate parts of the Library into other free - programs whose distribution conditions are incompatible with these, - write to the author to ask for permission. For software which is - copyrighted by the Free Software Foundation, write to the Free - Software Foundation; we sometimes make exceptions for this. Our - decision will be guided by the two goals of preserving the free - status of all derivatives of our free software and of promoting - the sharing and reuse of software generally. - - NO WARRANTY - - 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO - WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE - LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT - HOLDERS AND/OR OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT - WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT - NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE - QUALITY AND PERFORMANCE OF THE LIBRARY IS WITH YOU. SHOULD THE - LIBRARY PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY - SERVICING, REPAIR OR CORRECTION. - - 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN - WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY - MODIFY AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE - LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, - INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR - INABILITY TO USE THE LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF - DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU - OR THIRD PARTIES OR A FAILURE OF THE LIBRARY TO OPERATE WITH ANY - OTHER SOFTWARE), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN - ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - -How to Apply These Terms to Your New Libraries ----------------------------------------------- - -If you develop a new library, and you want it to be of the greatest -possible use to the public, we recommend making it free software that -everyone can redistribute and change. You can do so by permitting -redistribution under these terms (or, alternatively, under the terms of -the ordinary General Public License). - - To apply these terms, attach the following notices to the library. -It is safest to attach them to the start of each source file to most -effectively convey the exclusion of warranty; and each file should have -at least the "copyright" line and a pointer to where the full notice is -found. - - ONE LINE TO GIVE THE LIBRARY'S NAME AND AN IDEA OF WHAT IT DOES. - Copyright (C) YEAR NAME OF AUTHOR - - This library is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1 of the License, or (at - your option) any later version. - - This library is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, - USA. - - Also add information on how to contact you by electronic and paper -mail. - - You should also get your employer (if you work as a programmer) or -your school, if any, to sign a "copyright disclaimer" for the library, -if necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the library - `Frob' (a library for tweaking knobs) written by James Random Hacker. - - SIGNATURE OF TY COON, 1 April 1990 - Ty Coon, President of Vice - - That's all there is to it! - - -File: microhttpd.info, Node: GNU GPL with eCos Extension, Next: GNU-FDL, Prev: GNU-LGPL, Up: Top - -GNU GPL with eCos Extension -*************************** - - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA - - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - -Preamble --------- - -The licenses for most software are designed to take away your freedom -to share and change it. By contrast, the GNU General Public License is -intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Library General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it in -new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, -and (2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - 1. This License applies to any program or other work which contains a - notice placed by the copyright holder saying it may be distributed - under the terms of this General Public License. The "Program", - below, refers to any such program or work, and a "work based on - the Program" means either the Program or any derivative work under - copyright law: that is to say, a work containing the Program or a - portion of it, either verbatim or with modifications and/or - translated into another language. (Hereinafter, translation is - included without limitation in the term "modification".) Each - licensee is addressed as "you". - - Activities other than copying, distribution and modification are - not covered by this License; they are outside its scope. The act - of running the Program is not restricted, and the output from the - Program is covered only if its contents constitute a work based on - the Program (independent of having been made by running the - Program). Whether that is true depends on what the Program does. - - 2. You may copy and distribute verbatim copies of the Program's - source code as you receive it, in any medium, provided that you - conspicuously and appropriately publish on each copy an appropriate - copyright notice and disclaimer of warranty; keep intact all the - notices that refer to this License and to the absence of any - warranty; and give any other recipients of the Program a copy of - this License along with the Program. - - You may charge a fee for the physical act of transferring a copy, - and you may at your option offer warranty protection in exchange - for a fee. - - 3. You may modify your copy or copies of the Program or any portion - of it, thus forming a work based on the Program, and copy and - distribute such modifications or work under the terms of Section 1 - above, provided that you also meet all of these conditions: - - a. You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b. You must cause any work that you distribute or publish, that - in whole or in part contains or is derived from the Program - or any part thereof, to be licensed as a whole at no charge - to all third parties under the terms of this License. - - c. If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display - an announcement including an appropriate copyright notice and - a notice that there is no warranty (or else, saying that you - provide a warranty) and that users may redistribute the - program under these conditions, and telling the user how to - view a copy of this License. (Exception: if the Program - itself is interactive but does not normally print such an - announcement, your work based on the Program is not required - to print an announcement.) - - These requirements apply to the modified work as a whole. If - identifiable sections of that work are not derived from the - Program, and can be reasonably considered independent and separate - works in themselves, then this License, and its terms, do not - apply to those sections when you distribute them as separate - works. But when you distribute the same sections as part of a - whole which is a work based on the Program, the distribution of - the whole must be on the terms of this License, whose permissions - for other licensees extend to the entire whole, and thus to each - and every part regardless of who wrote it. - - Thus, it is not the intent of this section to claim rights or - contest your rights to work written entirely by you; rather, the - intent is to exercise the right to control the distribution of - derivative or collective works based on the Program. - - In addition, mere aggregation of another work not based on the - Program with the Program (or with a work based on the Program) on - a volume of a storage or distribution medium does not bring the - other work under the scope of this License. - - 4. You may copy and distribute the Program (or a work based on it, - under Section 2) in object code or executable form under the terms - of Sections 1 and 2 above provided that you also do one of the - following: - - a. Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of - Sections 1 and 2 above on a medium customarily used for - software interchange; or, - - b. Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a - medium customarily used for software interchange; or, - - c. Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with - such an offer, in accord with Subsection b above.) - - The source code for a work means the preferred form of the work for - making modifications to it. For an executable work, complete - source code means all the source code for all modules it contains, - plus any associated interface definition files, plus the scripts - used to control compilation and installation of the executable. - However, as a special exception, the source code distributed need - not include anything that is normally distributed (in either - source or binary form) with the major components (compiler, - kernel, and so on) of the operating system on which the executable - runs, unless that component itself accompanies the executable. - - If distribution of executable or object code is made by offering - access to copy from a designated place, then offering equivalent - access to copy the source code from the same place counts as - distribution of the source code, even though third parties are not - compelled to copy the source along with the object code. - - 5. You may not copy, modify, sublicense, or distribute the Program - except as expressly provided under this License. Any attempt - otherwise to copy, modify, sublicense or distribute the Program is - void, and will automatically terminate your rights under this - License. However, parties who have received copies, or rights, - from you under this License will not have their licenses - terminated so long as such parties remain in full compliance. - - 6. You are not required to accept this License, since you have not - signed it. However, nothing else grants you permission to modify - or distribute the Program or its derivative works. These actions - are prohibited by law if you do not accept this License. - Therefore, by modifying or distributing the Program (or any work - based on the Program), you indicate your acceptance of this - License to do so, and all its terms and conditions for copying, - distributing or modifying the Program or works based on it. - - 7. Each time you redistribute the Program (or any work based on the - Program), the recipient automatically receives a license from the - original licensor to copy, distribute or modify the Program - subject to these terms and conditions. You may not impose any - further restrictions on the recipients' exercise of the rights - granted herein. You are not responsible for enforcing compliance - by third parties to this License. - - 8. If, as a consequence of a court judgment or allegation of patent - infringement or for any other reason (not limited to patent - issues), conditions are imposed on you (whether by court order, - agreement or otherwise) that contradict the conditions of this - License, they do not excuse you from the conditions of this - License. If you cannot distribute so as to satisfy simultaneously - your obligations under this License and any other pertinent - obligations, then as a consequence you may not distribute the - Program at all. For example, if a patent license would not permit - royalty-free redistribution of the Program by all those who - receive copies directly or indirectly through you, then the only - way you could satisfy both it and this License would be to refrain - entirely from distribution of the Program. - - If any portion of this section is held invalid or unenforceable - under any particular circumstance, the balance of the section is - intended to apply and the section as a whole is intended to apply - in other circumstances. - - It is not the purpose of this section to induce you to infringe any - patents or other property right claims or to contest validity of - any such claims; this section has the sole purpose of protecting - the integrity of the free software distribution system, which is - implemented by public license practices. Many people have made - generous contributions to the wide range of software distributed - through that system in reliance on consistent application of that - system; it is up to the author/donor to decide if he or she is - willing to distribute software through any other system and a - licensee cannot impose that choice. - - This section is intended to make thoroughly clear what is believed - to be a consequence of the rest of this License. - - 9. If the distribution and/or use of the Program is restricted in - certain countries either by patents or by copyrighted interfaces, - the original copyright holder who places the Program under this - License may add an explicit geographical distribution limitation - excluding those countries, so that distribution is permitted only - in or among countries not thus excluded. In such case, this - License incorporates the limitation as if written in the body of - this License. - - 10. The Free Software Foundation may publish revised and/or new - versions of the General Public License from time to time. Such - new versions will be similar in spirit to the present version, but - may differ in detail to address new problems or concerns. - - Each version is given a distinguishing version number. If the - Program specifies a version number of this License which applies - to it and "any later version", you have the option of following - the terms and conditions either of that version or of any later - version published by the Free Software Foundation. If the Program - does not specify a version number of this License, you may choose - any version ever published by the Free Software Foundation. - - 11. If you wish to incorporate parts of the Program into other free - programs whose distribution conditions are different, write to the - author to ask for permission. For software which is copyrighted - by the Free Software Foundation, write to the Free Software - Foundation; we sometimes make exceptions for this. Our decision - will be guided by the two goals of preserving the free status of - all derivatives of our free software and of promoting the sharing - and reuse of software generally. - - NO WARRANTY - 12. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO - WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE - LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT - HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT - WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT - NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE - QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE - PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY - SERVICING, REPAIR OR CORRECTION. - - 13. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN - WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY - MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE - LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, - INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR - INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF - DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU - OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY - OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN - ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - - ECOS EXTENSION - 14. As a special exception, if other files instantiate templates or use - macros or inline functions from this file, or you compile this file - and link it with other works to produce a work based on this file, - this file does not by itself cause the resulting work to be - covered by the GNU General Public License. However the source code - for this file must still be made available in accordance with - section (3) of the GNU General Public License v2. - - This exception does not invalidate any other reasons why a work - based on this file might be covered by the GNU General Public - License. - - - END OF TERMS AND CONDITIONS -How to Apply These Terms to Your New Programs -============================================= - -If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these -terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - ONE LINE TO GIVE THE PROGRAM'S NAME AND AN IDEA OF WHAT IT DOES. - Copyright (C) 19YY NAME OF AUTHOR - - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License - as published by the Free Software Foundation; either version 2 - of the License, or (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along - with this program; if not, write to the Free Software Foundation, Inc., - 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. - - Also add information on how to contact you by electronic and paper -mail. - - If the program is interactive, make it output a short notice like -this when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) 19YY NAME OF AUTHOR - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details - type `show w'. This is free software, and you are welcome - to redistribute it under certain conditions; type `show c' - for details. - - The hypothetical commands `show w' and `show c' should show the -appropriate parts of the General Public License. Of course, the -commands you use may be called something other than `show w' and `show -c'; they could even be mouse-clicks or menu items--whatever suits your -program. - - You should also get your employer (if you work as a programmer) or -your school, if any, to sign a "copyright disclaimer" for the program, -if necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright - interest in the program `Gnomovision' - (which makes passes at compilers) written - by James Hacker. - - SIGNATURE OF TY COON, 1 April 1989 - Ty Coon, President of Vice - - This General Public License does not permit incorporating your -program into proprietary programs. If your program is a subroutine -library, you may consider it more useful to permit linking proprietary -applications with the library. If this is what you want to do, use the -GNU Library General Public License instead of this License. - - -File: microhttpd.info, Node: GNU-FDL, Next: Concept Index, Prev: GNU GPL with eCos Extension, Up: Top - -GNU-FDL -******* - - Version 1.3, 3 November 2008 - - Copyright (C) 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc. - `http://fsf.org/' - - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - 0. PREAMBLE - - The purpose of this License is to make a manual, textbook, or other - functional and useful document "free" in the sense of freedom: to - assure everyone the effective freedom to copy and redistribute it, - with or without modifying it, either commercially or - noncommercially. Secondarily, this License preserves for the - author and publisher a way to get credit for their work, while not - being considered responsible for modifications made by others. - - This License is a kind of "copyleft", which means that derivative - works of the document must themselves be free in the same sense. - It complements the GNU General Public License, which is a copyleft - license designed for free software. - - We have designed this License in order to use it for manuals for - free software, because free software needs free documentation: a - free program should come with manuals providing the same freedoms - that the software does. But this License is not limited to - software manuals; it can be used for any textual work, regardless - of subject matter or whether it is published as a printed book. - We recommend this License principally for works whose purpose is - instruction or reference. - - 1. APPLICABILITY AND DEFINITIONS - - This License applies to any manual or other work, in any medium, - that contains a notice placed by the copyright holder saying it - can be distributed under the terms of this License. Such a notice - grants a world-wide, royalty-free license, unlimited in duration, - to use that work under the conditions stated herein. The - "Document", below, refers to any such manual or work. Any member - of the public is a licensee, and is addressed as "you". You - accept the license if you copy, modify or distribute the work in a - way requiring permission under copyright law. - - A "Modified Version" of the Document means any work containing the - Document or a portion of it, either copied verbatim, or with - modifications and/or translated into another language. - - A "Secondary Section" is a named appendix or a front-matter section - of the Document that deals exclusively with the relationship of the - publishers or authors of the Document to the Document's overall - subject (or to related matters) and contains nothing that could - fall directly within that overall subject. (Thus, if the Document - is in part a textbook of mathematics, a Secondary Section may not - explain any mathematics.) The relationship could be a matter of - historical connection with the subject or with related matters, or - of legal, commercial, philosophical, ethical or political position - regarding them. - - The "Invariant Sections" are certain Secondary Sections whose - titles are designated, as being those of Invariant Sections, in - the notice that says that the Document is released under this - License. If a section does not fit the above definition of - Secondary then it is not allowed to be designated as Invariant. - The Document may contain zero Invariant Sections. If the Document - does not identify any Invariant Sections then there are none. - - The "Cover Texts" are certain short passages of text that are - listed, as Front-Cover Texts or Back-Cover Texts, in the notice - that says that the Document is released under this License. A - Front-Cover Text may be at most 5 words, and a Back-Cover Text may - be at most 25 words. - - A "Transparent" copy of the Document means a machine-readable copy, - represented in a format whose specification is available to the - general public, that is suitable for revising the document - straightforwardly with generic text editors or (for images - composed of pixels) generic paint programs or (for drawings) some - widely available drawing editor, and that is suitable for input to - text formatters or for automatic translation to a variety of - formats suitable for input to text formatters. A copy made in an - otherwise Transparent file format whose markup, or absence of - markup, has been arranged to thwart or discourage subsequent - modification by readers is not Transparent. An image format is - not Transparent if used for any substantial amount of text. A - copy that is not "Transparent" is called "Opaque". - - Examples of suitable formats for Transparent copies include plain - ASCII without markup, Texinfo input format, LaTeX input format, - SGML or XML using a publicly available DTD, and - standard-conforming simple HTML, PostScript or PDF designed for - human modification. Examples of transparent image formats include - PNG, XCF and JPG. Opaque formats include proprietary formats that - can be read and edited only by proprietary word processors, SGML or - XML for which the DTD and/or processing tools are not generally - available, and the machine-generated HTML, PostScript or PDF - produced by some word processors for output purposes only. - - The "Title Page" means, for a printed book, the title page itself, - plus such following pages as are needed to hold, legibly, the - material this License requires to appear in the title page. For - works in formats which do not have any title page as such, "Title - Page" means the text near the most prominent appearance of the - work's title, preceding the beginning of the body of the text. - - The "publisher" means any person or entity that distributes copies - of the Document to the public. - - A section "Entitled XYZ" means a named subunit of the Document - whose title either is precisely XYZ or contains XYZ in parentheses - following text that translates XYZ in another language. (Here XYZ - stands for a specific section name mentioned below, such as - "Acknowledgements", "Dedications", "Endorsements", or "History".) - To "Preserve the Title" of such a section when you modify the - Document means that it remains a section "Entitled XYZ" according - to this definition. - - The Document may include Warranty Disclaimers next to the notice - which states that this License applies to the Document. These - Warranty Disclaimers are considered to be included by reference in - this License, but only as regards disclaiming warranties: any other - implication that these Warranty Disclaimers may have is void and - has no effect on the meaning of this License. - - 2. VERBATIM COPYING - - You may copy and distribute the Document in any medium, either - commercially or noncommercially, provided that this License, the - copyright notices, and the license notice saying this License - applies to the Document are reproduced in all copies, and that you - add no other conditions whatsoever to those of this License. You - may not use technical measures to obstruct or control the reading - or further copying of the copies you make or distribute. However, - you may accept compensation in exchange for copies. If you - distribute a large enough number of copies you must also follow - the conditions in section 3. - - You may also lend copies, under the same conditions stated above, - and you may publicly display copies. - - 3. COPYING IN QUANTITY - - If you publish printed copies (or copies in media that commonly - have printed covers) of the Document, numbering more than 100, and - the Document's license notice requires Cover Texts, you must - enclose the copies in covers that carry, clearly and legibly, all - these Cover Texts: Front-Cover Texts on the front cover, and - Back-Cover Texts on the back cover. Both covers must also clearly - and legibly identify you as the publisher of these copies. The - front cover must present the full title with all words of the - title equally prominent and visible. You may add other material - on the covers in addition. Copying with changes limited to the - covers, as long as they preserve the title of the Document and - satisfy these conditions, can be treated as verbatim copying in - other respects. - - If the required texts for either cover are too voluminous to fit - legibly, you should put the first ones listed (as many as fit - reasonably) on the actual cover, and continue the rest onto - adjacent pages. - - If you publish or distribute Opaque copies of the Document - numbering more than 100, you must either include a - machine-readable Transparent copy along with each Opaque copy, or - state in or with each Opaque copy a computer-network location from - which the general network-using public has access to download - using public-standard network protocols a complete Transparent - copy of the Document, free of added material. If you use the - latter option, you must take reasonably prudent steps, when you - begin distribution of Opaque copies in quantity, to ensure that - this Transparent copy will remain thus accessible at the stated - location until at least one year after the last time you - distribute an Opaque copy (directly or through your agents or - retailers) of that edition to the public. - - It is requested, but not required, that you contact the authors of - the Document well before redistributing any large number of - copies, to give them a chance to provide you with an updated - version of the Document. - - 4. MODIFICATIONS - - You may copy and distribute a Modified Version of the Document - under the conditions of sections 2 and 3 above, provided that you - release the Modified Version under precisely this License, with - the Modified Version filling the role of the Document, thus - licensing distribution and modification of the Modified Version to - whoever possesses a copy of it. In addition, you must do these - things in the Modified Version: - - A. Use in the Title Page (and on the covers, if any) a title - distinct from that of the Document, and from those of - previous versions (which should, if there were any, be listed - in the History section of the Document). You may use the - same title as a previous version if the original publisher of - that version gives permission. - - B. List on the Title Page, as authors, one or more persons or - entities responsible for authorship of the modifications in - the Modified Version, together with at least five of the - principal authors of the Document (all of its principal - authors, if it has fewer than five), unless they release you - from this requirement. - - C. State on the Title page the name of the publisher of the - Modified Version, as the publisher. - - D. Preserve all the copyright notices of the Document. - - E. Add an appropriate copyright notice for your modifications - adjacent to the other copyright notices. - - F. Include, immediately after the copyright notices, a license - notice giving the public permission to use the Modified - Version under the terms of this License, in the form shown in - the Addendum below. - - G. Preserve in that license notice the full lists of Invariant - Sections and required Cover Texts given in the Document's - license notice. - - H. Include an unaltered copy of this License. - - I. Preserve the section Entitled "History", Preserve its Title, - and add to it an item stating at least the title, year, new - authors, and publisher of the Modified Version as given on - the Title Page. If there is no section Entitled "History" in - the Document, create one stating the title, year, authors, - and publisher of the Document as given on its Title Page, - then add an item describing the Modified Version as stated in - the previous sentence. - - J. Preserve the network location, if any, given in the Document - for public access to a Transparent copy of the Document, and - likewise the network locations given in the Document for - previous versions it was based on. These may be placed in - the "History" section. You may omit a network location for a - work that was published at least four years before the - Document itself, or if the original publisher of the version - it refers to gives permission. - - K. For any section Entitled "Acknowledgements" or "Dedications", - Preserve the Title of the section, and preserve in the - section all the substance and tone of each of the contributor - acknowledgements and/or dedications given therein. - - L. Preserve all the Invariant Sections of the Document, - unaltered in their text and in their titles. Section numbers - or the equivalent are not considered part of the section - titles. - - M. Delete any section Entitled "Endorsements". Such a section - may not be included in the Modified Version. - - N. Do not retitle any existing section to be Entitled - "Endorsements" or to conflict in title with any Invariant - Section. - - O. Preserve any Warranty Disclaimers. - - If the Modified Version includes new front-matter sections or - appendices that qualify as Secondary Sections and contain no - material copied from the Document, you may at your option - designate some or all of these sections as invariant. To do this, - add their titles to the list of Invariant Sections in the Modified - Version's license notice. These titles must be distinct from any - other section titles. - - You may add a section Entitled "Endorsements", provided it contains - nothing but endorsements of your Modified Version by various - parties--for example, statements of peer review or that the text - has been approved by an organization as the authoritative - definition of a standard. - - You may add a passage of up to five words as a Front-Cover Text, - and a passage of up to 25 words as a Back-Cover Text, to the end - of the list of Cover Texts in the Modified Version. Only one - passage of Front-Cover Text and one of Back-Cover Text may be - added by (or through arrangements made by) any one entity. If the - Document already includes a cover text for the same cover, - previously added by you or by arrangement made by the same entity - you are acting on behalf of, you may not add another; but you may - replace the old one, on explicit permission from the previous - publisher that added the old one. - - The author(s) and publisher(s) of the Document do not by this - License give permission to use their names for publicity for or to - assert or imply endorsement of any Modified Version. - - 5. COMBINING DOCUMENTS - - You may combine the Document with other documents released under - this License, under the terms defined in section 4 above for - modified versions, provided that you include in the combination - all of the Invariant Sections of all of the original documents, - unmodified, and list them all as Invariant Sections of your - combined work in its license notice, and that you preserve all - their Warranty Disclaimers. - - The combined work need only contain one copy of this License, and - multiple identical Invariant Sections may be replaced with a single - copy. If there are multiple Invariant Sections with the same name - but different contents, make the title of each such section unique - by adding at the end of it, in parentheses, the name of the - original author or publisher of that section if known, or else a - unique number. Make the same adjustment to the section titles in - the list of Invariant Sections in the license notice of the - combined work. - - In the combination, you must combine any sections Entitled - "History" in the various original documents, forming one section - Entitled "History"; likewise combine any sections Entitled - "Acknowledgements", and any sections Entitled "Dedications". You - must delete all sections Entitled "Endorsements." - - 6. COLLECTIONS OF DOCUMENTS - - You may make a collection consisting of the Document and other - documents released under this License, and replace the individual - copies of this License in the various documents with a single copy - that is included in the collection, provided that you follow the - rules of this License for verbatim copying of each of the - documents in all other respects. - - You may extract a single document from such a collection, and - distribute it individually under this License, provided you insert - a copy of this License into the extracted document, and follow - this License in all other respects regarding verbatim copying of - that document. - - 7. AGGREGATION WITH INDEPENDENT WORKS - - A compilation of the Document or its derivatives with other - separate and independent documents or works, in or on a volume of - a storage or distribution medium, is called an "aggregate" if the - copyright resulting from the compilation is not used to limit the - legal rights of the compilation's users beyond what the individual - works permit. When the Document is included in an aggregate, this - License does not apply to the other works in the aggregate which - are not themselves derivative works of the Document. - - If the Cover Text requirement of section 3 is applicable to these - copies of the Document, then if the Document is less than one half - of the entire aggregate, the Document's Cover Texts may be placed - on covers that bracket the Document within the aggregate, or the - electronic equivalent of covers if the Document is in electronic - form. Otherwise they must appear on printed covers that bracket - the whole aggregate. - - 8. TRANSLATION - - Translation is considered a kind of modification, so you may - distribute translations of the Document under the terms of section - 4. Replacing Invariant Sections with translations requires special - permission from their copyright holders, but you may include - translations of some or all Invariant Sections in addition to the - original versions of these Invariant Sections. You may include a - translation of this License, and all the license notices in the - Document, and any Warranty Disclaimers, provided that you also - include the original English version of this License and the - original versions of those notices and disclaimers. In case of a - disagreement between the translation and the original version of - this License or a notice or disclaimer, the original version will - prevail. - - If a section in the Document is Entitled "Acknowledgements", - "Dedications", or "History", the requirement (section 4) to - Preserve its Title (section 1) will typically require changing the - actual title. - - 9. TERMINATION - - You may not copy, modify, sublicense, or distribute the Document - except as expressly provided under this License. Any attempt - otherwise to copy, modify, sublicense, or distribute it is void, - and will automatically terminate your rights under this License. - - However, if you cease all violation of this License, then your - license from a particular copyright holder is reinstated (a) - provisionally, unless and until the copyright holder explicitly - and finally terminates your license, and (b) permanently, if the - copyright holder fails to notify you of the violation by some - reasonable means prior to 60 days after the cessation. - - Moreover, your license from a particular copyright holder is - reinstated permanently if the copyright holder notifies you of the - violation by some reasonable means, this is the first time you have - received notice of violation of this License (for any work) from - that copyright holder, and you cure the violation prior to 30 days - after your receipt of the notice. - - Termination of your rights under this section does not terminate - the licenses of parties who have received copies or rights from - you under this License. If your rights have been terminated and - not permanently reinstated, receipt of a copy of some or all of - the same material does not give you any rights to use it. - - 10. FUTURE REVISIONS OF THIS LICENSE - - The Free Software Foundation may publish new, revised versions of - the GNU Free Documentation License from time to time. Such new - versions will be similar in spirit to the present version, but may - differ in detail to address new problems or concerns. See - `http://www.gnu.org/copyleft/'. - - Each version of the License is given a distinguishing version - number. If the Document specifies that a particular numbered - version of this License "or any later version" applies to it, you - have the option of following the terms and conditions either of - that specified version or of any later version that has been - published (not as a draft) by the Free Software Foundation. If - the Document does not specify a version number of this License, - you may choose any version ever published (not as a draft) by the - Free Software Foundation. If the Document specifies that a proxy - can decide which future versions of this License can be used, that - proxy's public statement of acceptance of a version permanently - authorizes you to choose that version for the Document. - - 11. RELICENSING - - "Massive Multiauthor Collaboration Site" (or "MMC Site") means any - World Wide Web server that publishes copyrightable works and also - provides prominent facilities for anybody to edit those works. A - public wiki that anybody can edit is an example of such a server. - A "Massive Multiauthor Collaboration" (or "MMC") contained in the - site means any set of copyrightable works thus published on the MMC - site. - - "CC-BY-SA" means the Creative Commons Attribution-Share Alike 3.0 - license published by Creative Commons Corporation, a not-for-profit - corporation with a principal place of business in San Francisco, - California, as well as future copyleft versions of that license - published by that same organization. - - "Incorporate" means to publish or republish a Document, in whole or - in part, as part of another Document. - - An MMC is "eligible for relicensing" if it is licensed under this - License, and if all works that were first published under this - License somewhere other than this MMC, and subsequently - incorporated in whole or in part into the MMC, (1) had no cover - texts or invariant sections, and (2) were thus incorporated prior - to November 1, 2008. - - The operator of an MMC Site may republish an MMC contained in the - site under CC-BY-SA on the same site at any time before August 1, - 2009, provided the MMC is eligible for relicensing. - - -ADDENDUM: How to use this License for your documents -==================================================== - -To use this License in a document you have written, include a copy of -the License in the document and put the following copyright and license -notices just after the title page: - - Copyright (C) YEAR YOUR NAME. - Permission is granted to copy, distribute and/or modify this document - under the terms of the GNU Free Documentation License, Version 1.3 - or any later version published by the Free Software Foundation; - with no Invariant Sections, no Front-Cover Texts, and no Back-Cover - Texts. A copy of the license is included in the section entitled ``GNU - Free Documentation License''. - - If you have Invariant Sections, Front-Cover Texts and Back-Cover -Texts, replace the "with...Texts." line with this: - - with the Invariant Sections being LIST THEIR TITLES, with - the Front-Cover Texts being LIST, and with the Back-Cover Texts - being LIST. - - If you have Invariant Sections without Cover Texts, or some other -combination of the three, merge those two alternatives to suit the -situation. - - If your document contains nontrivial examples of program code, we -recommend releasing these examples in parallel under your choice of -free software license, such as the GNU General Public License, to -permit their use in free software. - - -File: microhttpd.info, Node: Concept Index, Next: Function and Data Index, Prev: GNU-FDL, Up: Top - -Concept Index -************* - - -* Menu: - -* bind, restricting bind: microhttpd-const. (line 108) -* connection, limiting number of connections: microhttpd-const. - (line 74) -* cookie: microhttpd-const. (line 222) -* debugging: microhttpd-const. (line 24) -* eCos, GNU General Public License with eCos Extension: GNU GPL with eCos Extension. - (line 6) -* FD_SETSIZE: microhttpd-const. (line 54) -* GPL, GNU General Public License: GNU GPL with eCos Extension. - (line 6) -* IPv6: microhttpd-const. (line 41) -* license <1>: GNU-FDL. (line 6) -* license <2>: GNU GPL with eCos Extension. - (line 6) -* license: GNU-LGPL. (line 6) -* listen: microhttpd-const. (line 317) -* logging: microhttpd-const. (line 116) -* memory, limiting memory utilization: microhttpd-const. (line 69) -* options: microhttpd-const. (line 177) -* poll: microhttpd-const. (line 54) -* POST method <1>: microhttpd-post api. (line 6) -* POST method <2>: microhttpd-post. (line 6) -* POST method <3>: microhttpd-cb. (line 50) -* POST method <4>: microhttpd-struct. (line 19) -* POST method: microhttpd-const. (line 226) -* PUT method: microhttpd-cb. (line 50) -* query string: microhttpd-const. (line 116) -* select: microhttpd-const. (line 54) -* timeout <1>: microhttpd-inspect. (line 27) -* timeout: microhttpd-const. (line 81) - - -File: microhttpd.info, Node: Function and Data Index, Next: Type Index, Prev: Concept Index, Up: Top - -Function and Data Index -*********************** - - -* Menu: - -* *MHD_AcceptPolicyCallback: microhttpd-cb. (line 8) -* *MHD_AccessHandlerCallback: microhttpd-cb. (line 25) -* *MHD_ContentReaderCallback: microhttpd-cb. (line 120) -* *MHD_ContentReaderFreeCallback: microhttpd-cb. (line 147) -* *MHD_KeyValueIterator: microhttpd-cb. (line 110) -* *MHD_PostDataIterator: microhttpd-cb. (line 155) -* *MHD_RequestCompletedCallback: microhttpd-cb. (line 91) -* MHD_add_response_header: microhttpd-response headers. - (line 8) -* MHD_create_post_processor: microhttpd-post api. (line 9) -* MHD_create_response_from_callback: microhttpd-response create. - (line 9) -* MHD_create_response_from_data: microhttpd-response create. - (line 34) -* MHD_del_response_header: microhttpd-response headers. - (line 20) -* MHD_destroy_post_processor: microhttpd-post api. (line 54) -* MHD_destroy_response: microhttpd-response enqueue. - (line 30) -* MHD_get_connection_info: microhttpd-info conn. - (line 9) -* MHD_get_connection_values: microhttpd-requests. (line 9) -* MHD_get_daemon_info: microhttpd-info daemon. - (line 8) -* MHD_get_fdset: microhttpd-inspect. (line 9) -* MHD_get_response_header: microhttpd-response inspect. - (line 20) -* MHD_get_response_headers: microhttpd-response inspect. - (line 8) -* MHD_get_timeout: microhttpd-inspect. (line 27) -* MHD_lookup_connection_value: microhttpd-requests. (line 45) -* MHD_post_process: microhttpd-post api. (line 34) -* MHD_queue_response: microhttpd-response enqueue. - (line 9) -* MHD_run: microhttpd-init. (line 54) -* MHD_set_connection_value: microhttpd-requests. (line 22) -* MHD_set_panic_func: microhttpd-init. (line 7) -* MHD_start_daemon: microhttpd-init. (line 21) -* MHD_stop_daemon: microhttpd-init. (line 51) - - -File: microhttpd.info, Node: Type Index, Prev: Function and Data Index, Up: Top - -Type Index -********** - - -* Menu: - -* MHD_Connection: microhttpd-struct. (line 10) -* MHD_ConnectionInfo: microhttpd-struct. (line 22) -* MHD_ConnectionInfoType: microhttpd-const. (line 292) -* MHD_Daemon: microhttpd-struct. (line 7) -* MHD_DaemonInfo: microhttpd-struct. (line 25) -* MHD_DaemonInfoType: microhttpd-const. (line 304) -* MHD_FLAG: microhttpd-const. (line 7) -* MHD_GNUTLS_CipherAlgorithm: microhttpd-const. (line 276) -* MHD_GNUTLS_Protocol: microhttpd-const. (line 260) -* MHD_OPTION: microhttpd-const. (line 61) -* MHD_OptionItem: microhttpd-const. (line 199) -* MHD_PostProcessor: microhttpd-struct. (line 19) -* MHD_RequestTerminationCode: microhttpd-const. (line 241) -* MHD_Response: microhttpd-struct. (line 16) -* MHD_ValueKind: microhttpd-const. (line 212) - - - -Tag Table: -Node: Top823 -Node: microhttpd-intro2927 -Node: microhttpd-const5122 -Node: microhttpd-struct18507 -Node: microhttpd-cb19284 -Node: microhttpd-init26594 -Node: microhttpd-inspect28670 -Node: microhttpd-requests30250 -Node: microhttpd-responses32747 -Node: microhttpd-response enqueue33795 -Ref: microhttpd-response enqueue-Footnote-136062 -Node: microhttpd-response create36281 -Node: microhttpd-response headers38713 -Node: microhttpd-response inspect39694 -Node: microhttpd-post40862 -Node: microhttpd-post api43804 -Node: microhttpd-info46320 -Node: microhttpd-info daemon46640 -Node: microhttpd-info conn47520 -Node: GNU-LGPL48380 -Node: GNU GPL with eCos Extension76490 -Node: GNU-FDL96348 -Node: Concept Index121450 -Node: Function and Data Index123793 -Node: Type Index126775 - -End Tag Table diff --git a/lib/libmicrohttpd/doc/stamp-vti b/lib/libmicrohttpd/doc/stamp-vti deleted file mode 100644 index fa981c5dca..0000000000 --- a/lib/libmicrohttpd/doc/stamp-vti +++ /dev/null @@ -1,4 +0,0 @@ -@set UPDATED 4 December 2009 -@set UPDATED-MONTH December 2009 -@set EDITION 0.4.5 -@set VERSION 0.4.5 diff --git a/lib/libmicrohttpd/doc/version.texi b/lib/libmicrohttpd/doc/version.texi deleted file mode 100644 index fa981c5dca..0000000000 --- a/lib/libmicrohttpd/doc/version.texi +++ /dev/null @@ -1,4 +0,0 @@ -@set UPDATED 4 December 2009 -@set UPDATED-MONTH December 2009 -@set EDITION 0.4.5 -@set VERSION 0.4.5 |