blob: cce9aea13b3f10f86f406bc7d62a336ae274ff1b (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
#ifndef L2SU_DOWNLOADPOOL_H_INCLUDED
#define L2SU_DOWNLOADPOOL_H_INCLUDED
#include <curl/curl.h>
typedef struct l2_dlpool__pool_tag l2_dlpool_t;
/* returns <0 for "error" (this handle is not used)
* returns 0 for "ok I have made my changes" */
typedef int (l2_dlpool_download_init_proc_t)(CURL * /*easy*/, void * /*user*/);
/* returns <0 for "give up on downloading everything (error)"
* returns anything else for "download succeeded (proceed)" */
typedef int (l2_dlpool_one_downloaded_proc_t)(CURL * /*easy*/, CURLcode /*code*/, void * /*user*/);
l2_dlpool_t *l2_dlpool_init(l2_dlpool_download_init_proc_t *init, l2_dlpool_one_downloaded_proc_t *dlproc);
l2_dlpool_t *l2_dlpool_init2(l2_dlpool_download_init_proc_t *init, l2_dlpool_one_downloaded_proc_t *dlproc, size_t handles);
/* returns >0 for a successful addition, 0 for aborted (init proc returned <0), <0 for error */
int l2_dlpool_add(l2_dlpool_t *pool, void *user);
int l2_dlpool_perform(l2_dlpool_t *pool);
void l2_dlpool_cleanup(l2_dlpool_t *pool);
#endif /* include guard */
|