httpdirfs/network.h

40 lines
673 B
C
Raw Normal View History

2018-07-21 03:51:49 +02:00
#ifndef NETWORK_H
#define NETWORK_H
2018-07-22 12:50:51 +02:00
2018-07-26 11:29:44 +02:00
#include "link.h"
2018-07-24 19:15:56 +02:00
#define CURL_MULTI_MAX_CONNECTION 20
2018-07-26 11:29:44 +02:00
typedef struct {
char *memory;
size_t size;
} MemoryStruct;
typedef enum {
2018-07-26 11:29:44 +02:00
FILESTAT = 's',
DATA = 'd'
} TransferType;
typedef struct {
TransferType type;
int transferring;
Link *link;
} TransferStruct;
/** \brief curl shared interface */
extern CURLSH *curl_share;
int curl_multi_perform_once();
/** \brief Initialise the network module */
2018-07-22 12:50:51 +02:00
void network_init(const char *url);
2018-07-26 11:29:44 +02:00
void transfer_blocking(CURL *curl);
2018-07-26 11:29:44 +02:00
void transfer_nonblocking(CURL *curl);
2018-07-20 16:38:44 +02:00
2018-07-26 11:29:44 +02:00
size_t
WriteMemoryCallback(void *contents, size_t size, size_t nmemb, void *userp);
2018-07-18 17:26:26 +02:00
#endif