diff options
Diffstat (limited to 'plugins')
| -rw-r--r-- | plugins/utils.c | 39 | ||||
| -rw-r--r-- | plugins/utils.h | 12 |
2 files changed, 51 insertions, 0 deletions
diff --git a/plugins/utils.c b/plugins/utils.c index ec254739..77e2e279 100644 --- a/plugins/utils.c +++ b/plugins/utils.c | |||
| @@ -544,3 +544,42 @@ char *perfdata (const char *label, | |||
| 544 | 544 | ||
| 545 | return data; | 545 | return data; |
| 546 | } | 546 | } |
| 547 | |||
| 548 | |||
| 549 | char *fperfdata (const char *label, | ||
| 550 | double val, | ||
| 551 | const char *uom, | ||
| 552 | int warnp, | ||
| 553 | double warn, | ||
| 554 | int critp, | ||
| 555 | double crit, | ||
| 556 | int minp, | ||
| 557 | double minv, | ||
| 558 | int maxp, | ||
| 559 | double maxv) | ||
| 560 | { | ||
| 561 | char *data = NULL; | ||
| 562 | |||
| 563 | if (strpbrk (label, "'= ")) | ||
| 564 | asprintf (&data, "'%s'=%ld%s;", label, val, uom); | ||
| 565 | else | ||
| 566 | asprintf (&data, "%s=%ld%s;", label, val, uom); | ||
| 567 | |||
| 568 | if (warnp) | ||
| 569 | asprintf (&data, "%s%ld;", data, warn); | ||
| 570 | else | ||
| 571 | asprintf (&data, "%s;", data); | ||
| 572 | |||
| 573 | if (critp) | ||
| 574 | asprintf (&data, "%s%ld;", data, crit); | ||
| 575 | else | ||
| 576 | asprintf (&data, "%s;", data); | ||
| 577 | |||
| 578 | if (minp) | ||
| 579 | asprintf (&data, "%s%ld", data, minv); | ||
| 580 | |||
| 581 | if (maxp) | ||
| 582 | asprintf (&data, "%s;%ld", data, maxv); | ||
| 583 | |||
| 584 | return data; | ||
| 585 | } | ||
diff --git a/plugins/utils.h b/plugins/utils.h index c2b06415..35e62ab4 100644 --- a/plugins/utils.h +++ b/plugins/utils.h | |||
| @@ -92,6 +92,18 @@ char *perfdata (const char *label, | |||
| 92 | int maxp, | 92 | int maxp, |
| 93 | long int maxv); | 93 | long int maxv); |
| 94 | 94 | ||
| 95 | char *fperfdata (const char *label, | ||
| 96 | double val, | ||
| 97 | const char *uom, | ||
| 98 | int warnp, | ||
| 99 | double warn, | ||
| 100 | int critp, | ||
| 101 | double crit, | ||
| 102 | int minp, | ||
| 103 | double minv, | ||
| 104 | int maxp, | ||
| 105 | double maxv); | ||
| 106 | |||
| 95 | /* The idea here is that, although not every plugin will use all of these, | 107 | /* The idea here is that, although not every plugin will use all of these, |
| 96 | most will or should. Therefore, for consistency, these very common | 108 | most will or should. Therefore, for consistency, these very common |
| 97 | options should have only these meanings throughout the overall suite */ | 109 | options should have only these meanings throughout the overall suite */ |
