blob: edff33da8e17dea14860cb1e0c3c3eae01ee6b63 [file] [log] [blame]
/*
* Copyright (c) 2017 Oticon A/S
*
* SPDX-License-Identifier: Apache-2.0
*/
#ifndef NSI_COMMON_SRC_INCL_HW_SCHEDULER_H
#define NSI_COMMON_SRC_INCL_HW_SCHEDULER_H
#include <stdint.h>
#ifdef __cplusplus
extern "C" {
#endif
#define NSI_NEVER UINT64_MAX
/* API intended for the native simulator specific embedded drivers: */
static inline uint64_t nsi_hws_get_time(void)
{
extern uint64_t nsi_simu_time;
return nsi_simu_time;
}
/* Internal APIs to the native_simulator and its HW models: */
void nsi_hws_init(void);
void nsi_hws_cleanup(void);
void nsi_hws_one_event(void);
void nsi_hws_set_end_of_time(uint64_t new_end_of_time);
void nsi_hws_find_next_event(void);
uint64_t nsi_hws_get_next_event_time(void);
#ifdef __cplusplus
}
#endif
#endif /* NSI_COMMON_SRC_INCL_HW_SCHEDULER_H */