prepare for the release of rrdtool-1.4.3
[rrdtool.git] / src / rrd_datalang.c
1 /*****************************************************************************
2  * RRDtool 1.4.3  Copyright by Tobi Oetiker, 1997-2010
3  *****************************************************************************
4  * rrd_datalang  A system for passing named and typed parameters between
5  *               the different parts of rrdtool
6  *
7  * In rrdtool thre are a number of places where large and complex
8  * data structures have to be passed from one function to another
9  * eg when rrd_info returns its findings, but also when a function like
10  * rrd_graph get called.
11  *
12  * At the moment function calling is done with an argc/argv type interface
13  * it's special property is that all data is passed as strings, which can lead
14  * to unnecessary conversions being performed when rrdtool functions are called
15  * from a typed language
16  *
17  * Data returns from functions is not standardized at all, which is
18  * efficient in the sense that the data return interface can be tailord to
19  * the specific needs of the function at hand, but it also leads to
20  * increassed probability for implementation errors as things have to be
21  * reinvented for each function. Also adding new functions into all the
22  * language bindings is quite cumbersom.
23  *
24  * Therefore I want to develop a standardized interface for passing named
25  * and typed data into functions and for returning data from functions to
26  * their callers.  I am thinking about working of the code in rrd_info.c ...
27  *
28  * Does anyone have experiance in this field or any pointers to read up on
29  * related work ? Or maybe even an existing library for this ?
30  *
31  * Cheers
32  * tobi / 2001-03-10
33  * 
34  *****************************************************************************/