diff options
author | M. Sean Finney <seanius@users.sourceforge.net> | 2005-06-29 04:11:29 +0000 |
---|---|---|
committer | M. Sean Finney <seanius@users.sourceforge.net> | 2005-06-29 04:11:29 +0000 |
commit | 290c9b1077eeb1a3acc2b2e1ffacca3571acf30d (patch) | |
tree | 814629ebb1980142c7d468cf5563cc86ac9f0630 /plugins/runcmd.h | |
parent | 49b7afb02704b8d37b0e863efb2651c5ca1cb70f (diff) | |
download | monitoring-plugins-290c9b1077eeb1a3acc2b2e1ffacca3571acf30d.tar.gz |
initial versions of the runcmd framework by andreas
git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@1197 f882894a-f735-0410-b71e-b25c423dba1c
Diffstat (limited to 'plugins/runcmd.h')
-rw-r--r-- | plugins/runcmd.h | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/plugins/runcmd.h b/plugins/runcmd.h new file mode 100644 index 00000000..35ebc255 --- /dev/null +++ b/plugins/runcmd.h @@ -0,0 +1,39 @@ +/* + * $Id$ + * + * Author: Andreas Ericsson <ae@op5.se> + * + * Copyright: GNU GPL v2 or any later version. + * + */ + +#ifndef NAGIOSPLUG_RUNCMD_H +#define NAGIOSPLUG_RUNCMD_H + +#include "common.h" + +/** types **/ +struct output { + char *buf; /* output buffer */ + size_t buflen; /* output buffer content length */ + char **line; /* array of lines (points to buf) */ + size_t *lens; /* string lengths */ + size_t lines; /* lines of output */ +}; + +typedef struct output output; + +/** prototypes **/ +int np_runcmd(const char *, output *, output *, int); +void popen_timeout_alarm_handler(int) + __attribute__((__noreturn__)); + +/* only multi-threaded plugins need to bother with this */ +void np_runcmd_init(void); +#define NP_RUNCMD_INIT np_runcmd_init() + +/* possible flags for np_runcmd()'s fourth argument */ +#define RUNCMD_NO_ARRAYS 0x01 /* don't populate arrays at all */ +#define RUNCMD_NO_ASSOC 0x02 /* output.line won't point to buf */ + +#endif /* NAGIOSPLUG_RUNCMD_H */ |