+static bool Use_Log = true;
+static CONF_SERVER New_Server;
+static int New_Server_Idx;
+
+
+static void Set_Defaults PARAMS(( bool InitServers ));
+static void Read_Config PARAMS(( void ));
+static void Validate_Config PARAMS(( bool TestOnly ));
+
+static void Handle_GLOBAL PARAMS(( int Line, char *Var, char *Arg ));
+static void Handle_OPERATOR PARAMS(( int Line, char *Var, char *Arg ));
+static void Handle_SERVER PARAMS(( int Line, char *Var, char *Arg ));
+static void Handle_CHANNEL PARAMS(( int Line, char *Var, char *Arg ));
+
+static void Config_Error PARAMS(( const int Level, const char *Format, ... ));
+
+static void Config_Error_NaN PARAMS(( const int LINE, const char *Value ));
+static void Config_Error_TooLong PARAMS(( const int LINE, const char *Value ));
+
+static void Init_Server_Struct PARAMS(( CONF_SERVER *Server ));
+
+
+static char *
+strdup_warn(const char *str)
+{
+ char *ptr = strdup(str);
+ if (!ptr)
+ Config_Error(LOG_ERR, "Could not allocate mem for string: %s", str);
+ return ptr;
+}