33 #include "clientpipe.h" 38 static const char *module_str =
"policy_export_cmd";
47 " --policy <policy> | --all aka -p | -a \n" 55 "Export a specified policy or all of them from the database.\n" 57 "policy|all limit the operation to a specified policy or all of them\n\n" 62 handles(
const char *cmd, ssize_t n)
68 run(
int sockfd,
engine_type* engine,
const char *cmd, ssize_t n,
77 (void)engine; (void)cmd; (void)n;
82 if (!(buf = strdup(cmd))) {
83 client_printf_err(sockfd,
"memory error\n");
87 argc = ods_str_explode(buf, 2, argv);
89 client_printf_err(sockfd,
"too many arguments\n");
94 ods_find_arg_and_param(&argc, argv,
"policy",
"p", &policy_name);
95 all = ods_find_arg(&argc, argv,
"all",
"a") > -1 ? 1 : 0;
98 client_printf_err(sockfd,
"unknown arguments\n");
114 else if (policy_name) {
116 client_printf_err(sockfd,
"Unable to find policy %s!\n", policy_name);
128 client_printf_err(sockfd,
"Either --all or --policy needs to be given!\n");
void ods_log_debug(const char *format,...)
policy_t * policy_new_get_by_name(const db_connection_t *connection, const char *name)
const char * policy_name(const policy_t *policy)
int(* run)(int sockfd, struct engine_struct *engine, const char *cmd, ssize_t n, db_connection_t *dbconn)
void(* usage)(int sockfd)
void policy_free(policy_t *policy)
int policy_export_all(int sockfd, const db_connection_t *connection, const char *filename)
struct cmd_func_block * policy_export_funcblock(void)
int policy_export(int sockfd, const policy_t *policy, const char *filename)
int(* handles)(const char *cmd, ssize_t n)