]> git.proxmox.com Git - mirror_frr.git/blame - lib/grammar_sandbox_main.c
zebra, lib: fix the ZEBRA_INTERFACE_VRF_UPDATE zapi message
[mirror_frr.git] / lib / grammar_sandbox_main.c
CommitLineData
af2567b6
DL
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
896014f4
DL
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
af2567b6
DL
24 */
25
b45ac5f5
DL
26#ifdef HAVE_CONFIG_H
27#include "config.h"
28#endif
29
af2567b6
DL
30#include "command.h"
31#include "memory_vty.h"
32
154b9e8f 33static void vty_do_exit(int isexit)
af2567b6 34{
d62a17ae 35 printf("\nend.\n");
154b9e8f
DL
36 if (!isexit)
37 exit(0);
af2567b6
DL
38}
39
40struct thread_master *master;
41
42int main(int argc, char **argv)
43{
d62a17ae 44 struct thread thread;
af2567b6 45
d62a17ae 46 master = thread_master_create(NULL);
af2567b6 47
d62a17ae 48 openzlog("grammar_sandbox", "NONE", 0, LOG_CONS | LOG_NDELAY | LOG_PID,
49 LOG_DAEMON);
50 zlog_set_level(ZLOG_DEST_SYSLOG, ZLOG_DISABLED);
51 zlog_set_level(ZLOG_DEST_STDOUT, LOG_DEBUG);
52 zlog_set_level(ZLOG_DEST_MONITOR, ZLOG_DISABLED);
af2567b6 53
d62a17ae 54 /* Library inits. */
55 cmd_init(1);
56 host.name = strdup("test");
419cd5a0 57 host.domainname = strdup("testdomainname");
af2567b6 58
d62a17ae 59 vty_init(master);
60 memory_init();
af2567b6 61
d62a17ae 62 vty_stdio(vty_do_exit);
af2567b6 63
d62a17ae 64 /* Fetch next active thread. */
65 while (thread_fetch(master, &thread))
66 thread_call(&thread);
af2567b6 67
d62a17ae 68 /* Not reached. */
69 exit(0);
af2567b6 70}