diff options
Diffstat (limited to 'plugins/check_fping.d')
| -rw-r--r-- | plugins/check_fping.d/config.h | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/plugins/check_fping.d/config.h b/plugins/check_fping.d/config.h new file mode 100644 index 00000000..d3e50565 --- /dev/null +++ b/plugins/check_fping.d/config.h | |||
| @@ -0,0 +1,81 @@ | |||
| 1 | #pragma once | ||
| 2 | |||
| 3 | #include "../../config.h" | ||
| 4 | #include <stddef.h> | ||
| 5 | |||
| 6 | enum { | ||
| 7 | PACKET_SIZE = 56, | ||
| 8 | PACKET_COUNT = 1, | ||
| 9 | }; | ||
| 10 | |||
| 11 | typedef struct { | ||
| 12 | char *server_name; | ||
| 13 | char *sourceip; | ||
| 14 | char *sourceif; | ||
| 15 | int packet_size; | ||
| 16 | int packet_count; | ||
| 17 | int target_timeout; | ||
| 18 | int packet_interval; | ||
| 19 | bool randomize_packet_data; | ||
| 20 | bool dontfrag; | ||
| 21 | bool alive_p; | ||
| 22 | |||
| 23 | double crta; | ||
| 24 | bool crta_p; | ||
| 25 | double wrta; | ||
| 26 | bool wrta_p; | ||
| 27 | |||
| 28 | int cpl; | ||
| 29 | bool cpl_p; | ||
| 30 | int wpl; | ||
| 31 | bool wpl_p; | ||
| 32 | |||
| 33 | // only available with fping version >= 5.2 | ||
| 34 | // for a given uint _fwmark_ fping sets _fwmark_ as a firewall mark | ||
| 35 | // in the packets | ||
| 36 | unsigned int fwmark; | ||
| 37 | bool fwmark_set; | ||
| 38 | |||
| 39 | // only available with fping version >= 5.3 | ||
| 40 | // Setting icmp_timestamp tells fping to use ICMP Timestamp (ICMP type 13) instead | ||
| 41 | // of ICMP Echo | ||
| 42 | bool icmp_timestamp; | ||
| 43 | |||
| 44 | // Setting check_source lets fping discard replies which are not from the target address | ||
| 45 | bool check_source; | ||
| 46 | } check_fping_config; | ||
| 47 | |||
| 48 | check_fping_config check_fping_config_init() { | ||
| 49 | check_fping_config tmp = { | ||
| 50 | .server_name = NULL, | ||
| 51 | .sourceip = NULL, | ||
| 52 | .sourceif = NULL, | ||
| 53 | .packet_size = PACKET_SIZE, | ||
| 54 | .packet_count = PACKET_COUNT, | ||
| 55 | .target_timeout = 0, | ||
| 56 | .packet_interval = 0, | ||
| 57 | .randomize_packet_data = false, | ||
| 58 | .dontfrag = false, | ||
| 59 | .alive_p = false, | ||
| 60 | |||
| 61 | .crta = 0, | ||
| 62 | .crta_p = false, | ||
| 63 | .wrta = 0, | ||
| 64 | .wrta_p = false, | ||
| 65 | |||
| 66 | .cpl = 0, | ||
| 67 | .cpl_p = false, | ||
| 68 | .wpl = 0, | ||
| 69 | .wpl_p = false, | ||
| 70 | |||
| 71 | // only available with fping version >= 5.2 | ||
| 72 | .fwmark = 0, | ||
| 73 | .fwmark_set = false, // just to be deterministic | ||
| 74 | |||
| 75 | // only available with fping version >= 5.3 | ||
| 76 | .icmp_timestamp = false, | ||
| 77 | .check_source = false, | ||
| 78 | |||
| 79 | }; | ||
| 80 | return tmp; | ||
| 81 | } | ||
