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