A clone of btpd with my configuration changes.
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

http_client.h 799 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. #ifndef BTPD_HTTP_CLIENT_H
  2. #define BTPD_HTTP_CLIENT_H
  3. struct http_response {
  4. enum {
  5. HTTP_T_ERR, HTTP_T_CODE, HTTP_T_HEADER, HTTP_T_DATA, HTTP_T_DONE
  6. } type;
  7. union {
  8. int error;
  9. int code;
  10. struct {
  11. char *n;
  12. char *v;
  13. } header;
  14. struct {
  15. size_t l;
  16. char *p;
  17. } data;
  18. } v;
  19. };
  20. struct http_url {
  21. char *host;
  22. char *uri;
  23. uint16_t port;
  24. };
  25. struct http_req;
  26. typedef void (*http_cb_t)(struct http_req *, struct http_response *, void *);
  27. struct http_url *http_url_parse(const char *url);
  28. void http_url_free(struct http_url *url);
  29. int http_get(struct http_req **out, const char *url, const char *hdrs,
  30. http_cb_t cb, void *arg);
  31. void http_cancel(struct http_req *req);
  32. #endif