mirror of
https://github.com/fangfufu/httpdirfs.git
synced 2024-09-27 20:51:55 +02:00
46 lines
973 B
C
46 lines
973 B
C
#ifndef NETWORK_H
|
|
#define NETWORK_H
|
|
|
|
/**
|
|
* \file network.h
|
|
* \brief network related functions
|
|
*/
|
|
|
|
typedef struct TransferStruct TransferStruct;
|
|
|
|
#include "link.h"
|
|
|
|
#include <curl/curl.h>
|
|
|
|
/** \brief HTTP response codes */
|
|
typedef enum {
|
|
HTTP_OK = 200,
|
|
HTTP_PARTIAL_CONTENT = 206,
|
|
HTTP_RANGE_NOT_SATISFIABLE = 416,
|
|
HTTP_TOO_MANY_REQUESTS = 429,
|
|
HTTP_CLOUDFLARE_UNKNOWN_ERROR = 520,
|
|
HTTP_CLOUDFLARE_TIMEOUT = 524
|
|
} HTTPResponseCode;
|
|
|
|
/** \brief curl shared interface */
|
|
extern CURLSH *CURL_SHARE;
|
|
|
|
/** \brief perform one transfer cycle */
|
|
int curl_multi_perform_once(void);
|
|
|
|
/** \brief initialise the network module */
|
|
void NetworkSystem_init(void);
|
|
|
|
/** \brief blocking file transfer */
|
|
void transfer_blocking(CURL *curl);
|
|
|
|
/** \brief non blocking file transfer */
|
|
void transfer_nonblocking(CURL *curl);
|
|
|
|
/**
|
|
* \brief check if a HTTP response code corresponds to a temporary failure
|
|
*/
|
|
int HTTP_temp_failure(HTTPResponseCode http_resp);
|
|
|
|
#endif
|