diff --git a/src/goose/goose_receiver.c b/src/goose/goose_receiver.c index 0f1b5355..c99e0426 100644 --- a/src/goose/goose_receiver.c +++ b/src/goose/goose_receiver.c @@ -811,3 +811,10 @@ GooseReceiver_tick(GooseReceiver self) else return false; } + +void +GooseReceiver_addHandleSet(GooseReceiver self, EthernetHandleSet handles) +{ + return EthernetHandleSet_addSocket(handles, self->ethSocket); +} + diff --git a/src/goose/goose_receiver.h b/src/goose/goose_receiver.h index 8ba5648c..8fa77379 100644 --- a/src/goose/goose_receiver.h +++ b/src/goose/goose_receiver.h @@ -133,6 +133,20 @@ GooseReceiver_stopThreadless(GooseReceiver self); bool GooseReceiver_tick(GooseReceiver self); +/* Forward declaration */ +typedef struct sEthernetHandleSet* EthernetHandleSet; + +/** + * \brief Add the receiver to a handleset for multiplexed asynchronous IO. + * + * Note: This function must only be called after GooseReceiver_startThreadless(). + * + * \param[in] self The SVReceiver instance. + * \param[inout] handles The EthernetHandleSet to which the EthernetSocket of this receiver should be added. + */ +void +GooseReceiver_addHandleSet(GooseReceiver self, EthernetHandleSet handles); + /**@}*/ #ifdef __cplusplus