1    | /***************************************
2    |   $Revision:
3    | 
4    |   CA module: a wrapper for the functions which parse the
5    |              dictionary, configuration and source files.
6    | 
7    |   Status: NOT REVIEWED, NOT TESTED
8    | 
9    |   Author(s):       Ambrose Magee
10   | 
11   | ******************//******************
12   | Modification History:
13   | 
14   | ******************/
15   | 
16   | /************************************
17   | Copyright (c) 2000,2001,2002                         RIPE NCC
18   | 
19   | All Rights Reserved
20   | 
21   | Permission to use, copy, modify, and distribute this software and its
22   | documentation for any purpose and without fee is hereby granted,
23   | provided that the above copyright notice appear in all copies and that
24   | both that copyright notice and this permission notice appear in
25   | supporting documentation, and that the name of the author not be
26   | used in advertising or publicity pertaining to distribution of the
27   | software without specific, written prior permission.
28   | 
29   | THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
30   | ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS; IN NO EVENT SHALL
31   | AUTHOR BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY
32   | DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
33   | AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
34   | OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
35   | ***************************************/
36   | 
37   | #include "rip.h"
38   | 
39   | #include <stdio.h>
40   | #include <string.h>
41   | 
42   | /* #define DEBUG */
43   | 
44   | /*
45   |  * The initialization function.
46   |  */
47   | 
48   | int ca_init(const char *configFile)
49   | /****************************************************************
50   |  * ca_init() -- Initialisation function;                *
51   |   *          - a wrapper for the ca_populateDictionary,`    *
52   |   *            the ca_readConfig and the ca_readSources    *
53   |  *            functions.                        *
54   |  *                                          *
55   |  * Parameters                                  *
56   |   *      configFile -- the name of the configuration file    *
57   |  *                                          *
58   |  * Returns                                    *
59   |   *    An integer; the return value of ca_mandVarChk().
60   |  *                                          *
61   |  ****************************************************************/
62   | {
63   | 	/*
64   | 	 * We use CA_NUMBEROFSYMBOLS instead.
65   | 	 * int varNo = VARS;
66   | 	 */
67   | 
68   | int varNo = CA_NUMBEROFSYMBOLS;
69   | 
70   | 	/*
71   | 	 * We do not need this function now; the dictionary is hardcoded.
72   | 	 *
73   | 	 * ca_populateDictionary(dictionary, varNo);
74   |   */	
75   | 
76   |  #ifdef DEBUG
77   |  ca_getDictionary(dictionary, varNo);
78   | 	#endif /* DEBUG */
79   | 
80   | 	ca_readConfig(configFile, confVars, varNo);
81   |  /*
82   | 	 * ca_sanityChk(confVars);
83   | 	 */
84   | if (ca_mandVarChk() != 0)
85   | 		{
86   | 		fprintf(stderr, "Mandatory variable(s) undefined\n\n");
87   | 		fprintf(stderr, "<<<<<<<<<<<<<<<     >>>>>>>>>>>\n\n");
88   | 		fprintf(stderr, "Continuing ..... \n\n");
89   | 
90   | 		}
91   | 	/*
92   | 	 * sourcesFile = ca_get_dirlist(94);
93   | 	 */
94   | 		sourcesFile = ca_get_dirlist(CA_SOURCEFILE);
95   | 		ca_readSources(sourcesFile, confVars);
96   | 		return(ca_mandVarChk());
97   | }