var searchData=
[
  ['http_5fset_5fcgi_5fhandlers',['http_set_cgi_handlers',['../group__httpd.html#gae1ec09532ff7fc622e1860727bf2c897',1,'http_set_cgi_handlers(const tCGI *cgis, int num_handlers):&#160;httpd.c'],['../group__httpd.html#gae1ec09532ff7fc622e1860727bf2c897',1,'http_set_cgi_handlers(const tCGI *pCGIs, int iNumHandlers):&#160;httpd.c']]],
  ['http_5fset_5fssi_5fhandler',['http_set_ssi_handler',['../group__httpd.html#ga8834ecb16d9a7d6c128bdf9514b7879c',1,'http_set_ssi_handler(tSSIHandler ssi_handler, const char **tags, int num_tags):&#160;httpd.c'],['../group__httpd.html#ga8834ecb16d9a7d6c128bdf9514b7879c',1,'http_set_ssi_handler(tSSIHandler pfnSSIHandler, const char **ppcTags, int iNumTags):&#160;httpd.c']]],
  ['httpc_5fget_5ffile',['httpc_get_file',['../group__httpc.html#ga6c961e52cec2d25b4b82b6910ebcfa1b',1,'httpc_get_file(const ip_addr_t *server_addr, u16_t port, const char *uri, const httpc_connection_t *settings, altcp_recv_fn recv_fn, void *callback_arg, httpc_state_t **connection):&#160;http_client.c'],['../group__httpc.html#ga6c961e52cec2d25b4b82b6910ebcfa1b',1,'httpc_get_file(const ip_addr_t *server_addr, u16_t port, const char *uri, const httpc_connection_t *settings, altcp_recv_fn recv_fn, void *callback_arg, httpc_state_t **connection):&#160;http_client.c']]],
  ['httpc_5fget_5ffile_5fdns',['httpc_get_file_dns',['../group__httpc.html#gabd4ef2259885a93090733235cc0fa8d6',1,'httpc_get_file_dns(const char *server_name, u16_t port, const char *uri, const httpc_connection_t *settings, altcp_recv_fn recv_fn, void *callback_arg, httpc_state_t **connection):&#160;http_client.c'],['../group__httpc.html#gabd4ef2259885a93090733235cc0fa8d6',1,'httpc_get_file_dns(const char *server_name, u16_t port, const char *uri, const httpc_connection_t *settings, altcp_recv_fn recv_fn, void *callback_arg, httpc_state_t **connection):&#160;http_client.c']]],
  ['httpd_5finit',['httpd_init',['../group__httpd.html#gac364305cee969a0be43c071722b136e6',1,'httpd_init(void):&#160;httpd.c'],['../group__httpd.html#gac364305cee969a0be43c071722b136e6',1,'httpd_init(void):&#160;httpd.c']]],
  ['httpd_5finits',['httpd_inits',['../group__httpd.html#gafaedb1911a83854b1e9835132db64409',1,'httpd_inits(struct altcp_tls_config *conf):&#160;httpd.c'],['../group__httpd.html#gafaedb1911a83854b1e9835132db64409',1,'httpd_inits(struct altcp_tls_config *conf):&#160;httpd.c']]],
  ['httpd_5fpost_5fbegin',['httpd_post_begin',['../group__httpd.html#ga6cb33693ee8f0c054be82a968ceff582',1,'httpd.h']]],
  ['httpd_5fpost_5fdata_5frecved',['httpd_post_data_recved',['../group__httpd.html#gaca4357acf5c988b28123bc6f23540380',1,'httpd_post_data_recved(void *connection, u16_t recved_len):&#160;httpd.c'],['../group__httpd.html#gaca4357acf5c988b28123bc6f23540380',1,'httpd_post_data_recved(void *connection, u16_t recved_len):&#160;httpd.c']]],
  ['httpd_5fpost_5ffinished',['httpd_post_finished',['../group__httpd.html#ga477473f7ead250fec71f1f8b9926fec5',1,'httpd.h']]],
  ['httpd_5fpost_5freceive_5fdata',['httpd_post_receive_data',['../group__httpd.html#ga461409c8813c2a82ba63fde987c0e537',1,'httpd.h']]]
];
