A clone of btpd with my configuration changes.
25'ten fazla konu seçemezsiniz Konular bir harf veya rakamla başlamalı, kısa çizgiler ('-') içerebilir ve en fazla 35 karakter uzunluğunda olabilir.

39 satır
799 B

  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