Headerfile for nicdrv.c.
More...
#include <rt.h>
#include "hpeif2.h"
Go to the source code of this file.
|
int | ec_closenic (void) |
|
int | ec_getindex (void) |
|
int | ec_outframe (int idx, int sock) |
|
int | ec_outframe_red (int idx) |
|
void | ec_setbufstat (int idx, int bufstat) |
|
void | ec_setupheader (void *p) |
|
int | ec_setupnic (const char *ifname, int secondary) |
|
int | ec_srconfirm (int idx, int timeout) |
|
int | ec_waitinframe (int idx, int timeout) |
|
int | ecx_closenic (ecx_portt *port) |
|
int | ecx_getindex (ecx_portt *port) |
|
int | ecx_outframe (ecx_portt *port, int idx, int sock) |
|
int | ecx_outframe_red (ecx_portt *port, int idx) |
|
void | ecx_setbufstat (ecx_portt *port, int idx, int bufstat) |
|
int | ecx_setupnic (ecx_portt *port, const char *ifname, int secondary) |
|
int | ecx_srconfirm (ecx_portt *port, int idx, int timeout) |
|
int | ecx_waitinframe (ecx_portt *port, int idx, int timeout) |
|
Headerfile for nicdrv.c.
Definition in file intime/nicdrv.h.
◆ HAVE_REMOTE
◆ ec_closenic()
◆ ec_getindex()
◆ ec_outframe()
int ec_outframe |
( |
int |
idx, |
|
|
int |
sock |
|
) |
| |
◆ ec_outframe_red()
int ec_outframe_red |
( |
int |
idx | ) |
|
◆ ec_setbufstat()
void ec_setbufstat |
( |
int |
idx, |
|
|
int |
bufstat |
|
) |
| |
◆ ec_setupheader()
void ec_setupheader |
( |
void * |
p | ) |
|
Fill buffer with ethernet header structure. Destination MAC is always broadcast. Ethertype is always ETH_P_ECAT.
- Parameters
-
Fill buffer with Ethernet header structure. Destination MAC is always broadcast. Ethertype is always ETH_P_ECAT.
- Parameters
-
Definition at line 151 of file erika/nicdrv.c.
◆ ec_setupnic()
int ec_setupnic |
( |
const char * |
ifname, |
|
|
int |
secondary |
|
) |
| |
◆ ec_srconfirm()
int ec_srconfirm |
( |
int |
idx, |
|
|
int |
timeout |
|
) |
| |
◆ ec_waitinframe()
int ec_waitinframe |
( |
int |
idx, |
|
|
int |
timeout |
|
) |
| |
◆ ecx_closenic()
Close sockets used
- Parameters
-
[in] | port | = port context struct |
- Returns
- 0
Close sockets used
- Returns
- 0
Definition at line 140 of file erika/nicdrv.c.
◆ ecx_getindex()
Get new frame identifier index and allocate corresponding rx buffer.
- Parameters
-
[in] | port | = port context struct |
- Returns
- new index.
Get new frame identifier index and allocate corresponding rx buffer.
- Returns
- new index.
Definition at line 168 of file erika/nicdrv.c.
◆ ecx_outframe()
int ecx_outframe |
( |
ecx_portt * |
port, |
|
|
int |
idx, |
|
|
int |
stacknumber |
|
) |
| |
Transmit buffer over socket (non blocking).
- Parameters
-
[in] | port | = port context struct |
[in] | idx | = index in tx buffer array |
[in] | stacknumber | = 0=Primary 1=Secondary stack |
- Returns
- socket send result
Transmit buffer over socket (non blocking).
- Parameters
-
[in] | idx | = index in tx buffer array |
[in] | stacknumber | = 0=Primary 1=Secondary stack |
- Returns
- socket send result
High level transmit buffer over mux layer 2 driver, passing buffer and packet device to send on as arguments
- Parameters
-
[in] | port | = port context holding reference to packet device |
[in] | idx | = index in tx buffer array |
[in] | stacknumber | = 0=Primary 1=Secondary stack |
- Returns
- socket send result
Definition at line 215 of file erika/nicdrv.c.
◆ ecx_outframe_red()
int ecx_outframe_red |
( |
ecx_portt * |
port, |
|
|
int |
idx |
|
) |
| |
Transmit buffer over socket (non blocking).
- Parameters
-
[in] | port | = port context struct |
[in] | idx | = index in tx buffer array |
- Returns
- socket send result
Transmit buffer over socket (non blocking).
- Parameters
-
[in] | idx | = index in tx buffer array |
- Returns
- socket send result
High level transmit frame to send as index.
- Parameters
-
[in] | port | = port context |
[in] | idx | = index in tx buffer array |
- Returns
- socket send result
Definition at line 237 of file erika/nicdrv.c.
◆ ecx_setbufstat()
void ecx_setbufstat |
( |
ecx_portt * |
port, |
|
|
int |
idx, |
|
|
int |
bufstat |
|
) |
| |
Set rx buffer status.
- Parameters
-
[in] | port | = port context struct |
[in] | idx | = index in buffer array |
[in] | bufstat | = status to set |
Set rx buffer status.
- Parameters
-
[in] | idx | = index in buffer array |
[in] | bufstat | = status to set |
Definition at line 202 of file erika/nicdrv.c.
◆ ecx_setupnic()
int ecx_setupnic |
( |
ecx_portt * |
port, |
|
|
const char * |
ifname, |
|
|
int |
secondary |
|
) |
| |
Basic setup to connect NIC to socket.
- Parameters
-
[in] | port | = port context struct |
[in] | ifname | = Name of NIC device, f.e. "eth0" |
[in] | secondary | = if >0 then use secondary stack instead of primary |
- Returns
- >0 if succeeded
Basic setup to connect NIC to socket.
- Parameters
-
[in] | ifname | = Name of NIC device, f.e. "eth0" |
[in] | secondary | = if >0 then use secondary stack instead of primary |
- Returns
- >0 if succeeded
Basic setup to connect NIC to socket.
- Parameters
-
[in] | port | = port context struct |
[in] | ifname | = Name of NIC device, f.e. "gei0" |
[in] | secondary | = if >0 then use secondary stack instead of primary |
- Returns
- >0 if succeeded
Definition at line 90 of file erika/nicdrv.c.
◆ ecx_srconfirm()
int ecx_srconfirm |
( |
ecx_portt * |
port, |
|
|
int |
idx, |
|
|
int |
timeout |
|
) |
| |
Blocking send and receive frame function. Used for non processdata frames. A datagram is build into a frame and transmitted via this function. It waits for an answer and returns the workcounter. The function retries if time is left and the result is WKC=0 or no frame received.
The function calls ec_outframe_red() and ec_waitinframe_red().
- Parameters
-
[in] | port | = port context struct |
[in] | idx | = index of frame |
[in] | timeout | = timeout in us |
- Returns
- Workcounter or EC_NOFRAME
Blocking send and receive frame function. Used for non processdata frames. A datagram is build into a frame and transmitted via this function. It waits for an answer and returns the workcounter. The function retries if time is left and the result is WKC=0 or no frame received.
The function calls ec_outframe_red() and ec_waitinframe_red().
- Parameters
-
[in] | idx | = index of frame |
[in] | timeout | = timeout in us |
- Returns
- Workcounter or EC_NOFRAME
Definition at line 490 of file erika/nicdrv.c.
◆ ecx_waitinframe()
int ecx_waitinframe |
( |
ecx_portt * |
port, |
|
|
int |
idx, |
|
|
int |
timeout |
|
) |
| |
Blocking receive frame function. Calls ec_waitinframe_red().
- Parameters
-
[in] | port | = port context struct |
[in] | idx | = requested index of frame |
[in] | timeout | = timeout in us |
- Returns
- Workcounter if a frame is found with corresponding index, otherwise EC_NOFRAME.
Blocking receive frame function. Calls ec_waitinframe_red().
- Parameters
-
[in] | idx | = requested index of frame |
[in] | timeout | = timeout in us |
- Returns
- Workcounter if a frame is found with corresponding index, otherwise EC_NOFRAME.
Definition at line 467 of file erika/nicdrv.c.
◆ priMAC
Primary source MAC address used for EtherCAT. This address is not the MAC address used from the NIC. EtherCAT does not care about MAC addressing, but it is used here to differentiate the route the packet traverses through the EtherCAT segment. This is needed to find out the packet flow in redundant configurations.
Primary source MAC address used for EtherCAT. This address is not the MAC address used from the NIC. EtherCAT does not care about MAC addressing, but it is used here to differentiate the route the packet traverses through the EtherCAT segment. This is needed to fund out the packet flow in redundant configurations.
Definition at line 65 of file erika/nicdrv.c.
◆ secMAC
Secondary source MAC address used for EtherCAT.
Definition at line 67 of file erika/nicdrv.c.