| /* |
| * http_client - HTTP client |
| * Copyright (c) 2009, Jouni Malinen <j@w1.fi> |
| * |
| * This program is free software; you can redistribute it and/or modify |
| * it under the terms of the GNU General Public License version 2 as |
| * published by the Free Software Foundation. |
| * |
| * Alternatively, this software may be distributed under the terms of BSD |
| * license. |
| * |
| * See README and COPYING for more details. |
| */ |
| |
| #ifndef HTTP_CLIENT_H |
| #define HTTP_CLIENT_H |
| |
| struct http_client; |
| |
| enum http_client_event { |
| HTTP_CLIENT_FAILED, |
| HTTP_CLIENT_TIMEOUT, |
| HTTP_CLIENT_OK, |
| HTTP_CLIENT_INVALID_REPLY, |
| }; |
| |
| char * http_client_url_parse(const char *url, struct sockaddr_in *dst, |
| char **path); |
| struct http_client * http_client_addr(struct sockaddr_in *dst, |
| struct wpabuf *req, size_t max_response, |
| void (*cb)(void *ctx, |
| struct http_client *c, |
| enum http_client_event event), |
| void *cb_ctx); |
| struct http_client * http_client_url(const char *url, |
| struct wpabuf *req, size_t max_response, |
| void (*cb)(void *ctx, |
| struct http_client *c, |
| enum http_client_event event), |
| void *cb_ctx); |
| void http_client_free(struct http_client *c); |
| struct wpabuf * http_client_get_body(struct http_client *c); |
| char * http_client_get_hdr_line(struct http_client *c, const char *tag); |
| char * http_link_update(char *url, const char *base); |
| |
| #endif /* HTTP_CLIENT_H */ |