X-Git-Url: http://git.xonotic.org/?p=xonotic%2Fdarkplaces.git;a=blobdiff_plain;f=libcurl.h;h=d960be8af0939c7c97eb19293e5bbe4657b75ecd;hp=5b861278f4a5763dd892714ebd5fe090ebcf0f2d;hb=415f1e0e46791994cfa2f6dd3a29f793e3bb9cd9;hpb=aed8b84afc34596c6ec9e4dd35ada467539fbd8c diff --git a/libcurl.h b/libcurl.h index 5b861278..d960be8a 100644 --- a/libcurl.h +++ b/libcurl.h @@ -1,3 +1,7 @@ +#include +#include "qtypes.h" +#include "qdefs.h" + enum { CURLCBSTATUS_OK = 0, @@ -9,32 +13,35 @@ enum typedef void (*curl_callback_t) (int status, size_t length_received, unsigned char *buffer, void *cbdata); // code is one of the CURLCBSTATUS constants, or the HTTP error code (when > 0). -void Curl_Run(); -qboolean Curl_Running(); -qboolean Curl_Begin_ToFile(const char *URL, const char *name, qboolean ispak, qboolean forthismap); -qboolean Curl_Begin_ToMemory(const char *URL, unsigned char *buf, size_t bufsize, curl_callback_t callback, void *cbdata); - // NOTE: if it returns false, the callback will NOT get called, so free your buffer then! -void Curl_Init(); -void Curl_Init_Commands(); -void Curl_Shutdown(); -void Curl_CancelAll(); -void Curl_Clear_forthismap(); -qboolean Curl_Have_forthismap(); -void Curl_Register_predownload(); +void Curl_Frame(void); +qbool Curl_Running(void); +qbool Curl_Begin_ToFile(const char *URL, double maxspeed, const char *name, int loadtype, qbool forthismap); + +qbool Curl_Begin_ToMemory(const char *URL, double maxspeed, unsigned char *buf, size_t bufsize, curl_callback_t callback, void *cbdata); +qbool Curl_Begin_ToMemory_POST(const char *URL, const char *extraheaders, double maxspeed, const char *post_content_type, const unsigned char *postbuf, size_t postbufsize, unsigned char *buf, size_t bufsize, curl_callback_t callback, void *cbdata); +void Curl_Cancel_ToMemory(curl_callback_t callback, void* cbdata); + +void Curl_Init(void); +void Curl_Init_Commands(void); +void Curl_Shutdown(void); +void Curl_CancelAll(void); +void Curl_Clear_forthismap(void); +qbool Curl_Have_forthismap(void); +void Curl_Register_predownload(void); -void Curl_ClearRequirements(); +void Curl_ClearRequirements(void); void Curl_RequireFile(const char *filename); -void Curl_SendRequirements(); +void Curl_SendRequirements(void); typedef struct Curl_downloadinfo_s { char filename[MAX_QPATH]; double progress; double speed; - qboolean queued; + qbool queued; } Curl_downloadinfo_t; -Curl_downloadinfo_t *Curl_GetDownloadInfo(int *nDownloads, const char **additional_info); +Curl_downloadinfo_t *Curl_GetDownloadInfo(int *nDownloads, const char **additional_info, char *addinfo, size_t addinfolength); // this may and should be Z_Free()ed // the result is actually an array // an additional info string may be returned in additional_info as a