Commit | Line | Data |
---|---|---|
ebba3338 | 1 | /* |
0235b0db | 2 | * SPDX-License-Identifier: MIT |
ebba3338 | 3 | * |
0235b0db | 4 | * Copyright 2016-2017 Philippe Proulx <pproulx@efficios.com> |
ebba3338 PP |
5 | */ |
6 | ||
0235b0db MJ |
7 | #ifndef CLI_BABELTRACE_CFG_CLI_ARGS_H |
8 | #define CLI_BABELTRACE_CFG_CLI_ARGS_H | |
9 | ||
c4f23e30 | 10 | #include <stdbool.h> |
ebba3338 PP |
11 | #include <stdlib.h> |
12 | #include <stdint.h> | |
578e048b MJ |
13 | #include "lib/object.h" |
14 | #include "compat/compiler.h" | |
ebba3338 | 15 | #include <glib.h> |
ebba3338 | 16 | |
ec2c5e50 | 17 | #include "babeltrace2-cfg.h" |
ebba3338 | 18 | |
353c2524 SM |
19 | /* |
20 | * Return value of functions that create a bt_config from CLI args and return | |
21 | * it through an out parameter. | |
22 | */ | |
23 | enum bt_config_cli_args_status | |
24 | { | |
25 | /* | |
26 | * Config was successfully created and returned through the out | |
27 | * parameter. | |
28 | */ | |
29 | BT_CONFIG_CLI_ARGS_STATUS_OK = 0, | |
30 | ||
31 | /* | |
32 | * Config could not be created due to an error. The out parameter is | |
33 | * left unchanged. | |
34 | */ | |
35 | BT_CONFIG_CLI_ARGS_STATUS_ERROR = -1, | |
36 | ||
37 | /* | |
38 | * The arguments caused the function to print some information (help, | |
39 | * version, etc), not config was created. The out parameter is left | |
40 | * unchanged. | |
41 | */ | |
42 | BT_CONFIG_CLI_ARGS_STATUS_INFO_ONLY = 1, | |
43 | }; | |
44 | ||
45 | enum bt_config_cli_args_status bt_config_cli_args_create(int argc, | |
46 | const char *argv[], | |
47 | struct bt_config **cfg, bool force_omit_system_plugin_path, | |
9a16feea | 48 | bool force_omit_home_plugin_path, |
3dae1685 SM |
49 | const bt_value *initial_plugin_paths, |
50 | const bt_interrupter *interrupter); | |
ebba3338 | 51 | |
9009cc24 | 52 | #endif /* CLI_BABELTRACE_CFG_CLI_ARGS_H */ |