Source File ca/ca_configFns.h

    1    | /***************************************
    2    |   $Revision:
    3    |
    4    |   CA module: function prototypes.
    5    |
    6    |   Status: NOT REVIEWED, NOT TESTED
    7    |
    8    |   Author(s):       Ambrose Magee
    9    |
    10   | ******************/ /******************
    11   | Modification History:
    12   | ******************/
    13   |
    14   | /************************************
    15   |  Copyright (c) 2000,2001,2002                    RIPE NCC
    16   |
    17   | All Rights Reserved
    18   |
    19   | Permission to use, copy, modify, and distribute this software and its
    20   | documentation for any purpose and without fee is hereby granted,
    21   | provided that the above copyright notice appear in all copies and that
    22   | both that copyright notice and this permission notice appear in
    23   | supporting documentation, and that the name of the author not be
    24   | used in advertising or publicity pertaining to distribution of the
    25   | software without specific, written prior permission.
    26   |
    27   | THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
    28   | ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS; IN NO EVENT SHALL
    29   | AUTHOR BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY
    30   | DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
    31   | AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
    32   | OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
    33   | ***************************************/
    34   |
    35   | #ifndef CA_CONFIGFNS_H
    36   | #define CA_CONFIGFNS_H
    37   |
    38   | #include "ca_defs.h"
    39   | #include <memwrap.h>
    40   | #include <erroutines.h>
    41   |
    42   | #ifdef __cplusplus
    43   | extern "C" {
    44   | #endif
    45   |
    46   |
    47   | /**********************************************************************
    48   | 	* This file contains the all the functions prototypes.					*
    49   |  **********************************************************************/
    50   |
    51   |
    52   | void stringPack(char *, const char *);
    53   |
    54   | /*
    55   |  * This function prototype is for a function which reads a file and
    56   |  * splits it into tokens.
    57   |  *
    58   |  */
    59   | void opSplitsen(FILE *, gchar **);
    60   |
    61   | /*********************************************************************
    62   |  * ca_populateDictionary() function -- populates the dictionary with the
    63   |  * contents of the dictionary file.
    64   |  *
    65   |  * Parameters
    66   |  *    woordenbook[] -- an array of dictionary structures.
    67   |    *  size -- the size of the array.
    68   |  *
    69   |  * Returns
    70   |  *  Nothing.
    71   |  *
    72   |  *********************************************************************/
    73   |
    74   | void ca_populateDictionary(dict_t [], int);
    75   |
    76   | void getDictionary(dict_t [], int);
    77   |
    78   | /*
    79   |  * readConfig()
    80   |  * Reads the configuration text file.
    81   |  */
    82   |
    83   | void ca_readConfig(const char *, values_t [], int);
    84   |
    85   | /*
    86   |  * void ca_init(values_t [], values_t []);
    87   |  */
    88   | int ca_init(const char *);
    89   |
    90   | /*
    91   |  * The get functions.
    92   |  */
    93   | int ca_get_int(int);
    94   | char *ca_get_dirlist(int);
    95   | char *ca_get_string(int);
    96   | int ca_get_boolean(int symbol);
    97   |
    98   | /*
    99   |  * The set functions.
    100  | 	*/
    101  | void ca_set_int(int);
    102  | void ca_set_dirlist(int);
    103  | void ca_set_string(int);
    104  | void ca_set_boolean(int symbol);
    105  |
    106  | /*
    107  |  * The get functions for the database and SOURCE variables.
    108  |  */
    109  | void ca_getDatabase(ca_database_t);
    110  | void ca_getSource(ca_database_list_t);
    111  | void ca_getSourcePtr(ca_database_list_t *);
    112  | void ca_getAllSources(GSList *);
    113  |
    114  | /*
    115  |  * The get function for the Dictionary.
    116  |  *
    117  |  */
    118  | void ca_getDictionary(dict_t [], int);
    119  |
    120  | /*
    121  | 	* The get function for the string elements of the
    122  |  * the configuration structure.
    123  |  */
    124  | void ca_getConfig(values_t [], int);
    125  |
    126  | /*
    127  | 	* A function that walks through the linked list of sources
    128  |  * and compares the name of each source with a user-supplied
    129  |  * name.  If it finds the name of the source, it prints the
    130  |  * details of the source.
    131  |  */
    132  | void ca_getAsource(char *, GSList *);
    133  |
    134  |
    135  | /*
    136  | 	* A function that walks through the linked list of sources
    137  |  * and compares the name of each source with a user-supplied
    138  |  * name.  If it finds the name of the source, it returns a
    139  |  * pointer to the structure that represents the source.
    140  |  */
    141  | ca_dbSource_t *ca_getSourceDetails(char *, GSList *);
    142  |
    143  | /*
    144  | 	* A function that returns a handle to a Source,
    145  |  * given its position in the linked-list of sources.
    146  |  *
    147  |  */
    148  | ca_SrcHdl_t *ca_get_SourceHandleByPosition(int);
    149  |
    150  | /* ca_get_SourceHandleByName(char *);
    151  | 	*
    152  | 	* A function that returns a handle to a Source,
    153  |  * given its name in the linked-list of sources.
    154  |  *
    155  |  */
    156  | ca_SrcHdl_t *ca_get_SourceHandleByName(char *);
    157  |
    158  | /*
    159  | 	* Given a source-handle and an attribute, returns a
    160  |  * pointer to a character variable.
    161  |  */
    162  | char *ca_srchandle2Strelement(ca_SrcHdl_t *, int );
    163  |
    164  | /*
    165  | 	* Given a source-handle and an attribute, returns an
    166  |  * integer.
    167  |  */
    168  | int ca_srchandle2Intelement(ca_SrcHdl_t *ah, int srcAttrib);
    169  |
    170  | /*
    171  |  * Returns a string element of the admin db structure.
    172  |  */
    173  | char *ca_get_adminStrElement(int symbol, int adminAttrib);
    174  |
    175  | /*
    176  | 	* Returns an int element of the admin db structure.
    177  |  */
    178  | int ca_get_adminIntElement(int symbol, int adminAttrib);
    179  |
    180  | /*
    181  |  * Writes a new value of a variable back to the configuration file;
    182  |  * returns 0 on successful completion; otherwise it dies.
    183  |  */
    184  | int ca_writeNewValue(int, char *);
    185  |
    186  | /*
    187  | 	* Given a symbol from the list of symbols of variable types,
    188  | 	* this returns a handle (pointer) to the Update Sources array.
    189  |  */
    190  | ca_updDbSource_t **ca_get_UpdSourceHandle(int );
    191  |
    192  | /*
    193  | 	* Given a pointer to the Update Source and a symbol from the list
    194  |  * of symbols of attributes, this returns a copy of a string
    195  |  * attribute of the Update Source variable.
    196  |  */
    197  | char *ca_UpdSrcHandle2StrElement(ca_updDbSource_t *, int);
    198  |
    199  | /*
    200  | 	* Given a pointer to the Update Source and a symbol from the list
    201  | 	* of symbols of attributes, this returns the value of an integer
    202  | 	* attribute of the Update Source variable.
    203  |  */
    204  | int ca_UpdSrcHandle2IntElement(ca_updDbSource_t *, int);
    205  |
    206  | /*
    207  |  * Given the name of the sources file and the array of values,
    208  |  * this function reads the definitions of databases, mirrors, etc.
    209  |  * and loads the SOURCE variable.
    210  |  */
    211  | void ca_readSources(const char *, values_t []);
    212  |
    213  | /*
    214  | 	* Given a pointer to the linked list of databases,
    215  |  * this function returns the details of every database
    216  |  * in the list.
    217  |  */
    218  | void ca_getAllDatabases(GSList *);
    219  |
    220  |
    221  | /*
    222  | 	* Given a pointer to the linked list of mirrors,
    223  |  * this function returns the details of every mirror
    224  |  * in the list.
    225  |  */
    226  | void ca_getAllMirrors(GSList *);
    227  |
    228  | /* ca_get_DbHandleByName(char *);
    229  | 	*
    230  | 	* A function that returns a handle to a Database
    231  |  * given its name in the linked-list of databases.
    232  |  *
    233  |  */
    234  | ca_database_t *ca_getDbHandleByName(char *);
    235  | ca_SrcHdl_t *ca_get_SourceHandleByName(char *);
    236  | ca_mirror_t *ca_getNrtmHandleByName(char *);
    237  |
    238  | /*
    239  | 	* ca_sanityChk()
    240  |  * 	-- Checks if all variables in the dictionary have been defined
    241  |  * 		in the configuration file.
    242  |  *
    243  |  */
    244  | int ca_sanityChk(values_t []);
    245  | int ca_sanityCheck(values_t []);
    246  |
    247  |
    248  | /*
    249  | 	* ca_mandVarChk()
    250  | 	* - checks if all the mandatory variables in the dictionary have
    251  |  *   been defined in the configuration file.
    252  |  */
    253  | int ca_mandVarChk();
    254  |
    255  |
    256  | /*
    257  | 	* ca_conifigCheck()
    258  | 	* 	- wrapper for the ca_sanityCheck() function.
    259  |  */
    260  | int ca_conifigCheck();
    261  |
    262  | #ifdef __cplusplus
    263  | }
    264  | #endif
    265  |
    266  |
    267  |
    268  | #endif