1 // +------------------------------------------------------------------+ 2 // | ____ _ _ __ __ _ __ | 3 // | / ___| |__ ___ ___| | __ | \/ | |/ / | 4 // | | | | '_ \ / _ \/ __| |/ / | |\/| | ' / | 5 // | | |___| | | | __/ (__| < | | | | . \ | 6 // | \____|_| |_|\___|\___|_|\_\___|_| |_|_|\_\ | 7 // | | 8 // | Copyright Mathias Kettner 2014 mk@mathias-kettner.de | 9 // +------------------------------------------------------------------+ 10 // 11 // This file is part of Check_MK. 12 // The official homepage is at http://mathias-kettner.de/check_mk. 13 // 14 // check_mk is free software; you can redistribute it and/or modify it 15 // under the terms of the GNU General Public License as published by 16 // the Free Software Foundation in version 2. check_mk is distributed 17 // in the hope that it will be useful, but WITHOUT ANY WARRANTY; with- 18 // out even the implied warranty of MERCHANTABILITY or FITNESS FOR A 19 // PARTICULAR PURPOSE. See the GNU General Public License for more de- 20 // ails. You should have received a copy of the GNU General Public 21 // License along with GNU Make; see the file COPYING. If not, write 22 // to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, 23 // Boston, MA 02110-1301 USA. 24 25 #ifndef waittriggers_h 26 #define waittriggers_h 27 28 #include "config.h" // IWYU pragma: keep 29 30 #ifdef __cplusplus 31 extern "C" { 32 #endif 33 34 struct timespec; 35 36 // This is basically a C++ class for triggers done the "C way" via an opaque 37 // struct, explicit passing of 'this' and using a prefix for names. 38 39 struct trigger; 40 41 struct trigger *trigger_all(); 42 struct trigger *trigger_check(); 43 struct trigger *trigger_state(); 44 struct trigger *trigger_log(); 45 struct trigger *trigger_downtime(); 46 struct trigger *trigger_comment(); 47 struct trigger *trigger_command(); 48 struct trigger *trigger_program(); 49 50 struct trigger *trigger_find(const char *name); 51 const char *trigger_all_names(); 52 53 void trigger_notify_all(struct trigger *which); 54 55 void trigger_wait(struct trigger *which); 56 int trigger_wait_until(struct trigger *which, const struct timespec *abstime); 57 58 #ifdef __cplusplus 59 } 60 #endif 61 62 #endif // waittriggers_h 63