http_server.h revision c5ec7f57ead87efa365800228aa0b09a12d9e6c4
18d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt/* 28d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * http_server - HTTP server 38d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * Copyright (c) 2009, Jouni Malinen <j@w1.fi> 48d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt * 5c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt * This software may be distributed under the terms of the BSD license. 6c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt * See README for more details. 78d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt */ 88d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 98d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#ifndef HTTP_SERVER_H 108d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#define HTTP_SERVER_H 118d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 128d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtstruct http_server; 138d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtstruct http_request; 148d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 158d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtvoid http_request_deinit(struct http_request *req); 168d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtvoid http_request_send(struct http_request *req, struct wpabuf *resp); 178d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtvoid http_request_send_and_deinit(struct http_request *req, 188d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt struct wpabuf *resp); 198d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtenum httpread_hdr_type http_request_get_type(struct http_request *req); 208d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtchar * http_request_get_uri(struct http_request *req); 218d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtchar * http_request_get_hdr(struct http_request *req); 228d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtchar * http_request_get_data(struct http_request *req); 238d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtchar * http_request_get_hdr_line(struct http_request *req, const char *tag); 248d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtstruct sockaddr_in * http_request_get_cli_addr(struct http_request *req); 258d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 268d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtstruct http_server * http_server_init(struct in_addr *addr, int port, 278d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt void (*cb)(void *ctx, 288d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt struct http_request *req), 298d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt void *cb_ctx); 308d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtvoid http_server_deinit(struct http_server *srv); 318d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidtint http_server_get_port(struct http_server *srv); 328d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt 338d520ff1dc2da35cdca849e982051b86468016d8Dmitry Shmidt#endif /* HTTP_SERVER_H */ 34