$Id$
                                  _   _ ____  _     
                              ___| | | |  _ \| |    
                             / __| | | | |_) | |    
                            | (__| |_| |  _ <| |___ 
                             \___|\___/|_| \_\_____|

                     Source Code Functions Apps Might Use
                     ====================================

The libcurl source code offers a few functions by source only. They are not
part of the official libcurl API, but the source files might be useful for
others so apps can optionally compile/build with these sources to gain
additional functions.

We provide them through a single header file for easy access for apps:
"curlx.h"

 curlx_strtoofft()

   A macro that converts a string containing a number to a curl_off_t number.
   This might use the curlx_strtoll() function which is provided as source
   code in strtoofft.c. Note that the function is only provided if no
   strtoll() (or equivalent) function exist on your platform. If curl_off_t
   is only a 32 bit number on your platform, this macro uses strtol().

 curlx_tvnow()

   returns a struct timeval for the current time.

 curlx_tvdiff()

   returns the difference between two timeval structs, in number of
   milliseconds.

 curlx_tvdiff_secs()

   returns the same as curlx_tvdiff but with full usec resolution (as a
   double)

FUTURE
======

 Several functions will be removed from the public curl_ name space in a
 future libcurl release. They will then only become available as curlx_
 functions instead. To make the transition easier, we already today provide
 these functions with the curlx_ prefix to allow sources to get built properly
 with the new function names. The functions this concerns are:

      curlx_getenv
      curlx_strequal
      curlx_strnequal
      curlx_mvsnprintf
      curlx_msnprintf
      curlx_maprintf
      curlx_mvaprintf
      curlx_msprintf
      curlx_mprintf
      curlx_mfprintf
      curlx_mvsprintf
      curlx_mvprintf
      curlx_mvfprintf