#include <string.h>
#include <errno.h>
-#include "SNAPSHOT.h"
+#include "version.h"
#include "utils.h"
#include "tc_util.h"
#include "tc_common.h"
#include "namespace.h"
+#include "rt_names.h"
int show_stats;
int show_details;
int json;
int color;
int oneline;
-int numeric;
+int brief;
static char *conf_file;
" OPTIONS := { -V[ersion] | -s[tatistics] | -d[etails] | -r[aw] |\n"
" -o[neline] | -j[son] | -p[retty] | -c[olor]\n"
" -b[atch] [filename] | -n[etns] name | -N[umeric] |\n"
- " -nm | -nam[es] | { -cf | -conf } path }\n");
+ " -nm | -nam[es] | { -cf | -conf } path\n"
+ " -br[ief] }\n");
}
static int do_cmd(int argc, char **argv)
return -1;
}
+static int tc_batch_cmd(int argc, char *argv[], void *data)
+{
+ return do_cmd(argc, argv);
+}
+
static int batch(const char *name)
{
- char *line = NULL;
- size_t len = 0;
- int ret = 0;
+ int ret;
batch_mode = 1;
- if (name && strcmp(name, "-") != 0) {
- if (freopen(name, "r", stdin) == NULL) {
- fprintf(stderr,
- "Cannot open file \"%s\" for reading: %s\n",
- name, strerror(errno));
- return -1;
- }
- }
-
tc_core_init();
if (rtnl_open(&rth, 0) < 0) {
return -1;
}
- cmdlineno = 0;
- while (getcmdline(&line, &len, stdin) != -1) {
- char *largv[100];
- int largc;
-
- largc = makeargs(line, largv, 100);
- if (largc == 0)
- continue; /* blank line */
-
- if (do_cmd(largc, largv)) {
- fprintf(stderr, "Command failed %s:%d\n",
- name, cmdlineno);
- ret = 1;
- if (!force)
- break;
- }
- fflush(stdout);
- }
+ ret = do_batch(name, force, tc_batch_cmd, NULL);
- free(line);
rtnl_close(&rth);
return ret;
}
} else if (matches(argv[1], "-graph") == 0) {
show_graph = 1;
} else if (matches(argv[1], "-Version") == 0) {
- printf("tc utility, iproute2-ss%s\n", SNAPSHOT);
+ printf("tc utility, iproute2-%s\n", version);
return 0;
} else if (matches(argv[1], "-iec") == 0) {
++use_iec;
++json;
} else if (matches(argv[1], "-oneline") == 0) {
++oneline;
+ }else if (matches(argv[1], "-brief") == 0) {
+ ++brief;
} else {
fprintf(stderr,
"Option \"%s\" is unknown, try \"tc -help\".\n",