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

ip4/icmp/echo4.c

Committer:
andrewboyson
Date:
2021-05-20
Revision:
200:5acbc41bf469
Parent:
61:aad055f1b0d1

File content as of revision 200:5acbc41bf469:

#include <stdint.h>
#include <stdbool.h>
#include <string.h>

#include    "log.h"
#include    "net.h"
#include "action.h"

bool Echo4Trace = false;

int Echo4HandleRequest(void (*traceback)(void), uint8_t* pType, uint8_t* pCode, char* payloadRx, int sizeRx, char* payloadTx, int* pSizeTx)
{
    if (Echo4Trace)
    {
        if (NetTraceNewLine) Log("\r\n");
        LogTime("Echo4\r\n");
        if (NetTraceStack) traceback();
    }
    *pType = 0;
    *pCode = 0;
    *pSizeTx = sizeRx;
    memcpy(payloadTx, payloadRx, *pSizeTx);
    return ActionMakeFromDestAndTrace(UNICAST, Echo4Trace && NetTraceStack);
}