1 /* 2 * http_client - HTTP client 3 * Copyright (c) 2009, Jouni Malinen <j (at) w1.fi> 4 * 5 * This software may be distributed under the terms of the BSD license. 6 * See README for more details. 7 */ 8 9 #ifndef HTTP_CLIENT_H 10 #define HTTP_CLIENT_H 11 12 struct http_client; 13 14 enum http_client_event { 15 HTTP_CLIENT_FAILED, 16 HTTP_CLIENT_TIMEOUT, 17 HTTP_CLIENT_OK, 18 HTTP_CLIENT_INVALID_REPLY, 19 }; 20 21 char * http_client_url_parse(const char *url, struct sockaddr_in *dst, 22 char **path); 23 struct http_client * http_client_addr(struct sockaddr_in *dst, 24 struct wpabuf *req, size_t max_response, 25 void (*cb)(void *ctx, 26 struct http_client *c, 27 enum http_client_event event), 28 void *cb_ctx); 29 struct http_client * http_client_url(const char *url, 30 struct wpabuf *req, size_t max_response, 31 void (*cb)(void *ctx, 32 struct http_client *c, 33 enum http_client_event event), 34 void *cb_ctx); 35 void http_client_free(struct http_client *c); 36 struct wpabuf * http_client_get_body(struct http_client *c); 37 char * http_client_get_hdr_line(struct http_client *c, const char *tag); 38 char * http_link_update(char *url, const char *base); 39 40 #endif /* HTTP_CLIENT_H */ 41