summaryrefslogtreecommitdiffstats
path: root/lib/utils_cmd.h
diff options
context:
space:
mode:
Diffstat (limited to 'lib/utils_cmd.h')
-rw-r--r--lib/utils_cmd.h20
1 files changed, 14 insertions, 6 deletions
diff --git a/lib/utils_cmd.h b/lib/utils_cmd.h
index d00069c9..d3a8f14f 100644
--- a/lib/utils_cmd.h
+++ b/lib/utils_cmd.h
@@ -5,22 +5,30 @@
5 * Header file for Monitoring Plugins utils_cmd.c 5 * Header file for Monitoring Plugins utils_cmd.c
6 * 6 *
7 */ 7 */
8#include "../config.h"
9#include <stddef.h>
8 10
9/** types **/ 11/** types **/
10struct output { 12typedef struct {
11 char *buf; /* output buffer */ 13 char *buf; /* output buffer */
12 size_t buflen; /* output buffer content length */ 14 size_t buflen; /* output buffer content length */
13 char **line; /* array of lines (points to buf) */ 15 char **line; /* array of lines (points to buf) */
14 size_t *lens; /* string lengths */
15 size_t lines; /* lines of output */ 16 size_t lines; /* lines of output */
16}; 17} output;
17
18typedef struct output output;
19 18
20/** prototypes **/ 19/** prototypes **/
21int cmd_run(const char *, output *, output *, int); 20int cmd_run(const char *, output *, output *, int);
22int cmd_run_array(char *const *, output *, output *, int); 21int cmd_run_array(char *const *, output *, output *, int);
23int cmd_file_read(char *, output *, int); 22int cmd_file_read(const char *, output *, int);
23
24typedef struct {
25 int error_code;
26 int cmd_error_code;
27 output stdout;
28 output stderr;
29} cmd_run_result;
30cmd_run_result cmd_run2(const char *cmd, int flags);
31cmd_run_result cmd_run_array2(char * const *cmd, int flags);
24 32
25/* only multi-threaded plugins need to bother with this */ 33/* only multi-threaded plugins need to bother with this */
26void cmd_init(void); 34void cmd_init(void);