120
120
int has_been_resolved;
121
121
int register_object;
122
122
struct xodtemplate_timeperiod_struct *next;
123
}xodtemplate_timeperiod;
123
} xodtemplate_timeperiod;
126
126
/* COMMAND TEMPLATE STRUCTURE */
127
typedef struct xodtemplate_command_struct{
136
int has_been_resolved;
138
struct xodtemplate_command_struct *next;
139
}xodtemplate_command;
127
typedef struct xodtemplate_command_struct {
136
int has_been_resolved;
138
struct xodtemplate_command_struct *next;
139
} xodtemplate_command;
142
142
/* CONTACT TEMPLATE STRUCTURE */
143
typedef struct xodtemplate_contact_struct{
151
char *contact_groups;
154
char *address[MAX_XODTEMPLATE_CONTACT_ADDRESSES];
155
char *host_notification_period;
156
char *host_notification_commands;
157
int notify_on_host_down;
158
int notify_on_host_unreachable;
159
int notify_on_host_recovery;
160
int notify_on_host_flapping;
161
int notify_on_host_downtime;
162
char *service_notification_period;
163
char *service_notification_commands;
164
int notify_on_service_unknown;
165
int notify_on_service_warning;
166
int notify_on_service_critical;
167
int notify_on_service_recovery;
168
int notify_on_service_flapping;
169
int notify_on_service_downtime;
170
int host_notifications_enabled;
171
int service_notifications_enabled;
172
int can_submit_commands;
173
int retain_status_information;
174
int retain_nonstatus_information;
175
xodtemplate_customvariablesmember *custom_variables;
177
int have_contact_groups;
180
int have_address[MAX_XODTEMPLATE_CONTACT_ADDRESSES];
181
int have_host_notification_period;
182
int have_host_notification_commands;
183
int have_service_notification_period;
184
int have_service_notification_commands;
186
int have_host_notification_options;
187
int have_service_notification_options;
188
int have_host_notifications_enabled;
189
int have_service_notifications_enabled;
190
int have_can_submit_commands;
191
int have_retain_status_information;
192
int have_retain_nonstatus_information;
194
int has_been_resolved;
196
struct xodtemplate_contact_struct *next;
197
}xodtemplate_contact;
143
typedef struct xodtemplate_contact_struct {
151
char *contact_groups;
154
char *address[MAX_XODTEMPLATE_CONTACT_ADDRESSES];
155
char *host_notification_period;
156
char *host_notification_commands;
157
int notify_on_host_down;
158
int notify_on_host_unreachable;
159
int notify_on_host_recovery;
160
int notify_on_host_flapping;
161
int notify_on_host_downtime;
162
char *service_notification_period;
163
char *service_notification_commands;
164
int notify_on_service_unknown;
165
int notify_on_service_warning;
166
int notify_on_service_critical;
167
int notify_on_service_recovery;
168
int notify_on_service_flapping;
169
int notify_on_service_downtime;
170
int host_notifications_enabled;
171
int service_notifications_enabled;
172
int can_submit_commands;
173
int retain_status_information;
174
int retain_nonstatus_information;
175
xodtemplate_customvariablesmember *custom_variables;
177
int have_contact_groups;
180
int have_address[MAX_XODTEMPLATE_CONTACT_ADDRESSES];
181
int have_host_notification_period;
182
int have_host_notification_commands;
183
int have_service_notification_period;
184
int have_service_notification_commands;
186
int have_host_notification_options;
187
int have_service_notification_options;
188
int have_host_notifications_enabled;
189
int have_service_notifications_enabled;
190
int have_can_submit_commands;
191
int have_retain_status_information;
192
int have_retain_nonstatus_information;
194
int has_been_resolved;
196
struct xodtemplate_contact_struct *next;
197
} xodtemplate_contact;
200
200
/* CONTACTGROUP TEMPLATE STRUCTURE */
201
typedef struct xodtemplate_contactgroup_struct{
207
char *contactgroup_name;
210
char *contactgroup_members;
213
int have_contactgroup_members;
215
int has_been_resolved;
217
struct xodtemplate_contactgroup_struct *next;
218
}xodtemplate_contactgroup;
201
typedef struct xodtemplate_contactgroup_struct {
207
char *contactgroup_name;
210
char *contactgroup_members;
213
int have_contactgroup_members;
215
int has_been_resolved;
217
struct xodtemplate_contactgroup_struct *next;
218
} xodtemplate_contactgroup;
221
221
/* HOST TEMPLATE STRUCTURE */
222
typedef struct xodtemplate_host_struct{
237
double check_interval;
238
double retry_interval;
239
int max_check_attempts;
240
int active_checks_enabled;
241
int passive_checks_enabled;
242
int obsess_over_host;
244
int event_handler_enabled;
246
int freshness_threshold;
247
float low_flap_threshold;
248
float high_flap_threshold;
249
int flap_detection_enabled;
250
int flap_detection_on_up;
251
int flap_detection_on_down;
252
int flap_detection_on_unreachable;
253
char *contact_groups;
256
int notify_on_unreachable;
257
int notify_on_recovery;
258
int notify_on_flapping;
259
int notify_on_downtime;
260
int notifications_enabled;
261
char *notification_period;
262
double notification_interval;
263
double first_notification_delay;
266
int stalk_on_unreachable;
267
int process_perf_data;
268
int failure_prediction_enabled;
269
char *failure_prediction_options;
274
char *icon_image_alt;
276
char *statusmap_image;
282
int retain_status_information;
283
int retain_nonstatus_information;
284
xodtemplate_customvariablesmember *custom_variables;
286
int have_display_name;
288
int have_host_groups;
289
int have_check_command;
290
int have_check_period;
291
int have_event_handler;
292
int have_contact_groups;
294
int have_notification_period;
295
int have_failure_prediction_options;
300
int have_icon_image_alt;
302
int have_statusmap_image;
304
int have_initial_state;
305
int have_check_interval;
306
int have_retry_interval;
307
int have_max_check_attempts;
308
int have_active_checks_enabled;
309
int have_passive_checks_enabled;
310
int have_obsess_over_host;
311
int have_event_handler_enabled;
312
int have_check_freshness;
313
int have_freshness_threshold;
314
int have_low_flap_threshold;
315
int have_high_flap_threshold;
316
int have_flap_detection_enabled;
317
int have_flap_detection_options;
318
int have_notification_options;
319
int have_notifications_enabled;
320
int have_notification_interval;
321
int have_first_notification_delay;
322
int have_stalking_options;
323
int have_process_perf_data;
324
int have_failure_prediction_enabled;
327
int have_retain_status_information;
328
int have_retain_nonstatus_information;
330
int has_been_resolved;
332
struct xodtemplate_host_struct *next;
222
typedef struct xodtemplate_host_struct {
237
double check_interval;
238
double retry_interval;
239
int max_check_attempts;
240
int active_checks_enabled;
241
int passive_checks_enabled;
242
int obsess_over_host;
244
int event_handler_enabled;
246
int freshness_threshold;
247
float low_flap_threshold;
248
float high_flap_threshold;
249
int flap_detection_enabled;
250
int flap_detection_on_up;
251
int flap_detection_on_down;
252
int flap_detection_on_unreachable;
253
char *contact_groups;
256
int notify_on_unreachable;
257
int notify_on_recovery;
258
int notify_on_flapping;
259
int notify_on_downtime;
260
int notifications_enabled;
261
char *notification_period;
262
double notification_interval;
263
double first_notification_delay;
266
int stalk_on_unreachable;
267
int process_perf_data;
268
int failure_prediction_enabled;
269
char *failure_prediction_options;
274
char *icon_image_alt;
276
char *statusmap_image;
282
int retain_status_information;
283
int retain_nonstatus_information;
284
xodtemplate_customvariablesmember *custom_variables;
286
int have_display_name;
288
int have_host_groups;
289
int have_check_command;
290
int have_check_period;
291
int have_event_handler;
292
int have_contact_groups;
294
int have_notification_period;
295
int have_failure_prediction_options;
300
int have_icon_image_alt;
302
int have_statusmap_image;
304
int have_initial_state;
305
int have_check_interval;
306
int have_retry_interval;
307
int have_max_check_attempts;
308
int have_active_checks_enabled;
309
int have_passive_checks_enabled;
310
int have_obsess_over_host;
311
int have_event_handler_enabled;
312
int have_check_freshness;
313
int have_freshness_threshold;
314
int have_low_flap_threshold;
315
int have_high_flap_threshold;
316
int have_flap_detection_enabled;
317
int have_flap_detection_options;
318
int have_notification_options;
319
int have_notifications_enabled;
320
int have_notification_interval;
321
int have_first_notification_delay;
322
int have_stalking_options;
323
int have_process_perf_data;
324
int have_failure_prediction_enabled;
327
int have_retain_status_information;
328
int have_retain_nonstatus_information;
330
int has_been_resolved;
332
struct xodtemplate_host_struct *next;
336
336
/* HOSTGROUP TEMPLATE STRUCTURE */
337
typedef struct xodtemplate_hostgroup_struct{
343
char *hostgroup_name;
346
char *hostgroup_members;
352
int have_hostgroup_members;
357
int has_been_resolved;
359
struct xodtemplate_hostgroup_struct *next;
360
}xodtemplate_hostgroup;
337
typedef struct xodtemplate_hostgroup_struct {
343
char *hostgroup_name;
346
char *hostgroup_members;
352
int have_hostgroup_members;
357
int has_been_resolved;
359
struct xodtemplate_hostgroup_struct *next;
360
} xodtemplate_hostgroup;
363
363
/* SERVICE TEMPLATE STRUCTURE */
364
typedef struct xodtemplate_service_struct{
371
char *service_description;
373
char *hostgroup_name;
374
char *service_groups;
377
int max_check_attempts;
378
double check_interval;
379
double retry_interval;
381
int active_checks_enabled;
382
int passive_checks_enabled;
383
int parallelize_check;
385
int obsess_over_service;
387
int event_handler_enabled;
389
int freshness_threshold;
390
double low_flap_threshold;
391
double high_flap_threshold;
392
int flap_detection_enabled;
393
int flap_detection_on_ok;
394
int flap_detection_on_warning;
395
int flap_detection_on_unknown;
396
int flap_detection_on_critical;
397
int notify_on_unknown;
398
int notify_on_warning;
399
int notify_on_critical;
400
int notify_on_recovery;
401
int notify_on_flapping;
402
int notify_on_downtime;
403
int notifications_enabled;
404
char *notification_period;
405
double notification_interval;
406
double first_notification_delay;
407
char *contact_groups;
410
int stalk_on_unknown;
411
int stalk_on_warning;
412
int stalk_on_critical;
413
int process_perf_data;
414
int failure_prediction_enabled;
415
char *failure_prediction_options;
420
char *icon_image_alt;
421
int retain_status_information;
422
int retain_nonstatus_information;
423
xodtemplate_customvariablesmember *custom_variables;
426
int have_service_description;
427
int have_display_name;
428
int have_hostgroup_name;
429
int have_service_groups;
430
int have_check_command;
431
int have_important_check_command;
432
int have_check_period;
433
int have_event_handler;
434
int have_notification_period;
435
int have_contact_groups;
437
int have_failure_prediction_options;
442
int have_icon_image_alt;
444
int have_initial_state;
445
int have_max_check_attempts;
446
int have_check_interval;
447
int have_retry_interval;
448
int have_active_checks_enabled;
449
int have_passive_checks_enabled;
450
int have_parallelize_check;
451
int have_is_volatile;
452
int have_obsess_over_service;
453
int have_event_handler_enabled;
454
int have_check_freshness;
455
int have_freshness_threshold;
456
int have_low_flap_threshold;
457
int have_high_flap_threshold;
458
int have_flap_detection_enabled;
459
int have_flap_detection_options;
460
int have_notification_options;
461
int have_notifications_enabled;
462
int have_notification_dependencies;
463
int have_notification_interval;
464
int have_first_notification_delay;
465
int have_stalking_options;
466
int have_process_perf_data;
467
int have_failure_prediction_enabled;
468
int have_retain_status_information;
469
int have_retain_nonstatus_information;
471
int has_been_resolved;
473
struct xodtemplate_service_struct *next;
474
}xodtemplate_service;
364
typedef struct xodtemplate_service_struct {
371
char *service_description;
373
char *hostgroup_name;
374
char *service_groups;
377
int max_check_attempts;
378
double check_interval;
379
double retry_interval;
381
int active_checks_enabled;
382
int passive_checks_enabled;
383
int parallelize_check;
385
int obsess_over_service;
387
int event_handler_enabled;
389
int freshness_threshold;
390
double low_flap_threshold;
391
double high_flap_threshold;
392
int flap_detection_enabled;
393
int flap_detection_on_ok;
394
int flap_detection_on_warning;
395
int flap_detection_on_unknown;
396
int flap_detection_on_critical;
397
int notify_on_unknown;
398
int notify_on_warning;
399
int notify_on_critical;
400
int notify_on_recovery;
401
int notify_on_flapping;
402
int notify_on_downtime;
403
int notifications_enabled;
404
char *notification_period;
405
double notification_interval;
406
double first_notification_delay;
407
char *contact_groups;
410
int stalk_on_unknown;
411
int stalk_on_warning;
412
int stalk_on_critical;
413
int process_perf_data;
414
int failure_prediction_enabled;
415
char *failure_prediction_options;
420
char *icon_image_alt;
421
int retain_status_information;
422
int retain_nonstatus_information;
423
xodtemplate_customvariablesmember *custom_variables;
426
int have_service_description;
427
int have_display_name;
428
int have_hostgroup_name;
429
int have_service_groups;
430
int have_check_command;
431
int have_important_check_command;
432
int have_check_period;
433
int have_event_handler;
434
int have_notification_period;
435
int have_contact_groups;
437
int have_failure_prediction_options;
442
int have_icon_image_alt;
444
int have_initial_state;
445
int have_max_check_attempts;
446
int have_check_interval;
447
int have_retry_interval;
448
int have_active_checks_enabled;
449
int have_passive_checks_enabled;
450
int have_parallelize_check;
451
int have_is_volatile;
452
int have_obsess_over_service;
453
int have_event_handler_enabled;
454
int have_check_freshness;
455
int have_freshness_threshold;
456
int have_low_flap_threshold;
457
int have_high_flap_threshold;
458
int have_flap_detection_enabled;
459
int have_flap_detection_options;
460
int have_notification_options;
461
int have_notifications_enabled;
462
int have_notification_dependencies;
463
int have_notification_interval;
464
int have_first_notification_delay;
465
int have_stalking_options;
466
int have_process_perf_data;
467
int have_failure_prediction_enabled;
468
int have_retain_status_information;
469
int have_retain_nonstatus_information;
471
int has_been_resolved;
473
struct xodtemplate_service_struct *next;
474
} xodtemplate_service;
477
477
/* SERVICEGROUP TEMPLATE STRUCTURE */
478
typedef struct xodtemplate_servicegroup_struct{
484
char *servicegroup_name;
487
char *servicegroup_members;
493
int have_servicegroup_members;
498
int has_been_resolved;
500
struct xodtemplate_servicegroup_struct *next;
501
}xodtemplate_servicegroup;
478
typedef struct xodtemplate_servicegroup_struct {
484
char *servicegroup_name;
487
char *servicegroup_members;
493
int have_servicegroup_members;
498
int has_been_resolved;
500
struct xodtemplate_servicegroup_struct *next;
501
} xodtemplate_servicegroup;
504
504
/* SERVICEDEPENDENCY TEMPLATE STRUCTURE */
505
typedef struct xodtemplate_servicedependency_struct{
512
char *service_description;
513
char *dependent_host_name;
514
char *dependent_service_description;
515
char *servicegroup_name;
516
char *hostgroup_name;
517
char *dependent_servicegroup_name;
518
char *dependent_hostgroup_name;
519
char *dependency_period;
521
int fail_notify_on_ok;
522
int fail_notify_on_unknown;
523
int fail_notify_on_warning;
524
int fail_notify_on_critical;
525
int fail_notify_on_pending;
526
int fail_execute_on_ok;
527
int fail_execute_on_unknown;
528
int fail_execute_on_warning;
529
int fail_execute_on_critical;
530
int fail_execute_on_pending;
533
int have_service_description;
534
int have_dependent_host_name;
535
int have_dependent_service_description;
536
int have_servicegroup_name;
537
int have_hostgroup_name;
538
int have_dependent_servicegroup_name;
539
int have_dependent_hostgroup_name;
540
int have_dependency_period;
542
int have_inherits_parent;
543
int have_notification_dependency_options;
544
int have_execution_dependency_options;
546
int has_been_resolved;
548
struct xodtemplate_servicedependency_struct *next;
549
}xodtemplate_servicedependency;
505
typedef struct xodtemplate_servicedependency_struct {
512
char *service_description;
513
char *dependent_host_name;
514
char *dependent_service_description;
515
char *servicegroup_name;
516
char *hostgroup_name;
517
char *dependent_servicegroup_name;
518
char *dependent_hostgroup_name;
519
char *dependency_period;
521
int fail_notify_on_ok;
522
int fail_notify_on_unknown;
523
int fail_notify_on_warning;
524
int fail_notify_on_critical;
525
int fail_notify_on_pending;
526
int fail_execute_on_ok;
527
int fail_execute_on_unknown;
528
int fail_execute_on_warning;
529
int fail_execute_on_critical;
530
int fail_execute_on_pending;
533
int have_service_description;
534
int have_dependent_host_name;
535
int have_dependent_service_description;
536
int have_servicegroup_name;
537
int have_hostgroup_name;
538
int have_dependent_servicegroup_name;
539
int have_dependent_hostgroup_name;
540
int have_dependency_period;
542
int have_inherits_parent;
543
int have_notification_dependency_options;
544
int have_execution_dependency_options;
546
int has_been_resolved;
548
struct xodtemplate_servicedependency_struct *next;
549
} xodtemplate_servicedependency;
552
552
/* SERVICEESCALATION TEMPLATE STRUCTURE */
553
typedef struct xodtemplate_serviceescalation_struct{
560
char *service_description;
561
char *servicegroup_name;
562
char *hostgroup_name;
563
int first_notification;
564
int last_notification;
565
double notification_interval;
566
char *escalation_period;
567
int escalate_on_warning;
568
int escalate_on_unknown;
569
int escalate_on_critical;
570
int escalate_on_recovery;
571
char *contact_groups;
575
int have_service_description;
576
int have_servicegroup_name;
577
int have_hostgroup_name;
578
int have_escalation_period;
579
int have_contact_groups;
582
int have_first_notification;
583
int have_last_notification;
584
int have_notification_interval;
585
int have_escalation_options;
587
int has_been_resolved;
589
struct xodtemplate_serviceescalation_struct *next;
590
}xodtemplate_serviceescalation;
553
typedef struct xodtemplate_serviceescalation_struct {
560
char *service_description;
561
char *servicegroup_name;
562
char *hostgroup_name;
563
int first_notification;
564
int last_notification;
565
double notification_interval;
566
char *escalation_period;
567
int escalate_on_warning;
568
int escalate_on_unknown;
569
int escalate_on_critical;
570
int escalate_on_recovery;
571
char *contact_groups;
575
int have_service_description;
576
int have_servicegroup_name;
577
int have_hostgroup_name;
578
int have_escalation_period;
579
int have_contact_groups;
582
int have_first_notification;
583
int have_last_notification;
584
int have_notification_interval;
585
int have_escalation_options;
587
int has_been_resolved;
589
struct xodtemplate_serviceescalation_struct *next;
590
} xodtemplate_serviceescalation;
593
593
/* HOSTDEPENDENCY TEMPLATE STRUCTURE */
594
typedef struct xodtemplate_hostdependency_struct{
601
char *dependent_host_name;
602
char *hostgroup_name;
603
char *dependent_hostgroup_name;
604
char *dependency_period;
606
int fail_notify_on_up;
607
int fail_notify_on_down;
608
int fail_notify_on_unreachable;
609
int fail_notify_on_pending;
610
int fail_execute_on_up;
611
int fail_execute_on_down;
612
int fail_execute_on_unreachable;
613
int fail_execute_on_pending;
616
int have_dependent_host_name;
617
int have_hostgroup_name;
618
int have_dependent_hostgroup_name;
619
int have_dependency_period;
621
int have_inherits_parent;
622
int have_notification_dependency_options;
623
int have_execution_dependency_options;
625
int has_been_resolved;
627
struct xodtemplate_hostdependency_struct *next;
628
}xodtemplate_hostdependency;
594
typedef struct xodtemplate_hostdependency_struct {
601
char *dependent_host_name;
602
char *hostgroup_name;
603
char *dependent_hostgroup_name;
604
char *dependency_period;
606
int fail_notify_on_up;
607
int fail_notify_on_down;
608
int fail_notify_on_unreachable;
609
int fail_notify_on_pending;
610
int fail_execute_on_up;
611
int fail_execute_on_down;
612
int fail_execute_on_unreachable;
613
int fail_execute_on_pending;
616
int have_dependent_host_name;
617
int have_hostgroup_name;
618
int have_dependent_hostgroup_name;
619
int have_dependency_period;
621
int have_inherits_parent;
622
int have_notification_dependency_options;
623
int have_execution_dependency_options;
625
int has_been_resolved;
627
struct xodtemplate_hostdependency_struct *next;
628
} xodtemplate_hostdependency;
631
631
/* HOSTESCALATION TEMPLATE STRUCTURE */
632
typedef struct xodtemplate_hostescalation_struct{
639
char *hostgroup_name;
640
int first_notification;
641
int last_notification;
642
double notification_interval;
643
char *escalation_period;
644
int escalate_on_down;
645
int escalate_on_unreachable;
646
int escalate_on_recovery;
647
char *contact_groups;
651
int have_hostgroup_name;
652
int have_escalation_period;
653
int have_contact_groups;
656
int have_first_notification;
657
int have_last_notification;
658
int have_notification_interval;
659
int have_escalation_options;
661
int has_been_resolved;
663
struct xodtemplate_hostescalation_struct *next;
664
}xodtemplate_hostescalation;
632
typedef struct xodtemplate_hostescalation_struct {
639
char *hostgroup_name;
640
int first_notification;
641
int last_notification;
642
double notification_interval;
643
char *escalation_period;
644
int escalate_on_down;
645
int escalate_on_unreachable;
646
int escalate_on_recovery;
647
char *contact_groups;
651
int have_hostgroup_name;
652
int have_escalation_period;
653
int have_contact_groups;
656
int have_first_notification;
657
int have_last_notification;
658
int have_notification_interval;
659
int have_escalation_options;
661
int has_been_resolved;
663
struct xodtemplate_hostescalation_struct *next;
664
} xodtemplate_hostescalation;
667
667
/* HOSTEXTINFO TEMPLATE STRUCTURE */
668
typedef struct xodtemplate_hostextinfo_struct{
675
char *hostgroup_name;
680
char *icon_image_alt;
682
char *statusmap_image;
690
int have_hostgroup_name;
695
int have_icon_image_alt;
697
int have_statusmap_image;
702
int has_been_resolved;
704
struct xodtemplate_hostextinfo_struct *next;
705
}xodtemplate_hostextinfo;
668
typedef struct xodtemplate_hostextinfo_struct {
675
char *hostgroup_name;
680
char *icon_image_alt;
682
char *statusmap_image;
690
int have_hostgroup_name;
695
int have_icon_image_alt;
697
int have_statusmap_image;
702
int has_been_resolved;
704
struct xodtemplate_hostextinfo_struct *next;
705
} xodtemplate_hostextinfo;
708
708
/* SERVICEEXTINFO TEMPLATE STRUCTURE */
709
typedef struct xodtemplate_serviceextinfo_struct{
716
char *hostgroup_name;
717
char *service_description;
722
char *icon_image_alt;
725
int have_hostgroup_name;
726
int have_service_description;
731
int have_icon_image_alt;
733
int has_been_resolved;
735
struct xodtemplate_serviceextinfo_struct *next;
736
}xodtemplate_serviceextinfo;
709
typedef struct xodtemplate_serviceextinfo_struct {
716
char *hostgroup_name;
717
char *service_description;
722
char *icon_image_alt;
725
int have_hostgroup_name;
726
int have_service_description;
731
int have_icon_image_alt;
733
int has_been_resolved;
735
struct xodtemplate_serviceextinfo_struct *next;
736
} xodtemplate_serviceextinfo;
739
739
/* CONTACT LIST STRUCTURE */
740
typedef struct xodtemplate_contactlist_struct{
742
struct xodtemplate_contactlist_struct *next;
743
}xodtemplate_contactlist;
740
typedef struct xodtemplate_contactlist_struct {
742
struct xodtemplate_contactlist_struct *next;
743
} xodtemplate_contactlist;
746
746
/* HOST LIST STRUCTURE */
747
typedef struct xodtemplate_hostlist_struct{
749
struct xodtemplate_hostlist_struct *next;
750
}xodtemplate_hostlist;
747
typedef struct xodtemplate_hostlist_struct {
749
struct xodtemplate_hostlist_struct *next;
750
} xodtemplate_hostlist;
753
753
/* SERVICE LIST STRUCTURE */
754
typedef struct xodtemplate_servicelist_struct{
756
char *service_description;
757
struct xodtemplate_servicelist_struct *next;
758
}xodtemplate_servicelist;
754
typedef struct xodtemplate_servicelist_struct {
756
char *service_description;
757
struct xodtemplate_servicelist_struct *next;
758
} xodtemplate_servicelist;
761
761
/* MEMBER LIST STRUCTURE */
762
typedef struct xodtemplate_memberlist_struct{
765
struct xodtemplate_memberlist_struct *next;
766
}xodtemplate_memberlist;
762
typedef struct xodtemplate_memberlist_struct {
765
struct xodtemplate_memberlist_struct *next;
766
} xodtemplate_memberlist;
769
769
/***** CHAINED HASH DATA STRUCTURES ******/
771
typedef struct xodtemplate_service_cursor_struct{
772
int xodtemplate_service_iterator;
773
xodtemplate_service *current_xodtemplate_service;
774
}xodtemplate_service_cursor;
771
typedef struct xodtemplate_service_cursor_struct {
772
int xodtemplate_service_iterator;
773
xodtemplate_service *current_xodtemplate_service;
774
} xodtemplate_service_cursor;
778
778
/********* FUNCTION DEFINITIONS **********/
780
int xodtemplate_read_config_data(char *,int,int,int); /* top-level routine processes all config files */
780
int xodtemplate_read_config_data(char *, int, int, int); /* top-level routine processes all config files */
781
781
int xodtemplate_grab_config_info(char *); /* grabs variables from main config file */
782
int xodtemplate_process_config_file(char *,int); /* process data in a specific config file */
783
int xodtemplate_process_config_dir(char *,int); /* process all files in a specific config directory */
782
int xodtemplate_process_config_file(char *, int); /* process data in a specific config file */
783
int xodtemplate_process_config_dir(char *, int); /* process all files in a specific config directory */
786
char *xodtemplate_config_file_name(int); /* returns the name of a numbered config file */
788
xodtemplate_memberlist *xodtemplate_expand_contactgroups_and_contacts(char *,char *,int,int);
789
int xodtemplate_expand_contactgroups(xodtemplate_memberlist **,xodtemplate_memberlist **,char *,int,int);
790
int xodtemplate_expand_contacts(xodtemplate_memberlist **,xodtemplate_memberlist **,char *,int,int);
791
int xodtemplate_add_contactgroup_members_to_memberlist(xodtemplate_memberlist **,xodtemplate_contactgroup *,int,int);
793
xodtemplate_memberlist *xodtemplate_expand_hostgroups_and_hosts(char *,char *,int,int);
794
int xodtemplate_expand_hostgroups(xodtemplate_memberlist **,xodtemplate_memberlist **,char *,int,int);
795
int xodtemplate_expand_hosts(xodtemplate_memberlist **,xodtemplate_memberlist **,char *,int,int);
796
int xodtemplate_add_hostgroup_members_to_memberlist(xodtemplate_memberlist **,xodtemplate_hostgroup *,int,int);
798
xodtemplate_memberlist *xodtemplate_expand_servicegroups_and_services(char *,char *,char *,int,int);
799
int xodtemplate_expand_servicegroups(xodtemplate_memberlist **,xodtemplate_memberlist **,char *,int,int);
800
int xodtemplate_expand_services(xodtemplate_memberlist **,xodtemplate_memberlist **,char *,char *,int,int);
801
int xodtemplate_add_servicegroup_members_to_memberlist(xodtemplate_memberlist **,xodtemplate_servicegroup *,int,int);
803
char *xodtemplate_process_contactgroup_names(char *,int,int);
804
int xodtemplate_get_contactgroup_names(xodtemplate_memberlist **,xodtemplate_memberlist **,char *,int,int);
806
char *xodtemplate_process_hostgroup_names(char *,int,int);
807
int xodtemplate_get_hostgroup_names(xodtemplate_memberlist **,xodtemplate_memberlist **,char *,int,int);
809
char *xodtemplate_process_servicegroup_names(char *,int,int);
810
int xodtemplate_get_servicegroup_names(xodtemplate_memberlist **,xodtemplate_memberlist **,char *,int,int);
812
int xodtemplate_add_member_to_memberlist(xodtemplate_memberlist **,char *,char *);
786
xodtemplate_memberlist *xodtemplate_expand_contactgroups_and_contacts(char *, char *, int, int);
787
int xodtemplate_expand_contactgroups(xodtemplate_memberlist **, xodtemplate_memberlist **, char *, int, int);
788
int xodtemplate_expand_contacts(xodtemplate_memberlist **, xodtemplate_memberlist **, char *, int, int);
789
int xodtemplate_add_contactgroup_members_to_memberlist(xodtemplate_memberlist **, xodtemplate_contactgroup *, int, int);
791
xodtemplate_memberlist *xodtemplate_expand_hostgroups_and_hosts(char *, char *, int, int);
792
int xodtemplate_expand_hostgroups(xodtemplate_memberlist **, xodtemplate_memberlist **, char *, int, int);
793
int xodtemplate_expand_hosts(xodtemplate_memberlist **, xodtemplate_memberlist **, char *, int, int);
794
int xodtemplate_add_hostgroup_members_to_memberlist(xodtemplate_memberlist **, xodtemplate_hostgroup *, int, int);
796
xodtemplate_memberlist *xodtemplate_expand_servicegroups_and_services(char *, char *, char *, int, int);
797
int xodtemplate_expand_servicegroups(xodtemplate_memberlist **, xodtemplate_memberlist **, char *, int, int);
798
int xodtemplate_expand_services(xodtemplate_memberlist **, xodtemplate_memberlist **, char *, char *, int, int);
799
int xodtemplate_add_servicegroup_members_to_memberlist(xodtemplate_memberlist **, xodtemplate_servicegroup *, int, int);
801
char *xodtemplate_process_contactgroup_names(char *, int, int);
802
int xodtemplate_get_contactgroup_names(xodtemplate_memberlist **, xodtemplate_memberlist **, char *, int, int);
804
char *xodtemplate_process_hostgroup_names(char *, int, int);
805
int xodtemplate_get_hostgroup_names(xodtemplate_memberlist **, xodtemplate_memberlist **, char *, int, int);
807
char *xodtemplate_process_servicegroup_names(char *, int, int);
808
int xodtemplate_get_servicegroup_names(xodtemplate_memberlist **, xodtemplate_memberlist **, char *, int, int);
810
int xodtemplate_add_member_to_memberlist(xodtemplate_memberlist **, char *, char *);
813
811
int xodtemplate_free_memberlist(xodtemplate_memberlist **);
814
void xodtemplate_remove_memberlist_item(xodtemplate_memberlist *,xodtemplate_memberlist **);
812
void xodtemplate_remove_memberlist_item(xodtemplate_memberlist *, xodtemplate_memberlist **);
818
int xodtemplate_begin_object_definition(char *,int,int,int);
819
int xodtemplate_add_object_property(char *,int);
816
int xodtemplate_begin_object_definition(char *, int, int, int);
817
int xodtemplate_add_object_property(char *, int);
820
818
int xodtemplate_end_object_definition(int);
822
int xodtemplate_parse_timeperiod_directive(xodtemplate_timeperiod *,char *,char *);
823
xodtemplate_daterange *xodtemplate_add_exception_to_timeperiod(xodtemplate_timeperiod *,int,int,int,int,int,int,int,int,int,int,int,int,char *);
824
int xodtemplate_get_month_from_string(char *,int *);
825
int xodtemplate_get_weekday_from_string(char *,int *);
820
int xodtemplate_parse_timeperiod_directive(xodtemplate_timeperiod *, char *, char *);
821
xodtemplate_daterange *xodtemplate_add_exception_to_timeperiod(xodtemplate_timeperiod *, int, int, int, int, int, int, int, int, int, int, int, int, char *);
822
int xodtemplate_get_month_from_string(char *, int *);
823
int xodtemplate_get_weekday_from_string(char *, int *);
827
xodtemplate_customvariablesmember *xodtemplate_add_custom_variable_to_host(xodtemplate_host *,char *,char *);
828
xodtemplate_customvariablesmember *xodtemplate_add_custom_variable_to_service(xodtemplate_service *,char *,char *);
829
xodtemplate_customvariablesmember *xodtemplate_add_custom_variable_to_contact(xodtemplate_contact *,char *,char *);
830
xodtemplate_customvariablesmember *xodtemplate_add_custom_variable_to_object(xodtemplate_customvariablesmember **,char *,char *);
825
xodtemplate_customvariablesmember *xodtemplate_add_custom_variable_to_host(xodtemplate_host *, char *, char *);
826
xodtemplate_customvariablesmember *xodtemplate_add_custom_variable_to_service(xodtemplate_service *, char *, char *);
827
xodtemplate_customvariablesmember *xodtemplate_add_custom_variable_to_contact(xodtemplate_contact *, char *, char *);
828
xodtemplate_customvariablesmember *xodtemplate_add_custom_variable_to_object(xodtemplate_customvariablesmember **, char *, char *);
833
831
int xodtemplate_register_objects(void);