blob: 4b2b749f16fcfcf5adc8d445c3542e24a1c7de86 [file] [log] [blame]
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07001/*
2 * http_server - HTTP server
3 * Copyright (c) 2009, Jouni Malinen <j@w1.fi>
4 *
Dmitry Shmidtc5ec7f52012-03-06 16:33:24 -08005 * This software may be distributed under the terms of the BSD license.
6 * See README for more details.
Dmitry Shmidt8d520ff2011-05-09 14:06:53 -07007 */
8
9#ifndef HTTP_SERVER_H
10#define HTTP_SERVER_H
11
12struct http_server;
13struct http_request;
14
15void http_request_deinit(struct http_request *req);
16void http_request_send(struct http_request *req, struct wpabuf *resp);
17void http_request_send_and_deinit(struct http_request *req,
18 struct wpabuf *resp);
19enum httpread_hdr_type http_request_get_type(struct http_request *req);
20char * http_request_get_uri(struct http_request *req);
21char * http_request_get_hdr(struct http_request *req);
22char * http_request_get_data(struct http_request *req);
23char * http_request_get_hdr_line(struct http_request *req, const char *tag);
24struct sockaddr_in * http_request_get_cli_addr(struct http_request *req);
25
26struct http_server * http_server_init(struct in_addr *addr, int port,
27 void (*cb)(void *ctx,
28 struct http_request *req),
29 void *cb_ctx);
30void http_server_deinit(struct http_server *srv);
31int http_server_get_port(struct http_server *srv);
32
33#endif /* HTTP_SERVER_H */