24 #ifndef GOOSE_RECEIVER_H_
25 #define GOOSE_RECEIVER_H_
33 #include "hal_ethernet.h"
83 LIB61850_API
const char*
151 LIB61850_API EthernetSocket
LIB61850_API const char * GooseReceiver_getInterfaceId(GooseReceiver self)
return the interface ID used by the GOOSE receiver
LIB61850_API void GooseReceiver_stop(GooseReceiver self)
stop the GOOSE receiver running in a separate thread
LIB61850_API void GooseReceiver_start(GooseReceiver self)
start the GOOSE receiver in a separate thread
LIB61850_API void GooseReceiver_destroy(GooseReceiver self)
Free all resource of the GooseReceiver and all installed GooseSubscribers.
LIB61850_API void GooseReceiver_handleMessage(GooseReceiver self, uint8_t *buffer, int size)
Parse a GOOSE message.
LIB61850_API EthernetSocket GooseReceiver_startThreadless(GooseReceiver self)
LIB61850_API GooseReceiver GooseReceiver_create(void)
Create a new receiver instance.
LIB61850_API void GooseReceiver_stopThreadless(GooseReceiver self)
LIB61850_API bool GooseReceiver_isRunning(GooseReceiver self)
Check if GOOSE receiver is running.
LIB61850_API void GooseReceiver_removeSubscriber(GooseReceiver self, GooseSubscriber subscriber)
Remove a subscriber from this receiver instance.
LIB61850_API void GooseReceiver_setInterfaceId(GooseReceiver self, const char *interfaceId)
sets the interface for the GOOSE receiver
LIB61850_API bool GooseReceiver_tick(GooseReceiver self)
Parse GOOSE messages if they are available.
LIB61850_API void GooseReceiver_addSubscriber(GooseReceiver self, GooseSubscriber subscriber)
Add a subscriber to this receiver instance.
struct sGooseSubscriber * GooseSubscriber
Definition: goose_subscriber.h:53
struct sGooseReceiver * GooseReceiver
Definition: goose_receiver.h:41
LIB61850_API GooseReceiver GooseReceiver_createEx(uint8_t *buffer)
Create a new receiver instance using the provided buffer instead of allocating an own buffer.