@@ -35,6 +35,7 @@ OBJ += hash.o
OBJ += icmp_helper.o
OBJ += interface.o
OBJ += loglevel.o
+OBJ += log.o
OBJ += main.o
OBJ += netlink.o
OBJ += ping.o
@@ -268,44 +268,3 @@ int debug_print_routing_algos(void)
debugfs_make_path(DEBUG_BATIF_PATH_FMT, "", full_path, sizeof(full_path));
return read_file(full_path, DEBUG_ROUTING_ALGOS, 0, 0, 0, 0);
}
-
-static void log_usage(void)
-{
- fprintf(stderr, "Usage: batctl [options] log [parameters]\n");
- fprintf(stderr, "parameters:\n");
- fprintf(stderr, " \t -h print this help\n");
- fprintf(stderr, " \t -n don't replace mac addresses with bat-host names\n");
-}
-
-int log_print(char *mesh_iface, int argc, char **argv)
-{
- int optchar, res, read_opt = USE_BAT_HOSTS | LOG_MODE;
- char full_path[MAX_PATH+1];
- char *debugfs_mnt;
-
- while ((optchar = getopt(argc, argv, "hn")) != -1) {
- switch (optchar) {
- case 'h':
- log_usage();
- return EXIT_SUCCESS;
- case 'n':
- read_opt &= ~USE_BAT_HOSTS;
- break;
- default:
- log_usage();
- return EXIT_FAILURE;
- }
- }
-
- check_root_or_die("batctl log");
-
- debugfs_mnt = debugfs_mount(NULL);
- if (!debugfs_mnt) {
- fprintf(stderr, "Error - can't mount or find debugfs\n");
- return EXIT_FAILURE;
- }
-
- debugfs_make_path(DEBUG_BATIF_PATH_FMT "/", mesh_iface, full_path, sizeof(full_path));
- res = read_file(full_path, DEBUG_LOG, read_opt, 0, 0, 0);
- return res;
-}
@@ -57,7 +57,6 @@ struct debug_table_data {
extern const struct debug_table_data batctl_debug_tables[BATCTL_TABLE_NUM];
int handle_debug_table(char *mesh_iface, int debug_table, int argc, char **argv);
-int log_print(char *mesh_iface, int argc, char **argv);
int debug_print_routing_algos(void);
#endif
new file mode 100644
@@ -0,0 +1,70 @@
+// SPDX-License-Identifier: GPL-2.0
+/* Copyright (C) 2009-2018 B.A.T.M.A.N. contributors:
+ *
+ * Marek Lindner <mareklindner@neomailbox.ch>
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of version 2 of the GNU General Public
+ * License as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ * 02110-1301, USA
+ *
+ * License-Filename: LICENSES/preferred/GPL-2.0
+ */
+
+#include <getopt.h>
+#include <stdio.h>
+#include <stdlib.h>
+
+#include "debug.h"
+#include "debugfs.h"
+#include "functions.h"
+
+static void log_usage(void)
+{
+ fprintf(stderr, "Usage: batctl [options] log [parameters]\n");
+ fprintf(stderr, "parameters:\n");
+ fprintf(stderr, " \t -h print this help\n");
+ fprintf(stderr, " \t -n don't replace mac addresses with bat-host names\n");
+}
+
+int log_print(char *mesh_iface, int argc, char **argv)
+{
+ int optchar, res, read_opt = USE_BAT_HOSTS | LOG_MODE;
+ char full_path[MAX_PATH+1];
+ char *debugfs_mnt;
+
+ while ((optchar = getopt(argc, argv, "hn")) != -1) {
+ switch (optchar) {
+ case 'h':
+ log_usage();
+ return EXIT_SUCCESS;
+ case 'n':
+ read_opt &= ~USE_BAT_HOSTS;
+ break;
+ default:
+ log_usage();
+ return EXIT_FAILURE;
+ }
+ }
+
+ check_root_or_die("batctl log");
+
+ debugfs_mnt = debugfs_mount(NULL);
+ if (!debugfs_mnt) {
+ fprintf(stderr, "Error - can't mount or find debugfs\n");
+ return EXIT_FAILURE;
+ }
+
+ debugfs_make_path(DEBUG_BATIF_PATH_FMT "/", mesh_iface, full_path, sizeof(full_path));
+ res = read_file(full_path, DEBUG_LOG, read_opt, 0, 0, 0);
+ return res;
+}
new file mode 100644
@@ -0,0 +1,28 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/* Copyright (C) 2009-2018 B.A.T.M.A.N. contributors:
+ *
+ * Marek Lindner <mareklindner@neomailbox.ch>
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of version 2 of the GNU General Public
+ * License as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ * 02110-1301, USA
+ *
+ * License-Filename: LICENSES/preferred/GPL-2.0
+ */
+
+#ifndef _BATCTL_LOG_H
+#define _BATCTL_LOG_H
+
+int log_print(char *mesh_iface, int argc, char **argv);
+
+#endif
@@ -39,6 +39,7 @@
#include "bisect_iv.h"
#include "statistics.h"
#include "loglevel.h"
+#include "log.h"
#include "functions.h"
char mesh_dfl_iface[] = "bat0";