]> git.proxmox.com Git - mirror_frr.git/blob - lib/grammar_sandbox_main.c
Merge pull request #762 from bingen/mutiple_nh_recursive_levels
[mirror_frr.git] / lib / grammar_sandbox_main.c
1 /*
2 * Testing shim and API examples for the new CLI backend.
3 *
4 * Minimal main() to run grammar_sandbox standalone.
5 * [split off grammar_sandbox.c 2017-01-23]
6 * --
7 * Copyright (C) 2016 Cumulus Networks, Inc.
8 * Copyright (C) 2017 David Lamparter for NetDEF, Inc.
9 *
10 * This file is part of FreeRangeRouting (FRR).
11 *
12 * FRR is free software; you can redistribute it and/or modify it under the
13 * terms of the GNU General Public License as published by the Free Software
14 * Foundation; either version 2, or (at your option) any later version.
15 *
16 * FRR is distributed in the hope that it will be useful, but WITHOUT ANY
17 * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
18 * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
19 * details.
20 *
21 * You should have received a copy of the GNU General Public License along
22 * with this program; see the file COPYING; if not, write to the Free Software
23 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
24 */
25
26 #include "command.h"
27 #include "memory_vty.h"
28
29 static void vty_do_exit(void)
30 {
31 printf ("\nend.\n");
32 exit (0);
33 }
34
35 struct thread_master *master;
36
37 int main(int argc, char **argv)
38 {
39 struct thread thread;
40
41 master = thread_master_create(NULL);
42
43 openzlog ("grammar_sandbox", "NONE", 0,
44 LOG_CONS|LOG_NDELAY|LOG_PID, LOG_DAEMON);
45 zlog_set_level (ZLOG_DEST_SYSLOG, ZLOG_DISABLED);
46 zlog_set_level (ZLOG_DEST_STDOUT, LOG_DEBUG);
47 zlog_set_level (ZLOG_DEST_MONITOR, ZLOG_DISABLED);
48
49 /* Library inits. */
50 cmd_init (1);
51 host.name = strdup ("test");
52
53 vty_init (master);
54 memory_init ();
55
56 vty_stdio (vty_do_exit);
57
58 /* Fetch next active thread. */
59 while (thread_fetch (master, &thread))
60 thread_call (&thread);
61
62 /* Not reached. */
63 exit (0);
64 }