![]() |
DarkPlaces
Game engine based on the Quake 1 engine by id Software, developed by LadyHavoc
|
|
#include "quakedef.h"
#include "fs.h"
#include "libcurl.h"
#include "thread.h"
#include "com_list.h"
#include "image.h"
#include "jpeg.h"
#include "image_png.h"
Go to the source code of this file.
Data Structures | |
struct | CURLMsg |
struct | downloadinfo |
struct | requirement |
Macros | |
#define | CINIT(name, type, number) |
#define | CLEAR_AND_RETRY() |
#define | CURL_GLOBAL_NOTHING 0 |
#define | CURL_GLOBAL_SSL 1 |
#define | CURL_GLOBAL_WIN32 2 |
#define | CURLINFO_DOUBLE 0x300000 |
#define | CURLINFO_LONG 0x200000 |
#define | CURLINFO_MASK 0x0fffff |
#define | CURLINFO_SLIST 0x400000 |
#define | CURLINFO_STRING 0x100000 |
#define | CURLINFO_TYPEMASK 0xf00000 |
#define | CURLOPTTYPE_FUNCTIONPOINT 20000 |
#define | CURLOPTTYPE_LONG 0 |
#define | CURLOPTTYPE_OBJECTPOINT 10000 |
#define | CURLOPTTYPE_OFF_T 30000 |
#define | CURLPROTO_FTP (1<<2) |
#define | CURLPROTO_HTTP (1<<0) |
#define | CURLPROTO_HTTPS (1<<1) |
#define | LOADTYPE_CACHEPIC 2 |
#define | LOADTYPE_NONE 0 |
#define | LOADTYPE_PAK 1 |
#define | LOADTYPE_SKINFRAME 3 |
Typedefs | |
typedef struct CURL_s | CURL |
typedef struct curl_slist | curl_slist |
typedef struct CURLM_s | CURLM |
Enumerations | |
enum | curl_infotype { CURLINFO_TEXT = 0 , CURLINFO_HEADER_IN , CURLINFO_HEADER_OUT , CURLINFO_DATA_IN , CURLINFO_DATA_OUT , CURLINFO_SSL_DATA_IN , CURLINFO_SSL_DATA_OUT , CURLINFO_END } |
enum | CURLcode { CURLE_OK = 0 } |
enum | CURLINFO { CURLINFO_NONE , CURLINFO_EFFECTIVE_URL = CURLINFO_STRING + 1 , CURLINFO_RESPONSE_CODE = CURLINFO_LONG + 2 , CURLINFO_TOTAL_TIME = CURLINFO_DOUBLE + 3 , CURLINFO_NAMELOOKUP_TIME = CURLINFO_DOUBLE + 4 , CURLINFO_CONNECT_TIME = CURLINFO_DOUBLE + 5 , CURLINFO_PRETRANSFER_TIME = CURLINFO_DOUBLE + 6 , CURLINFO_SIZE_UPLOAD = CURLINFO_DOUBLE + 7 , CURLINFO_SIZE_DOWNLOAD = CURLINFO_DOUBLE + 8 , CURLINFO_SPEED_DOWNLOAD = CURLINFO_DOUBLE + 9 , CURLINFO_SPEED_UPLOAD = CURLINFO_DOUBLE + 10 , CURLINFO_HEADER_SIZE = CURLINFO_LONG + 11 , CURLINFO_REQUEST_SIZE = CURLINFO_LONG + 12 , CURLINFO_SSL_VERIFYRESULT = CURLINFO_LONG + 13 , CURLINFO_FILETIME = CURLINFO_LONG + 14 , CURLINFO_CONTENT_LENGTH_DOWNLOAD = CURLINFO_DOUBLE + 15 , CURLINFO_CONTENT_LENGTH_UPLOAD = CURLINFO_DOUBLE + 16 , CURLINFO_STARTTRANSFER_TIME = CURLINFO_DOUBLE + 17 , CURLINFO_CONTENT_TYPE = CURLINFO_STRING + 18 , CURLINFO_REDIRECT_TIME = CURLINFO_DOUBLE + 19 , CURLINFO_REDIRECT_COUNT = CURLINFO_LONG + 20 , CURLINFO_PRIVATE = CURLINFO_STRING + 21 , CURLINFO_HTTP_CONNECTCODE = CURLINFO_LONG + 22 , CURLINFO_HTTPAUTH_AVAIL = CURLINFO_LONG + 23 , CURLINFO_PROXYAUTH_AVAIL = CURLINFO_LONG + 24 , CURLINFO_OS_ERRNO = CURLINFO_LONG + 25 , CURLINFO_NUM_CONNECTS = CURLINFO_LONG + 26 , CURLINFO_SSL_ENGINES = CURLINFO_SLIST + 27 } |
enum | CURLMcode { CURLM_CALL_MULTI_PERFORM =-1 , CURLM_OK = 0 } |
enum | CURLMSG { CURLMSG_NONE , CURLMSG_DONE , CURLMSG_LAST } |
enum | CURLoption { CINIT =(WRITEDATA, OBJECTPOINT, 1) , CINIT =(WRITEDATA, OBJECTPOINT, 1) , CINIT =(WRITEDATA, OBJECTPOINT, 1) , CINIT =(WRITEDATA, OBJECTPOINT, 1) , CINIT =(WRITEDATA, OBJECTPOINT, 1) , CINIT =(WRITEDATA, OBJECTPOINT, 1) , CINIT =(WRITEDATA, OBJECTPOINT, 1) , CINIT =(WRITEDATA, OBJECTPOINT, 1) , CINIT =(WRITEDATA, OBJECTPOINT, 1) , CINIT =(WRITEDATA, OBJECTPOINT, 1) , CINIT =(WRITEDATA, OBJECTPOINT, 1) , CINIT =(WRITEDATA, OBJECTPOINT, 1) , CINIT =(WRITEDATA, OBJECTPOINT, 1) , CINIT =(WRITEDATA, OBJECTPOINT, 1) , CINIT =(WRITEDATA, OBJECTPOINT, 1) , CINIT =(WRITEDATA, OBJECTPOINT, 1) , CINIT =(WRITEDATA, OBJECTPOINT, 1) } |
enum | CurlStatus { CURL_DOWNLOAD_SUCCESS = 0 , CURL_DOWNLOAD_FAILED , CURL_DOWNLOAD_ABORTED , CURL_DOWNLOAD_SERVERERROR } |
Functions | |
static void | CheckPendingDownloads (void) |
static const char * | CleanURL (const char *url, char *urlbuf, size_t urlbuflength) |
qbool | Curl_Available (void) |
static qbool | Curl_Begin (const char *URL, const char *extraheaders, double maxspeed, const char *name, int loadtype, qbool forthismap, const char *post_content_type, const unsigned char *postbuf, size_t postbufsize, unsigned char *buf, size_t bufsize, curl_callback_t callback, void *cbdata) |
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_CancelAll (void) |
static void | Curl_CheckCommandWhenDone (void) |
void | Curl_Clear_forthismap (void) |
void | Curl_ClearRequirements (void) |
static void | CURL_CloseLibrary (void) |
static void | Curl_CommandWhenDone (const char *cmd) |
static void | Curl_CommandWhenError (const char *cmd) |
static void | Curl_Curl_f (cmd_state_t *cmd) |
static void | curl_default_callback (int status, size_t length_received, unsigned char *buffer, void *cbdata) |
static void | Curl_EndDownload (downloadinfo *di, CurlStatus status, CURLcode error, const char *content_type_) |
static downloadinfo * | Curl_Find (const char *filename) |
static const char * | Curl_FindPackURL (const char *filename) |
void | Curl_Frame (void) |
static size_t | CURL_fwrite (void *data, size_t size, size_t nmemb, void *vdi) |
static double | Curl_GetDownloadAmount (downloadinfo *di) |
Curl_downloadinfo_t * | Curl_GetDownloadInfo (int *nDownloads, const char **additional_info, char *addinfo, size_t addinfolength) |
static double | Curl_GetDownloadSpeed (downloadinfo *di) |
qbool | Curl_Have_forthismap (void) |
static void | Curl_Info_f (cmd_state_t *cmd) |
void | Curl_Init (void) |
void | Curl_Init_Commands (void) |
static qbool | CURL_OpenLibrary (void) |
static void | curl_quiet_callback (int status, size_t length_received, unsigned char *buffer, void *cbdata) |
void | Curl_Register_predownload (void) |
void | Curl_RequireFile (const char *filename) |
qbool | Curl_Running (void) |
bool | Curl_Select (int timeout_ms) |
static qbool | Curl_SendRequirement (const char *filename, qbool foundone, char *sendbuffer, size_t sendbuffer_len) |
void | Curl_SendRequirements (void) |
void | Curl_Shutdown (void) |
static unsigned char * | decode_image (downloadinfo *di, const char *content_type) |
LIST_HEAD (downloads) | |
Variables | |
static double | bytes_received = 0 |
static double | bytes_sent = 0 |
static char | command_when_done [256] = "" |
static char | command_when_error [256] = "" |
static dllhandle_t | curl_dll = NULL |
static cvar_t | curl_enabled = {CF_SHARED | CF_ARCHIVE, "curl_enabled","1", "whether libcurl may be used to GET files or POST data"} |
static cvar_t | curl_maxdownloads = {CF_SHARED | CF_ARCHIVE, "curl_maxdownloads","3", "maximum number of concurrent HTTP/FTP downloads"} |
static cvar_t | curl_maxspeed = {CF_SHARED | CF_ARCHIVE, "curl_maxspeed","0", "maximum download speed (KiB/s)"} |
void * | curl_mutex = NULL |
static cvar_t | curl_useragent = {CF_SHARED, "curl_useragent","1", "send the User-Agent string (note: turning this off may break stuff)"} |
static cvar_t | curl_useragent_append = {CF_SHARED, "curl_useragent_append","", "a string to append to the User-Agent string (useful for name and version number of your mod)"} |
static dllfunction_t | curlfuncs [] |
static CURLM * | curlm = NULL |
static double | curltime = 0 |
static cvar_t | developer_curl = {CF_SHARED, "developer_curl","0", "whether verbose libcurl output should be printed to stderr"} |
static qbool | noclear = false |
static int | numdownloads = 0 |
static int | numdownloads_added = 0 |
static int | numdownloads_fail = 0 |
static int | numdownloads_success = 0 |
static void(* | qcurl_easy_cleanup )(CURL *handle) |
static CURLcode(* | qcurl_easy_getinfo )(CURL *handle, CURLINFO info,...) |
static CURL *(* | qcurl_easy_init )(void) |
static CURLcode(* | qcurl_easy_setopt )(CURL *handle, CURLoption option,...) |
static const char *(* | qcurl_easy_strerror )(CURLcode) |
static void(* | qcurl_global_cleanup )(void) |
static void(* | qcurl_global_init )(long flags) |
static CURLMcode(* | qcurl_multi_add_handle )(CURLM *multi_handle, CURL *easy_handle) |
static void(* | qcurl_multi_cleanup )(CURLM *) |
static CURLMsg *(* | qcurl_multi_info_read )(CURLM *multi_handle, int *msgs_in_queue) |
static CURLM *(* | qcurl_multi_init )(void) |
static CURLMcode(* | qcurl_multi_perform )(CURLM *multi_handle, int *running_handles) |
static CURLMcode(* | qcurl_multi_remove_handle )(CURLM *multi_handle, CURL *easy_handle) |
static const char *(* | qcurl_multi_strerror )(CURLcode) |
static CURLMcode(* | qcurl_multi_wait )(CURLM *multi_handle, void *, unsigned int extra_nfds, int timeout_ms, int *ret) |
static curl_slist *(* | qcurl_slist_append )(curl_slist *list, const char *string) |
static void(* | qcurl_slist_free_all )(curl_slist *list) |
static requirement * | requirements = NULL |
static cvar_t | sv_curl_defaulturl = {CF_SERVER, "sv_curl_defaulturl","", "default autodownload source URL"} |
static cvar_t | sv_curl_maxspeed = {CF_SERVER, "sv_curl_maxspeed","0", "maximum download speed for clients downloading from sv_curl_defaulturl (KiB/s)"} |
static cvar_t | sv_curl_serverpackages = {CF_SERVER, "sv_curl_serverpackages","", "list of required files for the clients, separated by spaces"} |
#define CLEAR_AND_RETRY | ( | ) |
Referenced by Curl_EndDownload().
#define CURL_GLOBAL_SSL 1 |
Definition at line 48 of file libcurl.c.
Referenced by Curl_Init().
#define CURLPROTO_FTP (1<<2) |
Definition at line 79 of file libcurl.c.
Referenced by CheckPendingDownloads().
#define CURLPROTO_HTTP (1<<0) |
Definition at line 77 of file libcurl.c.
Referenced by CheckPendingDownloads().
#define CURLPROTO_HTTPS (1<<1) |
Definition at line 78 of file libcurl.c.
Referenced by CheckPendingDownloads().
#define LOADTYPE_CACHEPIC 2 |
Definition at line 200 of file libcurl.c.
Referenced by Curl_Curl_f(), and Curl_EndDownload().
#define LOADTYPE_NONE 0 |
Definition at line 198 of file libcurl.c.
Referenced by Curl_Begin(), and Curl_Curl_f().
#define LOADTYPE_PAK 1 |
Definition at line 199 of file libcurl.c.
Referenced by Curl_Begin(), Curl_Curl_f(), and Curl_EndDownload().
#define LOADTYPE_SKINFRAME 3 |
Definition at line 201 of file libcurl.c.
Referenced by Curl_Curl_f(), and Curl_EndDownload().
typedef struct curl_slist curl_slist |
enum curl_infotype |
Enumerator | |
---|---|
CURLINFO_TEXT | |
CURLINFO_HEADER_IN | |
CURLINFO_HEADER_OUT | |
CURLINFO_DATA_IN | |
CURLINFO_DATA_OUT | |
CURLINFO_SSL_DATA_IN | |
CURLINFO_SSL_DATA_OUT | |
CURLINFO_END |
enum CURLcode |
enum CURLINFO |
Definition at line 98 of file libcurl.c.
enum CURLMcode |
enum CURLMSG |
Enumerator | |
---|---|
CURLMSG_NONE | |
CURLMSG_DONE | |
CURLMSG_LAST |
enum CURLoption |
Enumerator | |
---|---|
CINIT | |
CINIT | |
CINIT | |
CINIT | |
CINIT | |
CINIT | |
CINIT | |
CINIT | |
CINIT | |
CINIT | |
CINIT | |
CINIT | |
CINIT | |
CINIT | |
CINIT | |
CINIT | |
CINIT |
Definition at line 55 of file libcurl.c.
enum CurlStatus |
Enumerator | |
---|---|
CURL_DOWNLOAD_SUCCESS | |
CURL_DOWNLOAD_FAILED | |
CURL_DOWNLOAD_ABORTED | |
CURL_DOWNLOAD_SERVERERROR |
Definition at line 683 of file libcurl.c.
References buf, downloadinfo::buffer, CleanURL(), Con_DPrintf(), Con_Print(), Con_Printf(), curl_dll, CURL_DOWNLOAD_FAILED, Curl_EndDownload(), CURL_fwrite(), curl_maxdownloads, curl_useragent, curl_useragent_append, downloadinfo::curle, CURLE_OK, curlm, CURLPROTO_FTP, CURLPROTO_HTTP, CURLPROTO_HTTPS, developer_curl, engineversion, downloadinfo::filename, FS_OpenRealFile(), FS_Seek(), FS_Tell(), cvar_t::integer, List_For_Each_Entry, Mem_Alloc, NULL, numdownloads, qcurl_easy_init, qcurl_easy_setopt, qcurl_multi_add_handle, qcurl_slist_append, downloadinfo::referer, downloadinfo::slist, downloadinfo::started, downloadinfo::startpos, downloadinfo::stream, cvar_t::string, strlen(), tempmempool, downloadinfo::url, and va().
Referenced by Curl_Frame().
|
static |
Definition at line 651 of file libcurl.c.
References dpsnprintf(), and r.
Referenced by CheckPendingDownloads(), Curl_Begin(), and Curl_Info_f().
Definition at line 840 of file libcurl.c.
References curl_dll, and true.
Referenced by checkextension().
|
static |
Definition at line 886 of file libcurl.c.
References netconn_t::address, b, buf, downloadinfo::buffer, downloadinfo::buffersize, downloadinfo::bytes_received, downloadinfo::bytes_received_curl, downloadinfo::bytes_sent_curl, downloadinfo::callback, downloadinfo::callback_data, CleanURL(), cls, Con_DPrintf(), Con_Printf(), curl_default_callback(), curl_dll, curl_enabled, Curl_Find(), curl_mutex, downloadinfo::curle, dp_strlcpy, dpsnprintf(), downloadinfo::extraheaders, f, downloadinfo::filename, downloadinfo::forthismap, FS_AddPack(), FS_Close(), FS_FileExists(), FS_OpenRealFile(), FS_Read(), Host_Error(), InfoString_GetValue(), cvar_t::integer, length, downloadinfo::list, List_Add(), downloadinfo::loadtype, LOADTYPE_NONE, LOADTYPE_PAK, MAX_OSPATH, downloadinfo::maxspeed, name, client_static_t::netcon, NULL, numdownloads_added, numdownloads_success, downloadinfo::post_content_type, downloadinfo::postbuf, downloadinfo::postbufsize, downloadinfo::referer, downloadinfo::started, downloadinfo::startpos, downloadinfo::stream, strlen(), Thread_LockMutex, Thread_UnlockMutex, downloadinfo::url, client_static_t::userinfo, and Z_Malloc.
Referenced by Curl_Begin_ToFile(), Curl_Begin_ToMemory(), and Curl_Begin_ToMemory_POST().
qbool Curl_Begin_ToFile | ( | const char * | URL, |
double | maxspeed, | ||
const char * | name, | ||
int | loadtype, | ||
qbool | forthismap ) |
Definition at line 1113 of file libcurl.c.
References Curl_Begin(), name, and NULL.
Referenced by Curl_Curl_f().
qbool Curl_Begin_ToMemory | ( | const char * | URL, |
double | maxspeed, | ||
unsigned char * | buf, | ||
size_t | bufsize, | ||
curl_callback_t | callback, | ||
void * | cbdata ) |
Definition at line 1117 of file libcurl.c.
References buf, Curl_Begin(), and NULL.
Referenced by Crypto_KeyGen_f().
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 ) |
Definition at line 1121 of file libcurl.c.
References buf, Curl_Begin(), and NULL.
Referenced by VM_uri_get().
void Curl_Cancel_ToMemory | ( | curl_callback_t | callback, |
void * | cbdata ) |
Definition at line 863 of file libcurl.c.
References downloadinfo::callback, downloadinfo::callback_data, curl_dll, CURL_DOWNLOAD_ABORTED, Curl_EndDownload(), curl_quiet_callback(), CURLE_OK, List_For_Each_Entry_Safe, and NULL.
Definition at line 1284 of file libcurl.c.
References curl_dll, CURL_DOWNLOAD_ABORTED, Curl_EndDownload(), curl_mutex, CURLE_OK, List_First_Entry, List_Is_Empty(), NULL, Thread_LockMutex, and Thread_UnlockMutex.
Referenced by CL_StopDownload_f(), Curl_Curl_f(), and Curl_Shutdown().
Definition at line 331 of file libcurl.c.
References Cbuf_AddText(), cmd_local, command_when_done, command_when_error, Con_DPrintf(), Curl_Clear_forthismap(), curl_dll, numdownloads_added, numdownloads_fail, and numdownloads_success.
Referenced by Curl_Curl_f(), and Curl_Frame().
Definition at line 287 of file libcurl.c.
References Curl_CommandWhenDone(), Curl_CommandWhenError(), curl_mutex, downloadinfo::forthismap, List_For_Each_Entry, noclear, NULL, numdownloads_added, numdownloads_fail, numdownloads_success, Thread_LockMutex, and Thread_UnlockMutex.
Referenced by CL_DisconnectEx(), Curl_CheckCommandWhenDone(), and Curl_Curl_f().
Definition at line 1795 of file libcurl.c.
References requirement::next, requirements, and Z_Free.
Referenced by Curl_Shutdown(), and SV_SpawnServer().
Definition at line 397 of file libcurl.c.
References curl_dll, and Sys_FreeLibrary().
Referenced by Curl_Shutdown().
|
static |
Definition at line 254 of file libcurl.c.
References cmd(), command_when_done, curl_dll, and dp_strlcpy.
Referenced by Curl_Clear_forthismap(), Curl_Curl_f(), and Curl_Register_predownload().
|
static |
Definition at line 270 of file libcurl.c.
References cmd(), command_when_error, curl_dll, and dp_strlcpy.
Referenced by Curl_Clear_forthismap(), and Curl_Register_predownload().
|
static |
Definition at line 1424 of file libcurl.c.
References a, netconn_t::address, cl, CL_Disconnect(), cls, cmd(), Cmd_Argc(), Cmd_Argv(), Con_Print(), Con_Printf(), Curl_Begin_ToFile(), Curl_CancelAll(), Curl_CheckCommandWhenDone(), Curl_Clear_forthismap(), Curl_CommandWhenDone(), curl_dll, CURL_DOWNLOAD_ABORTED, curl_enabled, Curl_EndDownload(), Curl_Find(), Curl_Info_f(), Curl_Register_predownload(), CURLE_OK, dpsnprintf(), FS_FileExists(), i, cvar_t::integer, client_state_t::loadbegun, LOADTYPE_CACHEPIC, LOADTYPE_NONE, LOADTYPE_PAK, LOADTYPE_SKINFRAME, name, client_static_t::netcon, noclear, NULL, and numdownloads_added.
Referenced by Curl_Init_Commands().
|
static |
Definition at line 456 of file libcurl.c.
References Con_DPrintf(), CURLCBSTATUS_ABORTED, CURLCBSTATUS_FAILED, CURLCBSTATUS_OK, CURLCBSTATUS_SERVERERROR, CURLCBSTATUS_UNKNOWN, and downloadinfo::filename.
Referenced by Curl_Begin(), and curl_quiet_callback().
|
static |
Definition at line 521 of file libcurl.c.
References downloadinfo::buffer, downloadinfo::bytes_received, downloadinfo::callback, downloadinfo::callback_data, CLEAR_AND_RETRY, Con_Printf(), curl_dll, CURL_DOWNLOAD_ABORTED, CURL_DOWNLOAD_FAILED, CURL_DOWNLOAD_SERVERERROR, CURL_DOWNLOAD_SUCCESS, CURLCBSTATUS_ABORTED, CURLCBSTATUS_FAILED, CURLCBSTATUS_OK, CURLCBSTATUS_SERVERERROR, CURLCBSTATUS_UNKNOWN, downloadinfo::curle, curlm, decode_image(), dp_strlcpy, Draw_NewPic(), error(), downloadinfo::filename, downloadinfo::forthismap, FS_AddPack(), FS_Close(), FS_OpenRealFile(), image_height, image_width, downloadinfo::list, List_Delete(), downloadinfo::loadtype, LOADTYPE_CACHEPIC, LOADTYPE_PAK, LOADTYPE_SKINFRAME, NULL, numdownloads, numdownloads_fail, numdownloads_success, pixels, qcurl_easy_cleanup, qcurl_multi_remove_handle, qcurl_slist_free_all, R_SkinFrame_LoadInternalBGRA(), downloadinfo::slist, downloadinfo::stream, TEXF_ALPHA, TEXF_CLAMP, TEXF_FORCE_RELOAD, TEXF_MIPMAP, TEXTYPE_BGRA, and Z_Free.
Referenced by CheckPendingDownloads(), Curl_Cancel_ToMemory(), Curl_CancelAll(), Curl_Curl_f(), and Curl_Frame().
|
static |
Definition at line 852 of file libcurl.c.
References curl_dll, downloadinfo::filename, List_For_Each_Entry, and NULL.
Referenced by Curl_Begin(), and Curl_Curl_f().
|
static |
Definition at line 1701 of file libcurl.c.
References buf, dp_strlcpy, FS_LoadFile(), matchpattern(), NULL, cvar_t::string, sv_curl_defaulturl, tempmempool, and Z_Free.
Referenced by Curl_SendRequirement().
Definition at line 1134 of file libcurl.c.
References b, bytes_received, downloadinfo::bytes_received_curl, bytes_sent, downloadinfo::bytes_sent_curl, ca_dedicated, CheckPendingDownloads(), cls, Curl_CheckCommandWhenDone(), curl_dll, CURL_DOWNLOAD_FAILED, CURL_DOWNLOAD_SERVERERROR, CURL_DOWNLOAD_SUCCESS, curl_enabled, Curl_EndDownload(), curl_maxspeed, curl_mutex, downloadinfo::curle, CURLINFO_CONTENT_TYPE, CURLINFO_PRIVATE, CURLINFO_RESPONSE_CODE, CURLINFO_SIZE_DOWNLOAD, CURLINFO_SIZE_UPLOAD, curlm, CURLM_CALL_MULTI_PERFORM, CURLMSG_DONE, curltime, CURLMsg::data, CURLMsg::easy_handle, host, cvar_t::integer, List_For_Each_Entry, List_Is_Empty(), downloadinfo::maxspeed, CURLMsg::msg, noclear, NULL, qcurl_easy_getinfo, qcurl_multi_info_read, qcurl_multi_perform, host_static_t::realtime, CURLMsg::result, client_static_t::state, Thread_LockMutex, Thread_UnlockMutex, and cvar_t::value.
Referenced by Host_Frame().
Definition at line 416 of file libcurl.c.
References downloadinfo::buffer, downloadinfo::bytes_received, data, FS_Write(), ret, size, and downloadinfo::stream.
Referenced by CheckPendingDownloads().
|
static |
Definition at line 1323 of file libcurl.c.
References downloadinfo::bytes_received, curl_dll, downloadinfo::curle, CURLINFO_CONTENT_LENGTH_DOWNLOAD, length, qcurl_easy_getinfo, and downloadinfo::startpos.
Referenced by Curl_GetDownloadInfo(), and Curl_Info_f().
Curl_downloadinfo_t * Curl_GetDownloadInfo | ( | int * | nDownloads, |
const char ** | additional_info, | ||
char * | addinfo, | ||
size_t | addinfolength ) |
Definition at line 1612 of file libcurl.c.
References downloadinfo::buffer, command_when_done, curl_dll, Curl_GetDownloadAmount(), Curl_GetDownloadSpeed(), curl_mutex, downloadinfo::curle, developer, dp_strlcpy, dpsnprintf(), Curl_downloadinfo_t::filename, downloadinfo::filename, i, cvar_t::integer, List_For_Each_Entry, NULL, numdownloads_added, numdownloads_fail, Curl_downloadinfo_t::progress, Curl_downloadinfo_t::queued, Curl_downloadinfo_t::speed, Thread_LockMutex, Thread_UnlockMutex, and Z_Malloc.
Referenced by SCR_DrawCurlDownload(), and SCR_InfobarHeight().
|
static |
Definition at line 1347 of file libcurl.c.
References curl_dll, downloadinfo::curle, CURLINFO_SPEED_DOWNLOAD, and qcurl_easy_getinfo.
Referenced by Curl_GetDownloadInfo(), and Curl_Info_f().
Definition at line 310 of file libcurl.c.
References numdownloads_added.
Referenced by CL_BeginDownloads().
|
static |
Definition at line 1369 of file libcurl.c.
References CleanURL(), Con_Print(), Con_Printf(), curl_dll, Curl_GetDownloadAmount(), Curl_GetDownloadSpeed(), curl_mutex, Curl_Running(), downloadinfo::filename, List_For_Each_Entry, Thread_LockMutex, Thread_UnlockMutex, and downloadinfo::url.
Referenced by Curl_Curl_f().
Definition at line 810 of file libcurl.c.
References curl_dll, CURL_GLOBAL_SSL, curl_mutex, CURL_OpenLibrary(), curlm, qcurl_global_init, qcurl_multi_init, Thread_CreateMutex, and Thread_HasThreads().
Referenced by Host_Init().
Definition at line 1578 of file libcurl.c.
References CF_CLIENT, CF_CLIENT_FROM_SERVER, Cmd_AddCommand(), Curl_Curl_f(), curl_enabled, curl_maxdownloads, curl_maxspeed, curl_useragent, curl_useragent_append, Cvar_RegisterVariable(), Cvar_RegisterVirtual(), developer_curl, sv_curl_defaulturl, sv_curl_maxspeed, and sv_curl_serverpackages.
Referenced by Host_Init().
Definition at line 362 of file libcurl.c.
References curl_dll, curlfuncs, NULL, and Sys_LoadDependency().
Referenced by Curl_Init().
|
static |
Definition at line 482 of file libcurl.c.
References buffer, and curl_default_callback().
Referenced by Curl_Cancel_ToMemory().
Definition at line 315 of file libcurl.c.
References Curl_CommandWhenDone(), Curl_CommandWhenError(), curl_mutex, Thread_LockMutex, and Thread_UnlockMutex.
Referenced by CL_BeginDownloads(), and Curl_Curl_f().
void Curl_RequireFile | ( | const char * | filename | ) |
Definition at line 1779 of file libcurl.c.
References dp_strlcpy, requirement::filename, requirement::next, requirements, and Z_Malloc.
Referenced by SV_SpawnServer().
Definition at line 1307 of file libcurl.c.
References curl_dll, and List_Is_Empty().
Referenced by Curl_Info_f().
bool Curl_Select | ( | int | timeout_ms | ) |
Definition at line 1263 of file libcurl.c.
References CON_ERROR, Con_Printf(), curlm, CURLM_OK, List_Is_Empty(), NULL, and qcurl_multi_wait.
Referenced by Sys_Sleep().
|
static |
Definition at line 1817 of file libcurl.c.
References Curl_FindPackURL(), dp_strlcat, dpsnprintf(), FS_WhichPack(), strlen(), sv_curl_maxspeed, and cvar_t::value.
Referenced by Curl_SendRequirements().
Definition at line 1853 of file libcurl.c.
References COM_ParseToken_Simple(), com_token, Con_Printf(), Curl_SendRequirement(), dp_strlcat, requirement::filename, requirement::next, requirements, cvar_t::string, strlen(), SV_ClientCommands(), and sv_curl_serverpackages.
Referenced by SV_SendServerinfo().
Definition at line 828 of file libcurl.c.
References Curl_CancelAll(), Curl_ClearRequirements(), CURL_CloseLibrary(), curl_dll, curl_mutex, NULL, and Thread_DestroyMutex.
Referenced by Host_Shutdown().
|
static |
Definition at line 487 of file libcurl.c.
References Con_Printf(), data, downloadinfo::filename, FS_LoadFile(), JPEG_LoadImage_BGRA(), Mem_Free, NULL, pixels, PNG_LoadImage_BGRA(), and tempmempool.
Referenced by Curl_EndDownload().
LIST_HEAD | ( | downloads | ) |
|
static |
Definition at line 404 of file libcurl.c.
Referenced by Curl_Frame().
|
static |
Definition at line 405 of file libcurl.c.
Referenced by Curl_Frame().
|
static |
Definition at line 242 of file libcurl.c.
Referenced by Curl_CheckCommandWhenDone(), Curl_CommandWhenDone(), and Curl_GetDownloadInfo().
|
static |
Definition at line 243 of file libcurl.c.
Referenced by Curl_CheckCommandWhenDone(), and Curl_CommandWhenError().
|
static |
Definition at line 195 of file libcurl.c.
Referenced by CheckPendingDownloads(), Curl_Available(), Curl_Begin(), Curl_Cancel_ToMemory(), Curl_CancelAll(), Curl_CheckCommandWhenDone(), CURL_CloseLibrary(), Curl_CommandWhenDone(), Curl_CommandWhenError(), Curl_Curl_f(), Curl_EndDownload(), Curl_Find(), Curl_Frame(), Curl_GetDownloadAmount(), Curl_GetDownloadInfo(), Curl_GetDownloadSpeed(), Curl_Info_f(), Curl_Init(), CURL_OpenLibrary(), Curl_Running(), and Curl_Shutdown().
|
static |
Definition at line 10 of file libcurl.c.
Referenced by Curl_Begin(), Curl_Curl_f(), Curl_Frame(), and Curl_Init_Commands().
|
static |
Definition at line 11 of file libcurl.c.
Referenced by CheckPendingDownloads(), and Curl_Init_Commands().
|
static |
Definition at line 203 of file libcurl.c.
Referenced by Curl_Begin(), Curl_CancelAll(), Curl_Clear_forthismap(), Curl_Frame(), Curl_GetDownloadInfo(), Curl_Info_f(), Curl_Init(), Curl_Register_predownload(), and Curl_Shutdown().
|
static |
Definition at line 13 of file libcurl.c.
Referenced by CheckPendingDownloads(), and Curl_Init_Commands().
|
static |
Definition at line 14 of file libcurl.c.
Referenced by CheckPendingDownloads(), and Curl_Init_Commands().
|
static |
Definition at line 172 of file libcurl.c.
Referenced by CURL_OpenLibrary().
Definition at line 403 of file libcurl.c.
Referenced by CheckPendingDownloads(), Curl_EndDownload(), Curl_Frame(), Curl_Init(), and Curl_Select().
|
static |
Definition at line 406 of file libcurl.c.
Referenced by Curl_Frame().
|
static |
Definition at line 20 of file libcurl.c.
Referenced by CheckPendingDownloads(), and Curl_Init_Commands().
Definition at line 237 of file libcurl.c.
Referenced by Curl_Clear_forthismap(), Curl_Curl_f(), and Curl_Frame().
|
static |
Definition at line 235 of file libcurl.c.
Referenced by CheckPendingDownloads(), and Curl_EndDownload().
|
static |
Definition at line 241 of file libcurl.c.
Referenced by Curl_Begin(), Curl_CheckCommandWhenDone(), Curl_Clear_forthismap(), Curl_Curl_f(), Curl_GetDownloadInfo(), and Curl_Have_forthismap().
|
static |
Definition at line 239 of file libcurl.c.
Referenced by Curl_CheckCommandWhenDone(), Curl_Clear_forthismap(), Curl_EndDownload(), and Curl_GetDownloadInfo().
|
static |
Definition at line 240 of file libcurl.c.
Referenced by Curl_Begin(), Curl_CheckCommandWhenDone(), Curl_Clear_forthismap(), and Curl_EndDownload().
Definition at line 156 of file libcurl.c.
Referenced by Curl_EndDownload().
|
static |
Definition at line 158 of file libcurl.c.
Referenced by Curl_Frame(), Curl_GetDownloadAmount(), and Curl_GetDownloadSpeed().
Definition at line 155 of file libcurl.c.
Referenced by CheckPendingDownloads().
|
static |
Definition at line 157 of file libcurl.c.
Referenced by CheckPendingDownloads().
Definition at line 152 of file libcurl.c.
Referenced by Curl_Init().
|
static |
Definition at line 164 of file libcurl.c.
Referenced by CheckPendingDownloads().
|
static |
Definition at line 166 of file libcurl.c.
Referenced by Curl_Frame().
Definition at line 161 of file libcurl.c.
Referenced by Curl_Init().
|
static |
Definition at line 162 of file libcurl.c.
Referenced by Curl_Frame().
|
static |
Definition at line 165 of file libcurl.c.
Referenced by Curl_EndDownload().
|
static |
Definition at line 163 of file libcurl.c.
Referenced by Curl_Select().
|
static |
Definition at line 169 of file libcurl.c.
Referenced by CheckPendingDownloads().
|
static |
Definition at line 170 of file libcurl.c.
Referenced by Curl_EndDownload().
|
static |
Definition at line 1769 of file libcurl.c.
Referenced by Curl_ClearRequirements(), Curl_RequireFile(), and Curl_SendRequirements().
|
static |
Definition at line 16 of file libcurl.c.
Referenced by Curl_FindPackURL(), and Curl_Init_Commands().
|
static |
Definition at line 18 of file libcurl.c.
Referenced by Curl_Init_Commands(), and Curl_SendRequirement().
|
static |
Definition at line 17 of file libcurl.c.
Referenced by Curl_Init_Commands(), and Curl_SendRequirements().