Main Page   Modules   Data Structures   File List   Globals  

settings.h

00001 #if !defined(_SETTINGS_H_)
00002 #define _SETTINGS_H_
00003 
00004 #include <apr_xml.h>
00005 #include "sumalib.h"
00006 
00007 typedef struct str_elem_s str_elem_t;
00008 
00009 typedef struct str_elem_link_s str_elem_link_t;
00010 struct str_elem_link_s {
00011   str_elem_t *prev;
00012   str_elem_t *next;
00013 };
00014 
00015 struct str_elem_s {
00016   char *strval;
00017   str_elem_link_t link;
00018 };
00019 
00020 typedef struct {
00021   char *uuid;
00022   int is_listening;
00023   int basic_port;
00024   str_elem_link_t entry_points;
00025 } general_settings_t;
00026 
00027 typedef struct {
00028   int is_entry_point;
00029   str_elem_link_t allow_list;
00030   str_elem_link_t deny_list;
00031 } entry_point_settings_t;
00032 
00033 typedef struct {
00034   int is_listening;
00035   int debug_port;
00036 } debug_settings_t;
00037 
00038 typedef struct {
00039   int level;
00040 } logger_settings_t;
00041 
00042 typedef struct {
00043   general_settings_t general_settings;
00044   entry_point_settings_t entry_point_settings;
00045   debug_settings_t debug_settings;
00046   logger_settings_t logger_settings;
00047 } settings_t;
00048 
00049 extern settings_t settings;
00050 
00051 int init_settings(char *filename);
00052 #if defined(XML_SETTINGS)
00053 void set_uuid_slot(p2p_uuid_t *uuid);
00054 #endif  /* XML_SETTINGS */
00055 int save_settings(char *filename);
00056 
00057 #endif  /* _SETTINGS_H_ */

Generated on Wed Aug 28 14:45:08 2002 for suma by doxygen1.2.17