/*
 * Copyright (c) 2023 Nordic Semiconductor ASA
 *
 * SPDX-License-Identifier: Apache-2.0
 *
 * Note: This is a provisional header which exists to allow
 * old POSIX arch based boards (i.e. native_posix) to provide access
 * to the host C library as if the native simulator trampolines
 * existed.
 *
 * Boards based on the native simulator do NOT use this file
 */

#ifndef ARCH_POSIX_CORE_NSI_COMPAT_NSI_HOST_TRAMPOLINES_H
#define ARCH_POSIX_CORE_NSI_COMPAT_NSI_HOST_TRAMPOLINES_H

#include "../scripts/native_simulator/common/src/include/nsi_host_trampolines.h"

#endif /* ARCH_POSIX_CORE_NSI_COMPAT_NSI_HOST_TRAMPOLINES_H */
