#include "rdma.h"
#include "SNAPSHOT.h"
+#include "color.h"
static void help(char *name)
{
pr_out("Usage: %s [ OPTIONS ] OBJECT { COMMAND | help }\n"
" %s [ -f[orce] ] -b[atch] filename\n"
- "where OBJECT := { dev | link | resource | system | help }\n"
+ "where OBJECT := { dev | link | resource | system | statistic | help }\n"
" OPTIONS := { -V[ersion] | -d[etails] | -j[son] | -p[retty]}\n", name, name);
}
{ "link", cmd_link },
{ "resource", cmd_res },
{ "system", cmd_sys },
+ { "statistic", cmd_stat },
{ 0 }
};
INIT_LIST_HEAD(&rd->dev_map_list);
INIT_LIST_HEAD(&rd->filter_list);
- if (rd->json_output) {
- rd->jw = jsonw_new(stdout);
- if (!rd->jw) {
- pr_err("Failed to create JSON writer\n");
- return -ENOMEM;
- }
- jsonw_pretty(rd->jw, rd->pretty_output);
- }
-
rd->buff = malloc(MNL_SOCKET_BUFFER_SIZE);
if (!rd->buff)
return -ENOMEM;
static void rd_cleanup(struct rd *rd)
{
- if (rd->json_output)
- jsonw_destroy(&rd->jw);
rd_free(rd);
}
};
bool show_driver_details = false;
const char *batch_file = NULL;
- bool pretty_output = false;
bool show_details = false;
bool json_output = false;
bool force = false;
char *filename;
int opt;
int err;
-
filename = basename(argv[0]);
while ((opt = getopt_long(argc, argv, ":Vhdpjfb:",
filename, SNAPSHOT);
return EXIT_SUCCESS;
case 'p':
- pretty_output = true;
+ pretty = 1;
break;
case 'd':
if (show_details)
show_details = true;
break;
case 'j':
- json_output = true;
+ json_output = 1;
break;
case 'f':
force = true;
rd.show_details = show_details;
rd.show_driver_details = show_driver_details;
rd.json_output = json_output;
- rd.pretty_output = pretty_output;
+ rd.pretty_output = pretty;
err = rd_init(&rd, filename);
if (err)