Denora Modules: Configuration Files
-- 
-------------

1) Introduction
2) Flat Config

1) Introduction

    Denora 1.2 onwards supports external modules have their own configuration files.
    So that they need not copy all of the parser into their module or write their own.
    Denora provides two methods to to parse config files.

    1: Denora config style, this is just like the Denora config file where sections 
       (blocks) are separated by { } and parsed by its own sections of code.

    2: Flat Config style, this is the old style more common in Anope


2) Flat Config

	Flat config files are described line by line, they are not grouped nor do they have
	any need to be in any order. This document aims to show how a module coder can use this
    style to load his config variables

    Data Types

    PARAM_INT	       : Integer and will be stored as such
    PARAM_POSINT       : Positive integer only, no 0 or -1 values allowed
    PARAM_PORT	       : TCP/IP port (integer) can only be 1..65535
    PARAM_STRING       : String value between " and "
    PARAM_TIME	       : Value can be formatted like 3m2d and till be translated to an integer
    PARAM_STRING_ARRAY : The string is to be broken up on spaces and stored in an array
    PARAM_SET	       : Boolean value

    **NOTE** the string values are malloc() it is the coders job to free this on the modules
    unload call.

    The flat config files use a struct called "Directive" to load their settings.

    Directive confvalues[][1] = {
        {{"sqldb", {{PARAM_STRING, 0, &sql_db}}}},
	};

    first parameter must be the variable from the config file that will be looked for. Next is the
    data type (see above), Next is if the variable is reloadable, should Denora rehash should this
    change. Next is the global variable into which the option will be copied to.

    for (i = 0; i < 1; i++) {
        moduleGetConfigDirective("test.conf", confvalues[i]);
	}

    Now you can have the core load you config file and look for the settings within.

    **NOTE** Unlike anope this function, has two arguments so you most list what file to parse

3. Block Style

	To be done..



