diff options
author | David Lamparter <equinox@diac24.net> | 2010-02-05 09:48:45 +0100 |
---|---|---|
committer | David Lamparter <equinox@diac24.net> | 2010-02-05 09:51:24 +0100 |
commit | 55d24e7f3dbc69db37781dbff325bda0779778df (patch) | |
tree | a2b2525677332fd92ccc66a4c6082c620ba27802 /lib/vty.h | |
parent | 647e8e064d8e5316fc89587714a056b1240fa298 (diff) | |
download | quagga-55d24e7f3dbc69db37781dbff325bda0779778df.tar.bz2 quagga-55d24e7f3dbc69db37781dbff325bda0779778df.tar.xz |
lib: get rid of extraneous output with vty_prepend
the vty_*prepend* family can be used to reduce the amount of output
produced by "show running-config" and "write ...". it buffers output in
struct vty->prepend (1024 bytes) and outputs it when vty_out is called.
if vty_out isn't called, it can be removed with vty_unprepend later.
applied on zebra and ospfd to get rid of empty interface blocks.
Diffstat (limited to 'lib/vty.h')
-rw-r--r-- | lib/vty.h | 7 |
1 files changed, 7 insertions, 0 deletions
@@ -118,6 +118,10 @@ struct vty /* Timeout seconds and thread. */ unsigned long v_timeout; struct thread *t_timeout; + + /* Auto-prepending; any vty_out will print this buffer, then clear it: */ + int prepend_pos; + char prepend[1024]; }; /* Integrated configuration file. */ @@ -207,6 +211,9 @@ extern void vty_terminate (void); extern void vty_reset (void); extern struct vty *vty_new (void); extern int vty_out (struct vty *, const char *, ...) PRINTF_ATTRIBUTE(2, 3); +extern void vty_prepend (struct vty *, const char *, ...) PRINTF_ATTRIBUTE(2, 3); +extern void vty_unprepend (struct vty *); +#define vty_prepending(v) ((v)->prepend_pos) extern void vty_read_config (char *, char *); extern void vty_time_print (struct vty *, int); extern void vty_serv_sock (const char *, unsigned short, const char *); |