| /* This file is automatically generated from the documentation. EDIT AT YOUR OWN RISK. */ |
| |
| #ifndef CARE_CLI_H |
| #define CARE_CLI_H |
| |
| #include "cli/cli.h" |
| |
| #ifndef VERSION |
| #define VERSION "2.2" |
| #endif |
| |
| #define CARE_MAX_SIZE 1024 |
| |
| static char const *default_concealed_paths[] = { |
| "$HOME", |
| "/tmp", |
| NULL, |
| }; |
| |
| static char const *default_revealed_paths[] = { |
| "$PWD", |
| NULL, |
| }; |
| |
| static char const *default_volatile_paths[] = { |
| "/dev", |
| "/proc", |
| "/sys", |
| "/run/shm", |
| "/tmp/.X11-unix", |
| "/tmp/.ICE-unix", |
| "$XAUTHORITY", |
| "$ICEAUTHORITY", |
| "/var/run/dbus/system_bus_socket", |
| "/var/tmp/kdecache-$LOGNAME", |
| NULL, |
| }; |
| |
| static char const *default_volatile_envars[] = { |
| "DISPLAY", |
| "http_proxy", |
| "https_proxy", |
| "ftp_proxy", |
| "all_proxy", |
| "HTTP_PROXY", |
| "HTTPS_PROXY", |
| "FTP_PROXY", |
| "ALL_PROXY", |
| "DBUS_SESSION_BUS_ADDRESS", |
| "SESSION_MANAGER", |
| "XDG_SESSION_COOKIE", |
| NULL, |
| }; |
| |
| static int handle_option_o(Tracee *tracee, const Cli *cli, const char *value); |
| static int handle_option_c(Tracee *tracee, const Cli *cli, const char *value); |
| static int handle_option_r(Tracee *tracee, const Cli *cli, const char *value); |
| static int handle_option_p(Tracee *tracee, const Cli *cli, const char *value); |
| static int handle_option_e(Tracee *tracee, const Cli *cli, const char *value); |
| static int handle_option_m(Tracee *tracee, const Cli *cli, const char *value); |
| static int handle_option_d(Tracee *tracee, const Cli *cli, const char *value); |
| static int handle_option_v(Tracee *tracee, const Cli *cli, const char *value); |
| static int handle_option_V(Tracee *tracee, const Cli *cli, const char *value); |
| static int handle_option_x(Tracee *tracee, const Cli *cli, const char *value); |
| static int handle_option_h(Tracee *tracee, const Cli *cli, const char *value); |
| |
| static int pre_initialize_bindings(Tracee *, const Cli *, size_t, char *const *, size_t); |
| static int post_initialize_bindings(Tracee *, const Cli *, size_t, char *const *, size_t); |
| |
| static Cli care_cli = { |
| .version = VERSION, |
| .name = "care", |
| .subtitle = "Comprehensive Archiver for Reproducible Execution", |
| .synopsis = "care [option] ... command", |
| .colophon = "Visit http://reproducible.io for help, bug reports, suggestions, patches, ...\n\ |
| Copyright (C) 2014 STMicroelectronics, licensed under GPL v2 or later.", |
| .logo = "\ |
| _____ ____ _____ ____\n\ |
| / __/ __ | __ \\ __|\n\ |
| / /_/ | / __|\n\ |
| \\_____|__|__|__|__\\____|", |
| |
| .pre_initialize_bindings = pre_initialize_bindings, |
| .post_initialize_bindings = post_initialize_bindings, |
| |
| .options = { |
| { .class = "Options", |
| .arguments = { |
| { .name = "-o", .separator = ' ', .value = "path" }, |
| { .name = "--output", .separator = '=', .value = "path" }, |
| { .name = NULL, .separator = '\0', .value = NULL } }, |
| .handler = handle_option_o, |
| .description = "Archive in *path*, its suffix specifies the format.", |
| .detail = NULL, |
| }, |
| { .class = "Options", |
| .arguments = { |
| { .name = "-c", .separator = ' ', .value = "path" }, |
| { .name = "--concealed-path", .separator = '=', .value = "path" }, |
| { .name = NULL, .separator = '\0', .value = NULL } }, |
| .handler = handle_option_c, |
| .description = "Make *path* content appear empty during the original execution.", |
| .detail = NULL, |
| }, |
| { .class = "Options", |
| .arguments = { |
| { .name = "-r", .separator = ' ', .value = "path" }, |
| { .name = "--revealed-path", .separator = '=', .value = "path" }, |
| { .name = NULL, .separator = '\0', .value = NULL } }, |
| .handler = handle_option_r, |
| .description = "Make *path* content accessible when nested in a concealed path.", |
| .detail = NULL, |
| }, |
| { .class = "Options", |
| .arguments = { |
| { .name = "-p", .separator = ' ', .value = "path" }, |
| { .name = "--volatile-path", .separator = '=', .value = "path" }, |
| { .name = NULL, .separator = '\0', .value = NULL } }, |
| .handler = handle_option_p, |
| .description = "Don't archive *path* content, reuse actual *path* instead.", |
| .detail = NULL, |
| }, |
| { .class = "Options", |
| .arguments = { |
| { .name = "-e", .separator = ' ', .value = "name" }, |
| { .name = "--volatile-env", .separator = '=', .value = "name" }, |
| { .name = NULL, .separator = '\0', .value = NULL } }, |
| .handler = handle_option_e, |
| .description = "Don't archive *name* env. variable, reuse actual value instead.", |
| .detail = NULL, |
| }, |
| { .class = "Options", |
| .arguments = { |
| { .name = "-m", .separator = ' ', .value = "value" }, |
| { .name = "--max-archivable-size", .separator = '=', .value = "value" }, |
| { .name = NULL, .separator = '\0', .value = NULL } }, |
| .handler = handle_option_m, |
| .description = "Set the maximum size of archivable files to *value* megabytes.", |
| .detail = NULL, |
| }, |
| { .class = "Options", |
| .arguments = { |
| { .name = "-d", .separator = '\0', .value = NULL }, |
| { .name = "--ignore-default-config", .separator = '\0', .value = NULL }, |
| { .name = NULL, .separator = '\0', .value = NULL } }, |
| .handler = handle_option_d, |
| .description = "Don't use the default options.", |
| .detail = NULL, |
| }, |
| { .class = "Options", |
| .arguments = { |
| { .name = "-v", .separator = ' ', .value = "value" }, |
| { .name = "--verbose", .separator = '=', .value = "value" }, |
| { .name = NULL, .separator = '\0', .value = NULL } }, |
| .handler = handle_option_v, |
| .description = "Set the level of debug information to *value*.", |
| .detail = NULL, |
| }, |
| { .class = "Options", |
| .arguments = { |
| { .name = "-V", .separator = '\0', .value = NULL }, |
| { .name = "--version", .separator = '\0', .value = NULL }, |
| { .name = "--about", .separator = '\0', .value = NULL }, |
| { .name = NULL, .separator = '\0', .value = NULL } }, |
| .handler = handle_option_V, |
| .description = "Print version, copyright, license and contact, then exit.", |
| .detail = NULL, |
| }, |
| { .class = "Options", |
| .arguments = { |
| { .name = "-x", .separator = ' ', .value = "file" }, |
| { .name = "--extract", .separator = '=', .value = "file" }, |
| { .name = NULL, .separator = '\0', .value = NULL } }, |
| .handler = handle_option_x, |
| .description = "Extract content of the archive *file*, then exit.", |
| .detail = NULL, |
| }, |
| { .class = "Options", |
| .arguments = { |
| { .name = "-h", .separator = '\0', .value = NULL }, |
| { .name = "--help", .separator = '\0', .value = NULL }, |
| { .name = "--usage", .separator = '\0', .value = NULL }, |
| { .name = NULL, .separator = '\0', .value = NULL } }, |
| .handler = handle_option_h, |
| .description = "Print the user manual, then exit.", |
| .detail = NULL, |
| }, |
| END_OF_OPTIONS, |
| }, |
| }; |
| |
| #endif /* CARE_CLI_H */ |