xref: /nrf52832-nimble/rt-thread/components/finsh/finsh_init.c (revision 104654410c56c573564690304ae786df310c91fc)
1 /*
2  * Copyright (c) 2006-2018, RT-Thread Development Team
3  *
4  * SPDX-License-Identifier: Apache-2.0
5  *
6  * Change Logs:
7  * Date           Author       Notes
8  * 2010-03-22     Bernard      first version
9  */
10 #include <finsh.h>
11 
12 #include "finsh_node.h"
13 #include "finsh_vm.h"
14 #include "finsh_parser.h"
15 #include "finsh_var.h"
16 #include "finsh_error.h"
17 #include "finsh_heap.h"
18 
finsh_init(struct finsh_parser * parser)19 int finsh_init(struct finsh_parser* parser)
20 {
21     finsh_parser_init(parser);
22 
23     /* finsh init */
24     finsh_node_init();
25     finsh_var_init();
26     finsh_error_init();
27     finsh_heap_init();
28 
29     return 0;
30 }
31 
finsh_stack_bottom()32 long finsh_stack_bottom()
33 {
34     return finsh_vm_stack[0].long_value;
35 }
36 
finsh_flush(struct finsh_parser * parser)37 int finsh_flush(struct finsh_parser* parser)
38 {
39     finsh_parser_init(parser);
40 
41     /* finsh init */
42     finsh_node_init();
43     finsh_error_init();
44 
45     return 0;
46 }
47 
finsh_reset(struct finsh_parser * parser)48 int finsh_reset(struct finsh_parser* parser)
49 {
50     /* finsh init */
51     finsh_node_init();
52     finsh_var_init();
53     finsh_error_init();
54     finsh_heap_init();
55 
56     return 0;
57 }
58