include/ca_defs.h
/* [<][>][^][v][top][bottom][index][help] */
FUNCTIONS
This source file includes following functions.
/************************************************************************
* This is the definitions header file for the configuration module. It
* includes the definitions of data structures, external declarations and
* definitions, defitinitions of sybolic constants.
*
************************************************************************/
#include <pthread.h>
#include <glib.h>
/* Number of configurations variables. */
#define VARS 86
#define SCOPE_GLOBAL 1
#define SCOPE_LOCAL 99
/*
* Define the length of a string to be 160 to cope with the
* copyright statement.
*
*/
#define STRLENGTH 160
/**********************************************
* Default values for the SOURCE variables *
* *
**********************************************/
#define CA_DEFHOST "rowan"
#define CA_DEFPORT "4343"
#define CA_DEFUSER "dbase"
#define CA_DEFPASSWORD "encrypt1"
#define CA_DEFDBNAME "default-db"
/**********************************************
* Defintion of the dictionary structures. *
* *
**********************************************/
typedef struct dict_s {
char varName[STRLENGTH];
char varSym[STRLENGTH];
char varType[STRLENGTH];
int varScope;
int varNum;
} dict_t;
extern dict_t dictionary[];
/**********************************************
* Definition of the values structures. *
* *
**********************************************/
typedef struct values_s {
char *strPtr; /* Pointer to the string that contains the value. */
void *valPtr; /* Pointer to the actual value. */
} values_t;
/*
* "extern" definition of variables that are defined elsewhere.
*/
extern values_t globals[];
extern values_t locals[];
/*
* "extern" definition of configuration variables, defined elsewhere.
*/
extern values_t confVars[];
/* Mutex lock; used for synchronising changes. */
pthread_mutex_t Lock;
/*
* New value of the bindport.
* This must be a global variable.
*/
char newPort[16];
/*
* The following is needed for the SOURCE variable. First,
* we define the "database" structure. Then, we define the
* structure of an element of the linked list. Lastly, we
* define the linked list itself.
*/
typedef struct ca_database_s {
char host[64];
char port[16];
char user[16];
char password[9];
char dbName[16];
} ca_database_t;
extern ca_database_t ripe;
extern ca_database_t arin;
extern ca_database_t radb;
typedef struct ca_database_list_s {
char name[16];
ca_database_t db;
} ca_database_list_t;
extern ca_database_list_t ripeComponent;
extern ca_database_list_t arinComponent;
extern ca_database_list_t radbComponent;
typedef struct GSList {
gpointer src; /* This points to a ca_database_list_t varialbe */
GSList *next;
} ca_source_t;
/*************************************************************
* Definition of the default values for the SOURCE variable. *
* *
*************************************************************/
/*
* char ca_defHost[64];
* char ca_defPort[16];
* char ca_defUser[16];
* char ca_defPassword[9];
* char ca_defdbName[16];
*/
/*
* extern char ca_defPort[16];
* extern char ca_defHost[64];
* extern char ca_defUser[16];
* extern char ca_defPassword[9];
* extern char ca_defdbName[16];
*/
/*
* The linked-list of sources.
*
*/
extern GSList *sourceList;
extern ca_source_t *srcList;
/*
* The test configuration file.
* This is defined using a constant string, cf. Oualline, p.145.
*/
extern const char *testFile;
extern const char *tempFile;
extern const char *dictFile;
extern const char *confFile;
/*
* Value returned by ca_getStorageLocation if the symbol for
* a configuration variable cannot be found.
*
* This value is also returned by ca_getType, if it cannot map
* the name of a configuration variable to a data type.
*
*/
#define NOT_FOUND -1
/*
* Symbolic constants defined to represent data types.
* #define CA_INT 11
* #define CA_STRING 12
* #define CA_DIRLIST 13
* #define CA_BOOLEAN 14
* #define CA_SOURCETYPE 15
*/