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

ip6/icmp/echo6.c

Committer:
andrewboyson
Date:
2020-04-02
Revision:
167:3ba4e3c49631
Parent:
61:aad055f1b0d1

File content as of revision 167:3ba4e3c49631:

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

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

bool Echo6Trace = false;

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