vty.c File Reference
`#include <stdio.h>`
`#include <stdarg.h>`
`#include <stdlib.h>`
`#include <unistd.h>`
`#include <string.h>`
`#include <errno.h>`
`#include <ctype.h>`
`#include <termios.h>`
`#include <sys/utsname.h>`
`#include <sys/param.h>`
`#include <arpa/telnet.h>`
`#include <osmocom/vty/vty.h>`
`#include <osmocom/vty/command.h>`
`#include <osmocom/vty/buffer.h>`
`#include <osmocom/core/talloc.h>`

## Macros

#define | SYSCONFDIR "/usr/local/etc"
#define | CONTROL(X) ((X) - '@')
#define | VTY_NORMAL 0
#define | VTY_PRE_ESCAPE 1
#define | VTY_ESCAPE 2

## Functions

void | vty_event (enum event event, int sock, struct vty *vty)
| callback from core VTY code about VTY related events
static void | vty_clear_buf (struct vty *vty)
struct vty * | vty_new (void)
| Allocate a new vty interface structure.
static void | vty_auth (struct vty *vty, char *buf)
void | vty_close (struct vty *vty)
| Close a given vty interface.
int | vty_shell (struct vty *vty)
| Return if this VTY is a shell or not.
int | vty_out (struct vty *vty, const char *format,...)
| VTY standard output function. More...
int | vty_out_newline (struct vty *vty)
| print a newline on the given VTY
void * | vty_current_index (struct vty *vty)
| return the current index of a given VTY
int | vty_current_node (struct vty *vty)
| return the current node of a given VTY
int | vty_config_lock (struct vty *vty)
| Lock the configuration to a given VTY. More...
int | vty_config_unlock (struct vty *vty)
| Unlock the configuration from a given VTY. More...
void | vty_hello (struct vty *vty)
static void | vty_prompt (struct vty *vty)
static int | vty_command (struct vty *vty, char *buf)
static void | vty_write (struct vty *vty, const char *buf, size_t nbytes)
static void | vty_ensure (struct vty *vty, int length)
static void | vty_self_insert (struct vty *vty, char c)
static void | vty_self_insert_overwrite (struct vty *vty, char c)
static void | vty_insert_word_overwrite (struct vty *vty, char *str)
static void | vty_forward_char (struct vty *vty)
static void | vty_backward_char (struct vty *vty)
static void | vty_beginning_of_line (struct vty *vty)
static void | vty_end_of_line (struct vty *vty)
static void | vty_hist_add (struct vty *vty)
static int | vty_telnet_option (struct vty *vty, unsigned char *buf, int nbytes)
static int | vty_execute (struct vty *vty)
static void | vty_will_echo (struct vty *vty)
static void | vty_will_suppress_go_ahead (struct vty *vty)
static void | vty_dont_linemode (struct vty *vty)
static void | vty_do_window_size (struct vty *vty)
static void | vty_kill_line_from_beginning (struct vty *)
static void | vty_redraw_line (struct vty *)
static void | vty_history_print (struct vty *vty)
static void | vty_next_line (struct vty *vty)
static void | vty_previous_line (struct vty *vty)
static void | vty_forward_word (struct vty *vty)
static void | vty_backward_pure_word (struct vty *vty)
static void | vty_backward_word (struct vty *vty)
static void | vty_down_level (struct vty *vty)
static void | vty_end_config (struct vty *vty)
static void | vty_delete_char (struct vty *vty)
static void | vty_delete_backward_char (struct vty *vty)
static void | vty_kill_line (struct vty *vty)
static void | vty_forward_kill_word (struct vty *vty)
static void | vty_backward_kill_word (struct vty *vty)
static void | vty_transpose_chars (struct vty *vty)
static void | vty_complete_command (struct vty *vty)
static void | vty_describe_fold (struct vty *vty, int cmd_width, unsigned int desc_width, struct desc *desc)
static void | vty_describe_command (struct vty *vty)
static void | vty_stop_input (struct vty *vty)
static void | vty_escape_map (unsigned char c, struct vty *vty)
static void | vty_buffer_reset (struct vty *vty)
int | vty_read (struct vty *vty)
| Read data via vty socket.
static int | vty_read_file (FILE *confp, void *priv)
struct vty * | vty_create (int vty_sock, void *priv)
| Create new vty structure.
| DEFUN (config_who, config_who_cmd, "who", "Display who is on vty\)
| DEFUN (line_vty, line_vty_cmd, "line vty", "Configure a terminal line\ "Virtual terminal\")
| DEFUN (vty_login, vty_login_cmd, "login", "Enable password checking\)
| DEFUN (no_vty_login, no_vty_login_cmd, "no login", NO_STR "Enable password checking\)
| DEFUN (service_advanced_vty, service_advanced_vty_cmd, "service advanced-vty", "Set up miscellaneous service\ "Enable advanced mode vty interface\")
| DEFUN (no_service_advanced_vty, no_service_advanced_vty_cmd, "no service advanced-vty", NO_STR "Set up miscellaneous service\ "Enable advanced mode vty interface\")
| DEFUN (terminal_monitor, terminal_monitor_cmd, "terminal monitor", "Set terminal line parameters\ "Copy debug output to the current terminal line\")
| DEFUN (terminal_no_monitor, terminal_no_monitor_cmd, "terminal no monitor", "Set terminal line parameters\ NO_STR "Copy debug output to the current terminal line\")
| DEFUN (show_history, show_history_cmd, "show history", SHOW_STR "Display the session command history\)
static int | vty_config_write (struct vty *vty)
void | vty_reset (void)
| Reset all VTY status.
static void | vty_save_cwd (void)
char * | vty_get_cwd (void)
int | vty_shell_serv (struct vty *vty)
void | vty_init_vtysh (void)
void | vty_init (struct vty_app_info *app_info)
| Initialize VTY layer. More...
int | vty_read_config_file (const char *file_name, void *priv)
| Read the configuration file using the VTY code. More...

## Variables

struct host | host
static vector | vtyvec
vector | Vvty_serv_thread
char * | vty_cwd = NULL
static int | vty_config
static int | password_check
void * | tall_vty_ctx
static const char | telnet_backward_char = 0x08
static const char | telnet_space_char = ' '
struct cmd_node | vty_node
void * | tall_bsc_ctx

## Function Documentation

## vty_out()

int vty_out | ( | struct vty * | vty,
|  | const char * | format,
|  |  | ...
| ) |  |

VTY standard output function.

Parameters

  [in] | vty | VTY to which we should print
  [in] | format | variable-length format string

References vty::buf, vty::obuf, vty_event(), and vty_shell().

Referenced by vty_out_rate_ctr_group(), and vty_out_stat_item_group().

## Variable Documentation

## vty_node

struct cmd_node vty_node

Initial value:
= {
VTY_NODE,
"%s(config-line)# ",
1,
}
VTY_NODE
Vty node.
Definition: command.h:80