1 /* 2 * Copyright (c) 2017 Oticon A/S 3 * 4 * SPDX-License-Identifier: Apache-2.0 5 */ 6 7 #ifndef NSI_COMMON_SRC_INCL_HW_SCHEDULER_H 8 #define NSI_COMMON_SRC_INCL_HW_SCHEDULER_H 9 10 #include <stdint.h> 11 12 #ifdef __cplusplus 13 extern "C" { 14 #endif 15 16 #define NSI_NEVER UINT64_MAX 17 18 /* API intended for the native simulator specific embedded drivers: */ 19 uint64_t nsi_hws_get_time(void); 20 21 /* Internal APIs to the native_simulator and its HW models: */ 22 void nsi_hws_init(void); 23 void nsi_hws_cleanup(void); 24 void nsi_hws_one_event(void); 25 void nsi_hws_set_end_of_time(uint64_t new_end_of_time); 26 void nsi_hws_find_next_event(void); 27 uint64_t nsi_hws_get_next_event_time(void); 28 29 #ifdef __cplusplus 30 } 31 #endif 32 33 #endif /* NSI_COMMON_SRC_INCL_HW_SCHEDULER_H */ 34