libIEC61850  0.8.3
Open-source IEC 61850 MMS/GOOSE server and client library
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
Typedefs | Functions
Direct access to the ethernet layer (optional - required by GOOSE and Sampled Values)

Typedefs

typedef struct sEthernetSocket * EthernetSocket
 Opaque handle that represents an Ethernet "socket". More...
 

Functions

void Ethernet_getInterfaceMACAddress (char *interfaceId, uint8_t *addr)
 Return the MAC address of an Ethernet interface. More...
 
EthernetSocket Ethernet_createSocket (char *interfaceId, uint8_t *destAddress)
 Create an Ethernet socket using the specified interface and destination MAC address. More...
 
void Ethernet_destroySocket (EthernetSocket ethSocket)
 destroy the ethernet socket More...
 
void Ethernet_sendPacket (EthernetSocket ethSocket, uint8_t *buffer, int packetSize)
 
void Ethernet_setProtocolFilter (EthernetSocket ethSocket, uint16_t etherType)
 
int Ethernet_receivePacket (EthernetSocket ethSocket, uint8_t *buffer, int bufferSize)
 receive an ethernet packet (non-blocking) More...
 
bool Ethernet_isSupported (void)
 Indicates if runtime provides support for direct Ethernet access. More...
 

Detailed Description

Typedef Documentation

typedef struct sEthernetSocket* EthernetSocket

Opaque handle that represents an Ethernet "socket".

Function Documentation

EthernetSocket Ethernet_createSocket ( char *  interfaceId,
uint8_t *  destAddress 
)

Create an Ethernet socket using the specified interface and destination MAC address.

Parameters
interfaceIdthe ID of the Ethernet interface
destAddressbyte array that contains the Ethernet MAC address
void Ethernet_destroySocket ( EthernetSocket  ethSocket)

destroy the ethernet socket

Parameters
ethSocketthe ethernet socket handle
void Ethernet_getInterfaceMACAddress ( char *  interfaceId,
uint8_t *  addr 
)

Return the MAC address of an Ethernet interface.

The result are the six bytes that make up the Ethernet MAC address.

Parameters
interfaceIdthe ID of the Ethernet interface
addrpointer to a buffer to store the MAC address
bool Ethernet_isSupported ( void  )

Indicates if runtime provides support for direct Ethernet access.

Returns
true if Ethernet support is available, false otherwise
int Ethernet_receivePacket ( EthernetSocket  ethSocket,
uint8_t *  buffer,
int  bufferSize 
)

receive an ethernet packet (non-blocking)

Parameters
ethSocketthe ethernet socket handle
bufferthe buffer to copy the message to
themaximum size of the buffer
Returns
size of message received in bytes
void Ethernet_sendPacket ( EthernetSocket  ethSocket,
uint8_t *  buffer,
int  packetSize 
)
void Ethernet_setProtocolFilter ( EthernetSocket  ethSocket,
uint16_t  etherType 
)