Skip to content
Snippets Groups Projects
urldata.h 42.7 KiB
Newer Older
  • Learn to ignore specific revisions
  •   curl_TimeCond timecondition; /* kind of time/date comparison */
    
      time_t timevalue;       /* what time to compare with */
    
      curl_closepolicy closepolicy; /* connection cache close concept */
      Curl_HttpReq httpreq;   /* what kind of HTTP request (if any) is this */
      char *customrequest;    /* HTTP/FTP request to use */
    
      long httpversion; /* when non-zero, a specific HTTP version requested to
                           be used in the library's request(s) */
    
      char *auth_host; /* if set, this is the allocated string to the host name
                        * to which to send the authorization data to, and no other
                        * host (which location-following otherwise could lead to)
                        */
    
      char *krb4_level; /* what security level */
    
      struct ssl_config_data ssl;  /* user defined SSL stuff */
    
      curl_proxytype proxytype; /* what kind of proxy that is in use */
    
    
      int dns_cache_timeout; /* DNS cache timeout */
    
      long buffer_size;      /* size of receive buffer to use */
    
      char *private_data; /* Private data */
    
    
      struct curl_slist *http200aliases; /* linked list of aliases for http200 */
    
      curl_off_t max_filesize; /* Maximum file size to download */
    
      char *source_url;     /* for 3rd party transfer */
    
      char *source_userpwd;  /* for 3rd party transfer */
    
    
    /* Here follows boolean settings that define how to behave during
       this session. They are STATIC, set by libcurl users or at least initially
       and they don't change during operations. */
    
    
      bool printhost;       /* printing host name in debug info */
    
      bool get_filetime;
      bool tunnel_thru_httpproxy;
      bool ftp_append;
      bool ftp_ascii;
      bool ftp_list_only;
    
      bool ftp_use_port;
      bool hide_progress;
      bool http_fail_on_error;
      bool http_follow_location;
    
      bool http_disable_hostname_check_before_authentication;
    
      bool include_header;   /* include received protocol headers in data output */
    
      bool http_set_referer;
      bool http_auto_referer; /* set "correct" referer when following location: */
    
      bool opt_no_body;      /* as set with CURLOPT_NO_BODY */
    
      enum CURL_NETRC_OPTION
           use_netrc;        /* defined in include/curl.h */
    
      char *netrc_file;      /* if not NULL, use this instead of trying to find
                                $HOME/.netrc */
    
      bool verbose;
      bool krb4;             /* kerberos4 connection requested */
      bool reuse_forbid;     /* forbidden to be reused, close after use */
      bool reuse_fresh;      /* do not re-use an existing connection  */
      bool expect100header;  /* TRUE if we added Expect: 100-continue */
    
      bool ftp_use_epsv;     /* if EPSV is to be attempted or not */
    
      bool ftp_use_eprt;     /* if EPRT is to be attempted or not */
    
    Daniel Stenberg's avatar
    Daniel Stenberg committed
      bool ftp_use_lprt;     /* if LPRT is to be attempted or not */
    
      curl_ftpssl ftp_ssl;   /* if AUTH TLS is to be attempted etc */
    
      curl_ftpauth ftpsslauth; /* what AUTH XXX to be attempted */
    
      bool no_signal;        /* do not use any signal/alarm handler */
    
      bool global_dns_cache; /* subject for future removal */
      bool tcp_nodelay;      /* whether to enable TCP_NODELAY or not */
    
    /*
     * In August 2001, this struct was redesigned and is since stricter than
     * before. The 'connectdata' struct MUST have all the connection oriented
     * stuff as we may now have several simultaneous connections and connection
     * structs in memory.
     *
     * From now on, the 'SessionHandle' must only contain data that is set once to
     * go for many (perhaps) independent connections. Values that are generated or
     * calculated internally for the "session handle" must be defined within the
     * 'struct urlstate' instead.  */
    
    struct SessionHandle {
    
      void *multi;                 /* if non-NULL, points to the multi handle
                                      struct of which this "belongs" */
    
      struct Curl_share *share;    /* Share, handles global variable mutexing */
    
      struct UserDefined set;      /* values set by the libcurl user */
      struct DynamicStatic change; /* possibly modified userdefined data */
    
      struct CookieInfo *cookies;  /* the cookies, read from files and servers */
      struct Progress progress;    /* for all the progress meter data */
      struct UrlState state;       /* struct for fields used for state info and
                                      other dynamic purposes */
      struct PureInfo info;        /* stats, reports and info data */
    
    Daniel Stenberg's avatar
    Daniel Stenberg committed
    };
    
    #define LIBCURL_NAME "libcurl"
    
    #endif