aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2011-08-11 12:43:31 +0200
committerHarald Welte <laforge@gnumonks.org>2011-08-11 12:59:54 +0200
commit986926ebdec18214b54705c74adddb7aa7a7c7c7 (patch)
tree413036ff3edaf95b42938be84686f5da7aa4ccb7
parent4da5592c46eafa4bfc4fcf50e88838f4bea6f9ab (diff)
E1 Input: Move 'show e1_*' command to e1_input_vty.c
-rw-r--r--openbsc/src/libabis/e1_input_vty.c118
-rw-r--r--openbsc/src/libbsc/bsc_vty.c117
2 files changed, 118 insertions, 117 deletions
diff --git a/openbsc/src/libabis/e1_input_vty.c b/openbsc/src/libabis/e1_input_vty.c
index 41202b06f..6055038f3 100644
--- a/openbsc/src/libabis/e1_input_vty.c
+++ b/openbsc/src/libabis/e1_input_vty.c
@@ -114,6 +114,120 @@ static int e1inp_config_write(struct vty *vty)
return CMD_SUCCESS;
}
+static void e1drv_dump_vty(struct vty *vty, struct e1inp_driver *drv)
+{
+ vty_out(vty, "E1 Input Driver %s%s", drv->name, VTY_NEWLINE);
+}
+
+DEFUN(show_e1drv,
+ show_e1drv_cmd,
+ "show e1_driver",
+ SHOW_STR "Display information about available E1 drivers\n")
+{
+ struct e1inp_driver *drv;
+
+ llist_for_each_entry(drv, &e1inp_driver_list, list)
+ e1drv_dump_vty(vty, drv);
+
+ return CMD_SUCCESS;
+}
+
+static void e1line_dump_vty(struct vty *vty, struct e1inp_line *line)
+{
+ vty_out(vty, "E1 Line Number %u, Name %s, Driver %s%s",
+ line->num, line->name ? line->name : "",
+ line->driver->name, VTY_NEWLINE);
+}
+
+DEFUN(show_e1line,
+ show_e1line_cmd,
+ "show e1_line [line_nr]",
+ SHOW_STR "Display information about a E1 line\n"
+ "E1 Line Number\n")
+{
+ struct e1inp_line *line;
+
+ if (argc >= 1) {
+ int num = atoi(argv[0]);
+ llist_for_each_entry(line, &e1inp_line_list, list) {
+ if (line->num == num) {
+ e1line_dump_vty(vty, line);
+ return CMD_SUCCESS;
+ }
+ }
+ return CMD_WARNING;
+ }
+
+ llist_for_each_entry(line, &e1inp_line_list, list)
+ e1line_dump_vty(vty, line);
+
+ return CMD_SUCCESS;
+}
+
+static void e1ts_dump_vty(struct vty *vty, struct e1inp_ts *ts)
+{
+ if (ts->type == E1INP_TS_TYPE_NONE)
+ return;
+ vty_out(vty, "E1 Timeslot %2u of Line %u is Type %s%s",
+ ts->num, ts->line->num, e1inp_tstype_name(ts->type),
+ VTY_NEWLINE);
+}
+
+DEFUN(show_e1ts,
+ show_e1ts_cmd,
+ "show e1_timeslot [line_nr] [ts_nr]",
+ SHOW_STR "Display information about a E1 timeslot\n"
+ "E1 Line Number\n" "E1 Timeslot Number\n")
+{
+ struct e1inp_line *line = NULL;
+ struct e1inp_ts *ts;
+ int ts_nr;
+
+ if (argc == 0) {
+ llist_for_each_entry(line, &e1inp_line_list, list) {
+ for (ts_nr = 0; ts_nr < NUM_E1_TS; ts_nr++) {
+ ts = &line->ts[ts_nr];
+ e1ts_dump_vty(vty, ts);
+ }
+ }
+ return CMD_SUCCESS;
+ }
+ if (argc >= 1) {
+ int num = atoi(argv[0]);
+ struct e1inp_line *l;
+ llist_for_each_entry(l, &e1inp_line_list, list) {
+ if (l->num == num) {
+ line = l;
+ break;
+ }
+ }
+ if (!line) {
+ vty_out(vty, "E1 line %s is invalid%s",
+ argv[0], VTY_NEWLINE);
+ return CMD_WARNING;
+ }
+ }
+ if (argc >= 2) {
+ ts_nr = atoi(argv[1]);
+ if (ts_nr >= NUM_E1_TS) {
+ vty_out(vty, "E1 timeslot %s is invalid%s",
+ argv[1], VTY_NEWLINE);
+ return CMD_WARNING;
+ }
+ ts = &line->ts[ts_nr];
+ e1ts_dump_vty(vty, ts);
+ return CMD_SUCCESS;
+ } else {
+ for (ts_nr = 0; ts_nr < NUM_E1_TS; ts_nr++) {
+ ts = &line->ts[ts_nr];
+ e1ts_dump_vty(vty, ts);
+ }
+ return CMD_SUCCESS;
+ }
+ return CMD_SUCCESS;
+}
+
+
struct cmd_node e1inp_node = {
E1INP_NODE,
"%s(e1_input)#",
@@ -127,5 +241,9 @@ int e1inp_vty_init(void)
install_element(E1INP_NODE, &cfg_e1_line_driver_cmd);
install_element(E1INP_NODE, &cfg_e1_line_name_cmd);
+ install_element_ve(&show_e1drv_cmd);
+ install_element_ve(&show_e1line_cmd);
+ install_element_ve(&show_e1ts_cmd);
+
return 0;
}
diff --git a/openbsc/src/libbsc/bsc_vty.c b/openbsc/src/libbsc/bsc_vty.c
index 26ed7d9f4..e9c54faf5 100644
--- a/openbsc/src/libbsc/bsc_vty.c
+++ b/openbsc/src/libbsc/bsc_vty.c
@@ -975,119 +975,6 @@ DEFUN(show_lchan_summary,
return lchan_summary(vty, argc, argv, lchan_dump_short_vty);
}
-static void e1drv_dump_vty(struct vty *vty, struct e1inp_driver *drv)
-{
- vty_out(vty, "E1 Input Driver %s%s", drv->name, VTY_NEWLINE);
-}
-
-DEFUN(show_e1drv,
- show_e1drv_cmd,
- "show e1_driver",
- SHOW_STR "Display information about available E1 drivers\n")
-{
- struct e1inp_driver *drv;
-
- llist_for_each_entry(drv, &e1inp_driver_list, list)
- e1drv_dump_vty(vty, drv);
-
- return CMD_SUCCESS;
-}
-
-static void e1line_dump_vty(struct vty *vty, struct e1inp_line *line)
-{
- vty_out(vty, "E1 Line Number %u, Name %s, Driver %s%s",
- line->num, line->name ? line->name : "",
- line->driver->name, VTY_NEWLINE);
-}
-
-DEFUN(show_e1line,
- show_e1line_cmd,
- "show e1_line [line_nr]",
- SHOW_STR "Display information about a E1 line\n"
- "E1 Line Number\n")
-{
- struct e1inp_line *line;
-
- if (argc >= 1) {
- int num = atoi(argv[0]);
- llist_for_each_entry(line, &e1inp_line_list, list) {
- if (line->num == num) {
- e1line_dump_vty(vty, line);
- return CMD_SUCCESS;
- }
- }
- return CMD_WARNING;
- }
-
- llist_for_each_entry(line, &e1inp_line_list, list)
- e1line_dump_vty(vty, line);
-
- return CMD_SUCCESS;
-}
-
-static void e1ts_dump_vty(struct vty *vty, struct e1inp_ts *ts)
-{
- if (ts->type == E1INP_TS_TYPE_NONE)
- return;
- vty_out(vty, "E1 Timeslot %2u of Line %u is Type %s%s",
- ts->num, ts->line->num, e1inp_tstype_name(ts->type),
- VTY_NEWLINE);
-}
-
-DEFUN(show_e1ts,
- show_e1ts_cmd,
- "show e1_timeslot [line_nr] [ts_nr]",
- SHOW_STR "Display information about a E1 timeslot\n"
- "E1 Line Number\n" "E1 Timeslot Number\n")
-{
- struct e1inp_line *line = NULL;
- struct e1inp_ts *ts;
- int ts_nr;
-
- if (argc == 0) {
- llist_for_each_entry(line, &e1inp_line_list, list) {
- for (ts_nr = 0; ts_nr < NUM_E1_TS; ts_nr++) {
- ts = &line->ts[ts_nr];
- e1ts_dump_vty(vty, ts);
- }
- }
- return CMD_SUCCESS;
- }
- if (argc >= 1) {
- int num = atoi(argv[0]);
- struct e1inp_line *l;
- llist_for_each_entry(l, &e1inp_line_list, list) {
- if (l->num == num) {
- line = l;
- break;
- }
- }
- if (!line) {
- vty_out(vty, "E1 line %s is invalid%s",
- argv[0], VTY_NEWLINE);
- return CMD_WARNING;
- }
- }
- if (argc >= 2) {
- ts_nr = atoi(argv[1]);
- if (ts_nr >= NUM_E1_TS) {
- vty_out(vty, "E1 timeslot %s is invalid%s",
- argv[1], VTY_NEWLINE);
- return CMD_WARNING;
- }
- ts = &line->ts[ts_nr];
- e1ts_dump_vty(vty, ts);
- return CMD_SUCCESS;
- } else {
- for (ts_nr = 0; ts_nr < NUM_E1_TS; ts_nr++) {
- ts = &line->ts[ts_nr];
- e1ts_dump_vty(vty, ts);
- }
- return CMD_SUCCESS;
- }
- return CMD_SUCCESS;
-}
-
static void paging_dump_vty(struct vty *vty, struct gsm_paging_request *pag)
{
vty_out(vty, "Paging on BTS %u%s", pag->bts->nr, VTY_NEWLINE);
@@ -2678,10 +2565,6 @@ int bsc_vty_init(const struct log_info *cat)
install_element_ve(&show_lchan_summary_cmd);
install_element_ve(&logging_fltr_imsi_cmd);
- install_element_ve(&show_e1drv_cmd);
- install_element_ve(&show_e1line_cmd);
- install_element_ve(&show_e1ts_cmd);
-
install_element_ve(&show_paging_cmd);
logging_vty_add_cmds(cat);