common.h

Go to the documentation of this file.
00001 /************************************************************************
00002  *
00003  * Nagios Common Header File
00004  * Written By: Ethan Galstad (nagios@nagios.org)
00005  * Last Modified: 12-01-2005
00006  *
00007  * License:
00008  *
00009  * This program is free software; you can redistribute it and/or modify
00010  * it under the terms of the GNU General Public License version 2 as
00011  * published by the Free Software Foundation.
00012  *
00013  * This program is distributed in the hope that it will be useful,
00014  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00015  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00016  * GNU General Public License for more details.
00017  *
00018  * You should have received a copy of the GNU General Public License
00019  * along with this program; if not, write to the Free Software
00020  * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
00021  ************************************************************************/
00022 
00023 
00024 #define PROGRAM_VERSION "2.7"
00025 #define PROGRAM_MODIFICATION_DATE "01-19-2007"
00026 
00027 
00028 
00029 /* daemon is thread safe */
00030 #ifdef NSCORE
00031 #ifndef _REENTRANT
00032 #define _REENTRANT
00033 #endif
00034 #ifndef _THREAD_SAFE
00035 #define _THREAD_SAFE
00036 #endif
00037 #endif
00038 
00039 /* Experimental performance tweaks - use with caution */
00040 #undef USE_MEMORY_PERFORMANCE_TWEAKS
00041 
00042 
00043 
00044 /***************************** COMMANDS *********************************/
00045 
00046 #define CMD_NONE        0
00047 
00048 #define CMD_ADD_HOST_COMMENT     1
00049 #define CMD_DEL_HOST_COMMENT     2
00050 
00051 #define CMD_ADD_SVC_COMMENT      3
00052 #define CMD_DEL_SVC_COMMENT      4
00053 
00054 #define CMD_ENABLE_SVC_CHECK     5
00055 #define CMD_DISABLE_SVC_CHECK    6
00056 
00057 #define CMD_SCHEDULE_SVC_CHECK      7
00058 
00059 #define CMD_DELAY_SVC_NOTIFICATION  9
00060 
00061 #define CMD_DELAY_HOST_NOTIFICATION 10
00062 
00063 #define CMD_DISABLE_NOTIFICATIONS   11
00064 #define CMD_ENABLE_NOTIFICATIONS 12
00065 
00066 #define CMD_RESTART_PROCESS      13
00067 #define CMD_SHUTDOWN_PROCESS     14
00068 
00069 #define CMD_ENABLE_HOST_SVC_CHECKS              15
00070 #define CMD_DISABLE_HOST_SVC_CHECKS             16
00071 
00072 #define CMD_SCHEDULE_HOST_SVC_CHECKS            17
00073 
00074 #define CMD_DELAY_HOST_SVC_NOTIFICATIONS        19  /* currently unimplemented */
00075 
00076 #define CMD_DEL_ALL_HOST_COMMENTS               20
00077 #define CMD_DEL_ALL_SVC_COMMENTS                21
00078 
00079 #define CMD_ENABLE_SVC_NOTIFICATIONS                    22
00080 #define CMD_DISABLE_SVC_NOTIFICATIONS                   23
00081 #define CMD_ENABLE_HOST_NOTIFICATIONS                   24
00082 #define CMD_DISABLE_HOST_NOTIFICATIONS                  25
00083 #define CMD_ENABLE_ALL_NOTIFICATIONS_BEYOND_HOST        26
00084 #define CMD_DISABLE_ALL_NOTIFICATIONS_BEYOND_HOST       27
00085 #define CMD_ENABLE_HOST_SVC_NOTIFICATIONS    28
00086 #define CMD_DISABLE_HOST_SVC_NOTIFICATIONS      29
00087 
00088 #define CMD_PROCESS_SERVICE_CHECK_RESULT     30
00089 
00090 #define CMD_SAVE_STATE_INFORMATION        31
00091 #define CMD_READ_STATE_INFORMATION        32
00092 
00093 #define CMD_ACKNOWLEDGE_HOST_PROBLEM         33
00094 #define CMD_ACKNOWLEDGE_SVC_PROBLEM       34
00095 
00096 #define CMD_START_EXECUTING_SVC_CHECKS       35
00097 #define CMD_STOP_EXECUTING_SVC_CHECKS        36
00098 
00099 #define CMD_START_ACCEPTING_PASSIVE_SVC_CHECKS     37
00100 #define CMD_STOP_ACCEPTING_PASSIVE_SVC_CHECKS      38
00101 
00102 #define CMD_ENABLE_PASSIVE_SVC_CHECKS        39
00103 #define CMD_DISABLE_PASSIVE_SVC_CHECKS       40
00104 
00105 #define CMD_ENABLE_EVENT_HANDLERS         41
00106 #define CMD_DISABLE_EVENT_HANDLERS        42
00107 
00108 #define CMD_ENABLE_HOST_EVENT_HANDLER        43
00109 #define CMD_DISABLE_HOST_EVENT_HANDLER       44
00110 
00111 #define CMD_ENABLE_SVC_EVENT_HANDLER         45
00112 #define CMD_DISABLE_SVC_EVENT_HANDLER        46
00113 
00114 #define CMD_ENABLE_HOST_CHECK          47
00115 #define CMD_DISABLE_HOST_CHECK            48
00116 
00117 #define CMD_START_OBSESSING_OVER_SVC_CHECKS     49
00118 #define CMD_STOP_OBSESSING_OVER_SVC_CHECKS      50
00119 
00120 #define CMD_REMOVE_HOST_ACKNOWLEDGEMENT         51
00121 #define CMD_REMOVE_SVC_ACKNOWLEDGEMENT       52
00122 
00123 #define CMD_SCHEDULE_FORCED_HOST_SVC_CHECKS             53
00124 #define CMD_SCHEDULE_FORCED_SVC_CHECK                   54
00125 
00126 #define CMD_SCHEDULE_HOST_DOWNTIME                      55
00127 #define CMD_SCHEDULE_SVC_DOWNTIME                       56
00128 
00129 #define CMD_ENABLE_HOST_FLAP_DETECTION                  57
00130 #define CMD_DISABLE_HOST_FLAP_DETECTION                 58
00131 
00132 #define CMD_ENABLE_SVC_FLAP_DETECTION                   59
00133 #define CMD_DISABLE_SVC_FLAP_DETECTION                  60
00134 
00135 #define CMD_ENABLE_FLAP_DETECTION                       61
00136 #define CMD_DISABLE_FLAP_DETECTION                      62
00137 
00138 #define CMD_ENABLE_HOSTGROUP_SVC_NOTIFICATIONS          63
00139 #define CMD_DISABLE_HOSTGROUP_SVC_NOTIFICATIONS         64
00140 
00141 #define CMD_ENABLE_HOSTGROUP_HOST_NOTIFICATIONS         65
00142 #define CMD_DISABLE_HOSTGROUP_HOST_NOTIFICATIONS        66
00143 
00144 #define CMD_ENABLE_HOSTGROUP_SVC_CHECKS                 67
00145 #define CMD_DISABLE_HOSTGROUP_SVC_CHECKS                68
00146 
00147 #define CMD_CANCEL_HOST_DOWNTIME                        69 /* not internally implemented */
00148 #define CMD_CANCEL_SVC_DOWNTIME                         70 /* not internally implemented */
00149 
00150 #define CMD_CANCEL_ACTIVE_HOST_DOWNTIME                 71 /* old - no longer used */
00151 #define CMD_CANCEL_PENDING_HOST_DOWNTIME                72 /* old - no longer used */
00152 
00153 #define CMD_CANCEL_ACTIVE_SVC_DOWNTIME                  73 /* old - no longer used */
00154 #define CMD_CANCEL_PENDING_SVC_DOWNTIME                 74 /* old - no longer used */
00155 
00156 #define CMD_CANCEL_ACTIVE_HOST_SVC_DOWNTIME             75 /* unimplemented */
00157 #define CMD_CANCEL_PENDING_HOST_SVC_DOWNTIME            76 /* unimplemented */
00158 
00159 #define CMD_FLUSH_PENDING_COMMANDS                      77
00160 
00161 #define CMD_DEL_HOST_DOWNTIME                           78
00162 #define CMD_DEL_SVC_DOWNTIME                            79
00163 
00164 #define CMD_ENABLE_FAILURE_PREDICTION                   80
00165 #define CMD_DISABLE_FAILURE_PREDICTION                  81
00166 
00167 #define CMD_ENABLE_PERFORMANCE_DATA                     82
00168 #define CMD_DISABLE_PERFORMANCE_DATA                    83
00169 
00170 #define CMD_SCHEDULE_HOSTGROUP_HOST_DOWNTIME            84
00171 #define CMD_SCHEDULE_HOSTGROUP_SVC_DOWNTIME             85
00172 #define CMD_SCHEDULE_HOST_SVC_DOWNTIME                  86
00173 
00174 #define CMD_PROCESS_HOST_CHECK_RESULT             87
00175 
00176 #define CMD_START_EXECUTING_HOST_CHECKS         88
00177 #define CMD_STOP_EXECUTING_HOST_CHECKS       89
00178 
00179 #define CMD_START_ACCEPTING_PASSIVE_HOST_CHECKS    90
00180 #define CMD_STOP_ACCEPTING_PASSIVE_HOST_CHECKS     91
00181 
00182 #define CMD_ENABLE_PASSIVE_HOST_CHECKS       92
00183 #define CMD_DISABLE_PASSIVE_HOST_CHECKS         93
00184 
00185 #define CMD_START_OBSESSING_OVER_HOST_CHECKS    94
00186 #define CMD_STOP_OBSESSING_OVER_HOST_CHECKS     95
00187 
00188 #define CMD_SCHEDULE_HOST_CHECK                     96
00189 #define CMD_SCHEDULE_FORCED_HOST_CHECK                  98
00190 
00191 #define CMD_START_OBSESSING_OVER_SVC              99
00192 #define CMD_STOP_OBSESSING_OVER_SVC            100
00193 
00194 #define CMD_START_OBSESSING_OVER_HOST             101
00195 #define CMD_STOP_OBSESSING_OVER_HOST              102
00196 
00197 #define CMD_ENABLE_HOSTGROUP_HOST_CHECKS                103
00198 #define CMD_DISABLE_HOSTGROUP_HOST_CHECKS               104
00199 
00200 #define CMD_ENABLE_HOSTGROUP_PASSIVE_SVC_CHECKS         105
00201 #define CMD_DISABLE_HOSTGROUP_PASSIVE_SVC_CHECKS        106
00202 
00203 #define CMD_ENABLE_HOSTGROUP_PASSIVE_HOST_CHECKS        107
00204 #define CMD_DISABLE_HOSTGROUP_PASSIVE_HOST_CHECKS       108
00205 
00206 #define CMD_ENABLE_SERVICEGROUP_SVC_NOTIFICATIONS       109
00207 #define CMD_DISABLE_SERVICEGROUP_SVC_NOTIFICATIONS      110
00208 
00209 #define CMD_ENABLE_SERVICEGROUP_HOST_NOTIFICATIONS      111
00210 #define CMD_DISABLE_SERVICEGROUP_HOST_NOTIFICATIONS     112
00211 
00212 #define CMD_ENABLE_SERVICEGROUP_SVC_CHECKS              113
00213 #define CMD_DISABLE_SERVICEGROUP_SVC_CHECKS             114
00214 
00215 #define CMD_ENABLE_SERVICEGROUP_HOST_CHECKS             115
00216 #define CMD_DISABLE_SERVICEGROUP_HOST_CHECKS            116
00217 
00218 #define CMD_ENABLE_SERVICEGROUP_PASSIVE_SVC_CHECKS      117
00219 #define CMD_DISABLE_SERVICEGROUP_PASSIVE_SVC_CHECKS     118
00220 
00221 #define CMD_ENABLE_SERVICEGROUP_PASSIVE_HOST_CHECKS     119
00222 #define CMD_DISABLE_SERVICEGROUP_PASSIVE_HOST_CHECKS    120
00223 
00224 #define CMD_SCHEDULE_SERVICEGROUP_HOST_DOWNTIME         121
00225 #define CMD_SCHEDULE_SERVICEGROUP_SVC_DOWNTIME          122
00226 
00227 #define CMD_CHANGE_GLOBAL_HOST_EVENT_HANDLER            123
00228 #define CMD_CHANGE_GLOBAL_SVC_EVENT_HANDLER             124
00229 
00230 #define CMD_CHANGE_HOST_EVENT_HANDLER                   125
00231 #define CMD_CHANGE_SVC_EVENT_HANDLER                    126
00232 
00233 #define CMD_CHANGE_HOST_CHECK_COMMAND                   127
00234 #define CMD_CHANGE_SVC_CHECK_COMMAND                    128
00235 
00236 #define CMD_CHANGE_NORMAL_HOST_CHECK_INTERVAL           129
00237 #define CMD_CHANGE_NORMAL_SVC_CHECK_INTERVAL            130
00238 #define CMD_CHANGE_RETRY_SVC_CHECK_INTERVAL             131
00239 
00240 #define CMD_CHANGE_MAX_HOST_CHECK_ATTEMPTS              132
00241 #define CMD_CHANGE_MAX_SVC_CHECK_ATTEMPTS               133
00242 
00243 #define CMD_SCHEDULE_AND_PROPAGATE_TRIGGERED_HOST_DOWNTIME 134
00244 
00245 #define CMD_ENABLE_HOST_AND_CHILD_NOTIFICATIONS         135
00246 #define CMD_DISABLE_HOST_AND_CHILD_NOTIFICATIONS        136
00247 
00248 #define CMD_SCHEDULE_AND_PROPAGATE_HOST_DOWNTIME        137
00249 
00250 #define CMD_ENABLE_SERVICE_FRESHNESS_CHECKS             138
00251 #define CMD_DISABLE_SERVICE_FRESHNESS_CHECKS            139
00252 
00253 #define CMD_ENABLE_HOST_FRESHNESS_CHECKS                140
00254 #define CMD_DISABLE_HOST_FRESHNESS_CHECKS               141
00255 
00256 #define CMD_SET_HOST_NOTIFICATION_NUMBER                142
00257 #define CMD_SET_SVC_NOTIFICATION_NUMBER                 143
00258 
00259 
00260 
00261 /************************ SERVICE CHECK TYPES ****************************/
00262 
00263 #define SERVICE_CHECK_ACTIVE     0  /* Nagios performed the service check */
00264 #define SERVICE_CHECK_PASSIVE    1  /* the service check result was submitted by an external source */
00265 
00266 
00267 /************************** HOST CHECK TYPES *****************************/
00268 
00269 #define HOST_CHECK_ACTIVE     0  /* Nagios performed the host check */
00270 #define HOST_CHECK_PASSIVE    1  /* the host check result was submitted by an external source */
00271 
00272 
00273 /************************ SERVICE STATE TYPES ****************************/
00274 
00275 #define SOFT_STATE         0  
00276 #define HARD_STATE         1
00277 
00278 
00279 /************************* SCHEDULED DOWNTIME TYPES **********************/
00280 
00281 #define SERVICE_DOWNTIME      1  /* service downtime */
00282 #define HOST_DOWNTIME         2  /* host downtime */
00283 #define ANY_DOWNTIME                    3       /* host or service downtime */
00284 
00285 
00286 /************************** ACKNOWLEDGEMENT TYPES ************************/
00287 
00288 #define HOST_ACKNOWLEDGEMENT            0
00289 #define SERVICE_ACKNOWLEDGEMENT         1
00290 
00291 #define ACKNOWLEDGEMENT_NONE            0
00292 #define ACKNOWLEDGEMENT_NORMAL          1
00293 #define ACKNOWLEDGEMENT_STICKY          2
00294 
00295 
00296 /**************************** DEPENDENCY TYPES ***************************/
00297 
00298 #define NOTIFICATION_DEPENDENCY     1
00299 #define EXECUTION_DEPENDENCY     2
00300 
00301 
00302 /**************************** PROGRAM MODES ******************************/
00303 
00304 #define STANDBY_MODE    0  
00305 #define ACTIVE_MODE     1
00306 
00307 
00308 /************************** LOG ROTATION MODES ***************************/
00309 
00310 #define LOG_ROTATION_NONE       0
00311 #define LOG_ROTATION_HOURLY     1
00312 #define LOG_ROTATION_DAILY      2
00313 #define LOG_ROTATION_WEEKLY     3
00314 #define LOG_ROTATION_MONTHLY    4
00315 
00316 
00317 /***************************** LOG VERSIONS ******************************/
00318 
00319 #define LOG_VERSION_1           "1.0"
00320 #define LOG_VERSION_2           "2.0"
00321 
00322 
00323 /************************* GENERAL DEFINITIONS  **************************/
00324 
00325 #define  OK          0
00326 #define ERROR           -2 /* value was changed from -1 so as to not interfere with STATUS_UNKNOWN plugin result */
00327 
00328 
00329 #ifndef TRUE
00330 #define TRUE            1
00331 #elif (TRUE!=1)
00332 #define TRUE            1
00333 #endif
00334 #ifndef FALSE
00335 #define FALSE           0
00336 #elif (FALSE!=0)
00337 #define FALSE           0
00338 #endif
00339 
00340 
00341 /****************** HOST CONFIG FILE READING OPTIONS ********************/
00342 
00343 #define READ_HOSTS         1
00344 #define READ_HOSTGROUPS       2
00345 #define READ_CONTACTS         4
00346 #define READ_CONTACTGROUPS    8
00347 #define READ_SERVICES         16
00348 #define READ_COMMANDS         32
00349 #define READ_TIMEPERIODS      64
00350 #define READ_SERVICEESCALATIONS     128
00351 #define READ_HOSTGROUPESCALATIONS   256     /* no longer implemented */
00352 #define READ_SERVICEDEPENDENCIES        512
00353 #define READ_HOSTDEPENDENCIES           1024
00354 #define READ_HOSTESCALATIONS            2048
00355 #define READ_HOSTEXTINFO                4096
00356 #define READ_SERVICEEXTINFO             8192
00357 #define READ_SERVICEGROUPS              16384
00358 
00359 #define READ_ALL_OBJECT_DATA            READ_HOSTS | READ_HOSTGROUPS | READ_CONTACTS | READ_CONTACTGROUPS | READ_SERVICES | READ_COMMANDS | READ_TIMEPERIODS | READ_SERVICEESCALATIONS | READ_SERVICEDEPENDENCIES | READ_HOSTDEPENDENCIES | READ_HOSTESCALATIONS | READ_HOSTEXTINFO | READ_SERVICEEXTINFO | READ_SERVICEGROUPS
00360 
00361 
00362 /************************** DATE/TIME TYPES *****************************/
00363 
00364 #define LONG_DATE_TIME        0
00365 #define SHORT_DATE_TIME       1
00366 #define SHORT_DATE         2
00367 #define SHORT_TIME         3
00368 #define HTTP_DATE_TIME        4  /* time formatted for use in HTTP headers */
00369 
00370 
00371 /**************************** DATE FORMATS ******************************/
00372 
00373 #define DATE_FORMAT_US                  0       /* U.S. (MM-DD-YYYY HH:MM:SS) */
00374 #define DATE_FORMAT_EURO                1       /* European (DD-MM-YYYY HH:MM:SS) */
00375 #define DATE_FORMAT_ISO8601             2       /* ISO8601 (YYYY-MM-DD HH:MM:SS) */
00376 #define DATE_FORMAT_STRICT_ISO8601      3       /* ISO8601 (YYYY-MM-DDTHH:MM:SS) */
00377 
00378 
00379 /************************** MISC DEFINITIONS ****************************/
00380 
00381 #define MAX_FILENAME_LENGTH         256   /* max length of path/filename that Nagios will process */
00382 #define MAX_INPUT_BUFFER         1024  /* size in bytes of max. input buffer (for reading files) */
00383 #define MAX_COMMAND_BUFFER                      8192    /* max length of raw or processed command line */
00384 
00385 #define MAX_DATETIME_LENGTH         48
00386 
00387 
00388 /************************* MODIFIED ATTRIBUTES **************************/
00389 
00390 #define MODATTR_NONE                            0
00391 #define MODATTR_NOTIFICATIONS_ENABLED           1
00392 #define MODATTR_ACTIVE_CHECKS_ENABLED           2
00393 #define MODATTR_PASSIVE_CHECKS_ENABLED          4
00394 #define MODATTR_EVENT_HANDLER_ENABLED           8
00395 #define MODATTR_FLAP_DETECTION_ENABLED          16
00396 #define MODATTR_FAILURE_PREDICTION_ENABLED      32
00397 #define MODATTR_PERFORMANCE_DATA_ENABLED        64
00398 #define MODATTR_OBSESSIVE_HANDLER_ENABLED       128
00399 #define MODATTR_EVENT_HANDLER_COMMAND           256
00400 #define MODATTR_CHECK_COMMAND                   512
00401 #define MODATTR_NORMAL_CHECK_INTERVAL           1024
00402 #define MODATTR_RETRY_CHECK_INTERVAL            2048
00403 #define MODATTR_MAX_CHECK_ATTEMPTS              4096
00404 #define MODATTR_FRESHNESS_CHECKS_ENABLED        8192
00405 
00406 
00407    

Generated on Tue Apr 13 15:15:28 2010 for DNX by  doxygen 1.5.6