#ifndef __config_h
#define __config_h

/* optimal buffer size on this platform, set this from autoconf later */
#define FLOOD_IOBUF 8192

/* maximum number of characters we'll allow in a typical string, hack */
#define FLOOD_STRLEN_MAX 256

/* XML symbolic roots to the various objects we define. */
#define XML_FLOOD "flood"
#define XML_FLOOD_CONFIG_VERSION "configversion"
#define XML_SEED "seed"
#define XML_URLLIST "urllist"
#define XML_URLLIST_SEQUENCE "sequence"
#define XML_URLLIST_SEQUENCE_NAME "sequencename"
#define XML_URLLIST_SEQUENCE_LIST "sequencelist"
#define XML_URLLIST_BASE_URL "baseurl"
#define XML_URLLIST_PROXY_URL "proxyurl"
#define XML_URLLIST_URL "url"
#define XML_URLLIST_METHOD "method"
#define XML_URLLIST_METHOD_GET "get"
#define XML_URLLIST_METHOD_POST "post"
#define XML_URLLIST_METHOD_HEAD "head"
#define XML_URLLIST_PAYLOAD "payload"
#define XML_URLLIST_CONTENT_TYPE "content-type"
#define XML_URLLIST_PAYLOAD_TEMPLATE "payloadtemplate"
#define XML_URLLIST_REQUEST_TEMPLATE "requesttemplate"
#define XML_URLLIST_RESPONSE_TEMPLATE "responsetemplate"
#define XML_URLLIST_RESPONSE_SCRIPT "responsescript"
#define XML_URLLIST_RESPONSE_NAME "responsename"
#define XML_URLLIST_PROXY "proxy"
#define XML_URLLIST_PREDELAY "predelay"
#define XML_URLLIST_PREDELAYPRECISION "predelayprecision"
#define XML_URLLIST_POSTDELAY "postdelay"
#define XML_URLLIST_POSTDELAYPRECISION "postdelayprecision"
#define XML_URLLIST_USER "user"
#define XML_URLLIST_PASSWORD "password"
#define XML_URLLIST_NAME "name"
#define XML_PROFILE "profile"
#define XML_PROFILE_COUNT "count"
#define XML_PROFILE_USEURLLIST "useurllist"
#define XML_FARMER "farmer"
#define XML_FARMER_NAME "name"
#define XML_FARMER_COUNT "count"
#define XML_FARMER_TIME "time"
#define XML_FARMER_USEPROFILE "useprofile"
#define XML_FARM "farm"
#define XML_FARM_NAME "name"
#define XML_FARM_USEFARMER "usefarmer"
#define XML_FARM_USEFARMER_COUNT "count"
#define XML_FARM_USEFARMER_DELAY "startdelay"
#define XML_FARM_USEFARMER_START "startcount"

/* The delimiter (used above) between XML elements */
#define XML_ELEM_DELIM "."

#define FLOOD_VERSION "1.1"
#define CONFIG_VERSION "1"

#define CRLF "\r\n"

/* FIXME: replace the apr_recv logic with something sane. */
#define MAX_DOC_LENGTH 8192

#define LOCAL_SOCKET_TIMEOUT 120 * APR_USEC_PER_SEC

#define CAPATH "@CAPATH@"

#define FLOOD_USE_RAND      @prngrand@
#define FLOOD_USE_RAND48    @prngrand48@
#define FLOOD_USE_RANDOM    @prngrandom@

#define FLOOD_HAS_STRTOLL   @hasstrtoll@
#define FLOOD_HAS_STRTOQ    @hasstrtoq@

#define FLOOD_HAS_OPENSSL   @flood_has_openssl@
#define FLOOD_HAS_DEVRAND   @flood_has_devrand@

#ifdef WIN32
/* Gross Hack Alert */
#if _MSC_VER < 1300
#define strtoll(p, e, b) ((*(e) = (char*)(p) + (((b) == 10) ? strspn((p), "0123456789") : 0)), _atoi64(p))
#else
#define strtoll(p, e, b) _strtoi64(p, e, b) 
#endif
#elif !FLOOD_HAS_STRTOLL && FLOOD_HAS_STRTOQ
#define strtoll(p, e, b) strtoq(p, e, b)
#endif

#endif  /* __config_h */
