A stack which works with or without an Mbed os library. Provides IPv4 or IPv6 with a full 1500 byte buffer.
Dependents: oldheating gps motorhome heating
Diff: ip4/udptcp4.c
- Revision:
- 71:736a5747ade1
- Parent:
- 61:aad055f1b0d1
- Child:
- 73:43e3d7fb3d60
diff -r 74c11fb71a15 -r 736a5747ade1 ip4/udptcp4.c --- a/ip4/udptcp4.c Fri Feb 16 17:31:52 2018 +0000 +++ b/ip4/udptcp4.c Sat Oct 20 18:56:13 2018 +0000 @@ -73,13 +73,13 @@ default: LogTimeF("UdpTcp4 - traceback unrecognised protocol %d\r\n", tracePacketProtocol); break; } } -int Tcp4HandleReceivedPacket(void (*traceback)(void), void* pPacketRx, int sizeRx, void* pPacketTx, int* pSizeTx, uint32_t* pSrcIp, uint32_t* pDstIp) +int Tcp4HandleReceivedPacket(void (*traceback)(void), void* pPacketRx, int sizeRx, void* pPacketTx, int* pSizeTx, uint32_t* pSrcIp, uint32_t* pDstIp, uint32_t* pCachedRemIp) { pTraceBack = traceback; tracePacketProtocol = TCP; calculatedChecksum = calculateChecksum(TCP, *pSrcIp, *pDstIp, sizeRx, pPacketRx); - int action = TcpHandleReceivedPacket(trace, sizeRx, pPacketRx, pSizeTx, pPacketTx); + int action = TcpHandleReceivedPacket(trace, sizeRx, pPacketRx, pSizeTx, pPacketTx, TCP, pCachedRemIp); *pDstIp = *pSrcIp; @@ -102,6 +102,14 @@ return action; } +int Tcp4PollForPacketToSend(void* pPacket, int* pSize, uint32_t* pSrcIp, uint32_t* pDstIp) +{ + int action = TcpPollForPacketToSend(pSize, pPacket, IPV4, pDstIp); + + finalisePacket(TCP, action, pPacket, *pSize, pSrcIp, pDstIp); + + return action; +} int Udp4PollForPacketToSend(void* pPacket, int* pSize, uint32_t* pSrcIp, uint32_t* pDstIp) { int action = UdpPollForPacketToSend(IPV4, pSize, pPacket);