Blame include/fopen.h

Packit Service 5e8d2a
/* see src/fopen.c for copyright information */
Packit Service 5e8d2a
Packit Service 5e8d2a
#ifndef _FOPEN_H_INCLUDED
Packit Service 5e8d2a
#define _FOPEN_H_INCLUDED
Packit Service 5e8d2a
Packit Service 5e8d2a
#include <stdio.h>
Packit Service 5e8d2a
#include <string.h>
Packit Service 5e8d2a
#ifndef WIN32
Packit Service 5e8d2a
#  include <sys/time.h>
Packit Service 5e8d2a
#endif
Packit Service 5e8d2a
#include <stdlib.h>
Packit Service 5e8d2a
#include <errno.h>
Packit Service 5e8d2a
Packit Service 5e8d2a
#include <curl/curl.h>
Packit Service 5e8d2a
Packit Service 5e8d2a
enum fcurl_type_e {
Packit Service 5e8d2a
  CFTYPE_NONE=0,
Packit Service 5e8d2a
  CFTYPE_FILE=1,
Packit Service 5e8d2a
  CFTYPE_CURL=2
Packit Service 5e8d2a
};
Packit Service 5e8d2a
Packit Service 5e8d2a
struct fcurl_data
Packit Service 5e8d2a
{
Packit Service 5e8d2a
  enum fcurl_type_e type;     /* type of handle */
Packit Service 5e8d2a
  union {
Packit Service 5e8d2a
    CURL *curl;
Packit Service 5e8d2a
    FILE *file;
Packit Service 5e8d2a
  } handle;                   /* handle */
Packit Service 5e8d2a
Packit Service 5e8d2a
  char *buffer;               /* buffer to store cached data*/
Packit Service 5e8d2a
  size_t buffer_len;          /* currently allocated buffers length */
Packit Service 5e8d2a
  size_t buffer_pos;          /* end of data in buffer*/
Packit Service 5e8d2a
  int still_running;          /* Is background url fetch still in progress */
Packit Service 5e8d2a
};
Packit Service 5e8d2a
Packit Service 5e8d2a
typedef struct fcurl_data URL_FILE;
Packit Service 5e8d2a
Packit Service 5e8d2a
/* exported functions */
Packit Service 5e8d2a
URL_FILE *url_fopen(const char *url,const char *operation);
Packit Service 5e8d2a
int url_fclose(URL_FILE *file);
Packit Service 5e8d2a
int url_feof(URL_FILE *file);
Packit Service 5e8d2a
size_t url_fread(void *ptr, size_t size, size_t nmemb, URL_FILE *file);
Packit Service 5e8d2a
char * url_fgets(char *ptr, size_t size, URL_FILE *file);
Packit Service 5e8d2a
void url_rewind(URL_FILE *file);
Packit Service 5e8d2a
Packit Service 5e8d2a
#endif /* _FOPEN_H_INCLUDED */