1 /* 2 * Copyright (c) 2024 Nordic Semiconductor ASA 3 * 4 * SPDX-License-Identifier: Apache-2.0 5 */ 6 7 #ifndef NSI_COMMON_SRC_INCL_NSI_MAIN_SEMIPUBLIC_H 8 #define NSI_COMMON_SRC_INCL_NSI_MAIN_SEMIPUBLIC_H 9 10 #include <stdint.h> 11 12 #ifdef __cplusplus 13 extern "C" { 14 #endif 15 16 /* 17 * These APIs are exposed for special use cases in which a developer needs to 18 * replace the native simulator main loop. 19 * An example of such a case is LLVMs fuzzing support. For this one sets 20 * NSI_NO_MAIN, and provides an specialized main() or hooks into the tooling 21 * provided main(). 22 * 23 * These APIs should be used with care, and not be used when the native 24 * simulator main() is built in. 25 * 26 * Check nsi_main.c for more information. 27 */ 28 29 void nsi_init(int argc, char *argv[]); 30 void nsi_exec_for(uint64_t us); 31 32 #ifdef __cplusplus 33 } 34 #endif 35 36 #endif /* NSI_COMMON_SRC_INCL_NSI_MAIN_SEMIPUBLIC_H */ 37