00001
00002
00003
00004
00005 #ifndef __PROGRESS_H
00006 #define __PROGRESS_H
00007
00008 #include "timeval.h"
00009
00010 typedef enum {
00011 TIMER_NONE,
00012 TIMER_NAMELOOKUP,
00013 TIMER_CONNECT,
00014 TIMER_PRETRANSFER,
00015 TIMER_STARTTRANSFER,
00016 TIMER_POSTRANSFER,
00017 TIMER_STARTSINGLE,
00018 TIMER_REDIRECT,
00019 TIMER_LAST
00020 } timerid;
00021
00022 void Curl_pgrsDone(struct connectdata *);
00023 void Curl_pgrsStartNow(struct SessionHandle *data);
00024 void Curl_pgrsSetDownloadSize(struct SessionHandle *data, curl_off_t size);
00025 void Curl_pgrsSetUploadSize(struct SessionHandle *data, curl_off_t size);
00026 void Curl_pgrsSetDownloadCounter(struct SessionHandle *data, curl_off_t size);
00027 void Curl_pgrsSetUploadCounter(struct SessionHandle *data, curl_off_t size);
00028 int Curl_pgrsUpdate(struct connectdata *);
00029 void Curl_pgrsResetTimes(struct SessionHandle *data);
00030 void Curl_pgrsTime(struct SessionHandle *data, timerid timer);
00031
00032 #define LEAST_SIZE_PROGRESS BUFSIZE
00033
00034 #define PROGRESS_DOWNLOAD (1<<0)
00035 #define PROGRESS_UPLOAD (1<<1)
00036 #define PROGRESS_DOWN_AND_UP (PROGRESS_UPLOAD | PROGRESS_DOWNLOAD)
00037
00038 #define PGRS_SHOW_DL (1<<0)
00039 #define PGRS_SHOW_UL (1<<1)
00040 #define PGRS_DONE_DL (1<<2)
00041 #define PGRS_DONE_UL (1<<3)
00042 #define PGRS_HIDE (1<<4)
00043 #define PGRS_UL_SIZE_KNOWN (1<<5)
00044 #define PGRS_DL_SIZE_KNOWN (1<<6)
00045
00046 #define PGRS_HEADERS_OUT (1<<7)
00047
00048 #endif