/* * Copyright (C) 2015-2017 Simon Brummer * * This file is subject to the terms and conditions of the GNU Lesser * General Public License v2.1. See the file LICENSE in the top level * directory for more details. */ /** * @ingroup net_gnrc_tcp * * @{ * * @file * @brief TCP event loop declarations. * * @author Simon Brummer */ #ifndef EVENTLOOP_H #define EVENTLOOP_H #include #include "evtimer_msg.h" #ifdef __cplusplus extern "C" { #endif /** * @brief Starts GNRC TCP's main processing thread. * * @retval PID of processing thread on success * @retval -EEXIST if processing thread was already started * @retval see @ref thread_create() for more error cases. */ int _gnrc_tcp_event_loop_init(void); /** * @brief Schedule event to event loop * * @param[in] event The event to schedule * @param[in] offset Offset in milliseconds when the event should be handled * in the event loop * @param[in] type Type of the message for the event * @param[in] context Context of the event. */ void _gnrc_tcp_event_loop_sched(evtimer_msg_event_t *event, uint32_t offset, uint16_t type, void *context); /** * @brief Unschedule event to event loop * * Does nothing if @p event was not scheduled. * * @param[in] event The event to unschedule */ void _gnrc_tcp_event_loop_unsched(evtimer_msg_event_t *event); #ifdef __cplusplus } #endif #endif /* EVENTLOOP_H */ /** @} */