finsh_init.c 993 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. /*
  2. * Copyright (c) 2006-2021, 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. #include "finsh_node.h"
  12. #include "finsh_vm.h"
  13. #include "finsh_parser.h"
  14. #include "finsh_var.h"
  15. #include "finsh_error.h"
  16. #include "finsh_heap.h"
  17. int finsh_init(struct finsh_parser* parser)
  18. {
  19. finsh_parser_init(parser);
  20. /* finsh init */
  21. finsh_node_init();
  22. finsh_var_init();
  23. finsh_error_init();
  24. finsh_heap_init();
  25. return 0;
  26. }
  27. long finsh_stack_bottom()
  28. {
  29. return finsh_vm_stack[0].long_value;
  30. }
  31. int finsh_flush(struct finsh_parser* parser)
  32. {
  33. finsh_parser_init(parser);
  34. /* finsh init */
  35. finsh_node_init();
  36. finsh_error_init();
  37. return 0;
  38. }
  39. int finsh_reset(struct finsh_parser* parser)
  40. {
  41. /* finsh init */
  42. finsh_node_init();
  43. finsh_var_init();
  44. finsh_error_init();
  45. finsh_heap_init();
  46. return 0;
  47. }