• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) Huawei Technologies Co., Ltd. 2020-2020. All rights reserved.
3  * Description: Definition of header file for generating bytecode.
4  * Create: 2020/09/07
5  */
6 
7 #ifndef GENERATE_BYTECODE_H
8 #define GENERATE_BYTECODE_H
9 
10 #ifdef JERRY_FOR_IAR_CONFIG
11 
12 #include "jerryscript.h"
13 
14 typedef enum {
15   EXCE_ACE_JERRY_EXEC_OK = 0, // program function OK
16   EXCE_ACE_JERRY_NULL_PATH, // null path for generateing snapshot
17   EXCE_ACE_JERRY_MALLOC_ERROR, // error when malloc
18   EXCE_ACE_JERRY_INPUT_PATH_ERROR, // passed input path is NULL OR open failed
19   EXCE_ACE_JERRY_INPUT_PATH_NOT_DIR, // passed input path is not a directory
20   EXCE_ACE_JERRY_OPEN_DIR_FAILED, // open directory failed
21   EXCE_ACE_JERRY_GENERATE_SNAPSHOT_FAILED, // jerry_generate_snapshot failed
22   EXCE_ACE_JERRY_OPEN_FILE_FAILED, // open file failed
23   EXCE_ACE_JERRY_WRITE_SNAPSHOT_FILE_FAILED, // write into snapshot file failed
24   EXCE_ACE_JERRY_READ_JSFILE_FAILED, // read .js file process failed
25   EXCE_ACE_JERRY_JSFILE_TOO_LARGE, // bytes of js file out of psRAM
26   EXCE_ACE_JERRY_SPLICE_PATH_ERROR, // error when splice path
27   EXCE_ACE_JERRY_SPLICE_OUTPUT_PATH_ERROR, // error when splice output file abs name
28   EXCE_ACE_JERRY_SPRINTFS_VERSION_ERROR, // error when sprintf_s for jerry_version
29   EXCE_ACE_JERRY_GET_FILE_STAT_ERROR, // error when getting file stat
30   EXCE_ACE_JERRY_LINKLIST_ERROR, // error when malloc for list node
31   EXCE_ACE_JERRY_UNLINKFILE_ERROR, // error when unlink bytecode file
32 } EXECRES;
33 
34 typedef struct
35 {
36   jerry_context_t *context_p;
37 } ContextRecord;
38 
39 char* get_jerry_version_no();
40 EXECRES walk_directory(char* filefolder);
41 EXECRES walk_del_bytecode(char* filefolder);
42 
43 void bms_task_context_init (void);
44 void js_task_context_init (void);
45 void jerry_port_default_remove_current_context_record ();
46 
47 void jerry_external_context_init(uint32_t heap_size, jerry_context_alloc_t alloc, void *cb_data_p);
48 
49 #endif  // JERRY_FOR_IAR_CONFIG
50 
51 #endif  // GENERATE_BYTECODE_H
52