modules/ca/ca_defs.h

/* [<][>][^][v][top]
[bottom][index][help] */

FUNCTIONS

This source file includes following functions.

   1 /************************************************************************
   2  * This is the definitions header file for the configuration module.  It
   3  * includes the definitions of data structures, external declarations and
   4  * definitions, defitinitions of sybolic constants.
   5  *
   6  ************************************************************************/
   7 
   8 #include <pthread.h>
   9 #include <glib.h>
  10 
  11 /* Number of configurations variables. */
  12 #define VARS 86
  13 
  14 #define SCOPE_GLOBAL 1
  15 #define SCOPE_LOCAL 99
  16 
  17 /* 
  18  * Define the length of a string to be 160 to cope with the 
  19  * copyright statement.
  20  *
  21  */
  22 #define STRLENGTH 160
  23 
  24 /*
  25         * Define the length of strings to cope with the values of 
  26  * various types of string variables.
  27         */
  28 #define STRLENGTH_S 40
  29 #define STRLENGTH_M 80
  30 #define STRLENGTH_L 160
  31 #define STRLENGTH_XL 320
  32 
  33 
  34 /**********************************************
  35  * Default values for the SOURCE variables              *
  36         *                                                                                                                       *
  37  **********************************************/
  38 
  39  #define CA_DEFHOST "rowan"                                             
  40  #define CA_DEFPORT "4343"
  41  #define CA_DEFUSER "dbase"                                             
  42  #define CA_DEFPASSWORD "encrypt1"                              
  43  #define CA_DEFDBNAME   "default-db"                    
  44                                                                                                                         
  45 
  46 
  47 /**********************************************
  48  * Defintion of the dictionary structures.              *
  49         *                                                                                                                       *
  50  **********************************************/
  51 
  52 typedef struct dict_s   {
  53                                 char varName[STRLENGTH];
  54                                 char varSym[STRLENGTH];
  55                                 char varType[STRLENGTH];
  56                                 int varScope;
  57                                 int varNum;
  58 } dict_t;
  59 
  60 extern dict_t dictionary[];
  61 
  62 
  63 
  64 
  65 /**********************************************
  66  * Definition of the values structures.                 *
  67  *                                                                                                                      *
  68         **********************************************/
  69 
  70 typedef struct values_s {
  71                                 char *strPtr;   /* Pointer to the string that contains the value. */
  72                                 void *valPtr;   /* Pointer to the actual value. */
  73 } values_t;                                                                     
  74 
  75 /*
  76  * "extern" definition of variables that are defined elsewhere.
  77  */
  78 
  79 
  80 extern values_t globals[];
  81 extern values_t locals[];
  82 
  83 /*
  84  * "extern" definition of configuration variables, defined elsewhere.
  85  */
  86 extern values_t confVars[];
  87 
  88 /* Mutex lock; used for synchronising changes. */
  89 pthread_mutex_t Lock;
  90 
  91 /* 
  92         * New value of the bindport.
  93         * This must be a global variable.
  94         */
  95 
  96 char newPort[16];
  97 
  98 /*
  99  * The following is needed for the SOURCE variable.  First,
 100  * we define the "database" structure.  Then, we define the
 101  * structure of an element of the linked list.  Lastly, we 
 102  * define the linked list itself.
 103  */
 104 
 105 typedef struct ca_database_s    {
 106 
 107                         char host[64];
 108                         char port[16];
 109                         char user[16];
 110                         char password[9];
 111                         char dbName[16];
 112                 } ca_database_t;
 113 
 114 extern ca_database_t ripe;
 115 extern ca_database_t arin;
 116 extern ca_database_t radb;
 117 
 118 typedef struct ca_database_list_s               {
 119                         char name[16];
 120                         ca_database_t db;
 121                 } ca_database_list_t;
 122 
 123 extern ca_database_list_t ripeComponent;
 124 extern ca_database_list_t arinComponent;
 125 extern ca_database_list_t radbComponent;
 126 
 127 typedef struct GSList {
 128                 gpointer src;           /* This points to a ca_database_list_t varialbe */
 129                 GSList *next;
 130                 } ca_source_t;
 131 
 132 
 133 /*************************************************************
 134  * Definition of the default values for the SOURCE variable.    *
 135  *                                                                                                                                                              *
 136  *************************************************************/
 137 
 138 /*
 139  * char ca_defHost[64];
 140  * char ca_defPort[16];
 141  * char ca_defUser[16];
 142  * char ca_defPassword[9];
 143  * char ca_defdbName[16];
 144  */
 145 
 146 /*
 147  * extern char ca_defPort[16];
 148  * extern char ca_defHost[64];
 149  * extern char ca_defUser[16];
 150  * extern char ca_defPassword[9];
 151  * extern char ca_defdbName[16];
 152  */
 153 
 154 /*
 155  * The linked-list of sources.
 156  *
 157  */
 158 extern GSList *sourceList;
 159 extern ca_source_t *srcList;
 160 
 161 /*
 162  * 20000609
 163  * Experiment:
 164  * define the variable mySrcList as type GSList;
 165  * use the extern modifier and put the "real" definition
 166  * of the variable elsewhere.
 167  *
 168  * extern GSList *mySrcList;
 169  */
 170 
 171 /*
 172         * The test configuration file.
 173  * This is defined using a constant string, cf. Oualline, p.145.
 174  */
 175 extern const char *testFile;
 176 extern const char *tempFile;
 177 extern const char *dictFile;
 178 extern const char *confFile;
 179 
 180 /* 
 181  * Value returned by ca_getStorageLocation if the symbol for
 182  * a configuration variable cannot be found.
 183  *
 184         * This value is also returned by ca_getType, if it cannot map 
 185  * the name of a configuration variable to a data type.
 186  *
 187  */
 188 #define NOT_FOUND -1    
 189 
 190 /*
 191  * Symbolic constants defined to represent data types.
 192 
 193  * #define CA_INT                       11
 194  * #define CA_STRING            12
 195  * #define CA_DIRLIST   13
 196  * #define CA_BOOLEAN   14
 197  * #define CA_SOURCETYPE                15
 198         */
 199 
 200 

/* [<][>][^][v][top][bottom][index][help] */