Main Page   Alphabetical List   Data Structures   File List   Data Fields   Globals  

server_config.h

Go to the documentation of this file.
00001 /*! \file server_config.h
00002           Header file for the logging module 'server_config.c'.
00003  */
00004 
00005 #ifdef __cplusplus
00006 extern "C" {
00007 #endif
00008 
00009 #ifndef CONFIG_HEADER
00010 #define CONFIG_HEADER
00011 
00012   #include "config.h"
00013 
00014 
00015   /*! \brief Maximum number of characters for a file name.
00016    */
00017 
00018   #define FILE_NAME_SIZE     256
00019 
00020   /*! \brief Maximum number of characters for a host name (or IP address).
00021    */
00022 
00023   #define HOST_NAME_MAX_SIZE 256
00024 
00025   /*! \brief Maximum number of characters for an IP address.
00026    */
00027 
00028   #define MAX_IP_ADDRESS_STR_SIZE 16
00029 
00030   /*! \brief Maximum number of characters for user ID.
00031    */
00032 
00033   #define MAX_UID_SIZE 128
00034 
00035   /*! \brief Maximum number of characters for group ID.
00036    */
00037 
00038   #define MAX_GID_SIZE 128
00039 
00040   /*! \brief Maximum number of characters for the list of manufacturer's IDs.
00041    */
00042 
00043   #define MAX_MANUFACTURER_ID_LIST_SIZE 1024
00044 
00045   /*! \brief Maximum number of characters for a manufacturer's ID.
00046    */
00047 
00048   #define MAX_MANUFACTURER_ID_SIZE   128
00049 
00050   /*! \brief This structure contains the main server's configuration.
00051    */
00052 
00053   struct global_config
00054   {
00055     /*! \brief Some SQL functions requires a security delay. This delay assures that the operation has enough
00056                time to complete. This value represents the security delay for all SQL functions that requires
00057                this security. Functions are:
00058                <UL>
00059                    <LI>try_reserve_ip_from_pool
00060                </UL>
00061      */ 
00062 
00063     unsigned long int sql_expiration_security_delay;
00064 
00065     /*! \brief Path to the server's main log file.
00066      */ 
00067 
00068     char log_file[FILE_NAME_SIZE];
00069 
00070     /*! \brief Path to the server's CSV file.
00071      */
00072 
00073     char csv_file[FILE_NAME_SIZE];
00074 
00075     /*! \brief Path to the file used by the server to log incoming and outcomming DHCP packets.
00076                Only welle formated packets are logged.
00077      */
00078 
00079     char debug_file[FILE_NAME_SIZE];
00080 
00081     /*! \brief Path to the file used to synchronize access to the dump file.
00082      */
00083 
00084     char sync_dump[FILE_NAME_SIZE];
00085 
00086     /*! \brief This flag represents the verbosity level.
00087      */
00088 
00089     int debug;
00090 
00091     /*! \brief Path to the process' working directory.
00092      */ 
00093 
00094     char working_dir[FILE_NAME_SIZE];
00095 
00096     /*! \brief Host name (or IP address) associated to the network interface used by the DHCP server.
00097      */
00098 
00099     char dhcp_bind_ip[HOST_NAME_MAX_SIZE];
00100 
00101     /*! \brief Path to the process' PID file.
00102      */
00103 
00104     char pid_file[FILE_NAME_SIZE];
00105 
00106     /*! \brief Flag that tells the server wether it should log incoming and outcoming DHCP packets.
00107                Values could be:
00108                    <UL>
00109                       <LI>0: Do not log any packets.
00110                       <LI>1: Log all incoming and outcoming DHCP packets.
00111                       <LI>2: High verbosity debug.
00112                    </UL>
00113     */
00114 
00115     int dumper_mode;
00116 
00117     /*! \brief IP address of the DHCP server, as seen by the client.
00118      */
00119 
00120     char server_ip_seen_by_client[MAX_IP_ADDRESS_STR_SIZE];
00121 
00122     /*! \brief This flag defines whether the server uses broadcats for responses.
00123                <UL>
00124                  <LI>0: The server does not use broadcasts (always unicats).
00125                  <LI>1: The server always yse broadcats.
00126                </UL>
00127      */
00128 
00129     int broadcast_mode;
00130 
00131     /*! \brief Deamon's user ID.
00132      */
00133 
00134     char deamon_user_id[MAX_UID_SIZE];
00135 
00136     /*! \brief Deamon's group ID.
00137      */
00138 
00139     char deamon_group_id[MAX_GID_SIZE];
00140 
00141     /*! \brief IP address sent to the client whenever the DHCP can not respond.
00142      */
00143 
00144     char dummy_ip[MAX_IP_ADDRESS_STR_SIZE];
00145 
00146     /*! \brief This flag defines wether the server must manage the size of the log file.
00147      */
00148 
00149     int log_size_management;
00150   }; 
00151 
00152 
00153 int configuration_load (char *path, char **error);
00154 
00155 #endif
00156 
00157 #ifdef __cplusplus
00158 }
00159 #endif

Generated on Mon Jun 19 12:31:06 2006 for MyDhcp_V2 by doxygen1.2.15