#include <stdio.h>
#include <curl/curl.h>

int simple_progress(void *start, double dltotal, double dlnow, double ultotal, double ulnow) {
  //fflush(stdout);
  //fprintf(stderr, "dur=%lu, dltotal=%f, dlnow=%f, ultotal=%f, ulnow=%f\n", time(NULL) - *(time_t *)start , dltotal, dlnow, ultotal, ulnow);
  return 0;
}

int main(void)
{
  CURL *curl;
  CURLcode res;
  time_t start = time(NULL);

  curl = curl_easy_init();
  if(curl) {
    curl_easy_setopt(curl, CURLOPT_URL, "file:///tmp/2m");
    curl_easy_setopt(curl, CURLOPT_MAX_RECV_SPEED_LARGE, 4096);

    curl_easy_setopt(curl, CURLOPT_NOPROGRESS, 0l);
    curl_easy_setopt(curl , CURLOPT_PROGRESSFUNCTION, &simple_progress);
    curl_easy_setopt(curl, CURLOPT_PROGRESSDATA, &start);

    res = curl_easy_perform(curl);
    if(res != CURLE_OK)
      fprintf(stderr, "curl_easy_perform() failed: %s\n",
              curl_easy_strerror(res));

    curl_easy_cleanup(curl);
  }
  return 0;
}

