You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
29 lines
930 B
C
29 lines
930 B
C
5 years ago
|
/* FreeRTOS includes. */
|
||
|
#include "FreeRTOS.h"
|
||
|
#include "queue.h"
|
||
|
|
||
|
/* FreeRTOS+TCP includes. */
|
||
|
#include "FreeRTOS_IP.h"
|
||
|
#include "FreeRTOS_IP_Private.h"
|
||
|
#include "FreeRTOS_ARP.h"
|
||
|
|
||
|
void harness()
|
||
|
{
|
||
|
/*
|
||
|
* The assumption made here is that the buffer pointed by pucEthernerBuffer
|
||
|
* is at least allocated to sizeof(ARPPacket_t) size but eventually a even larger buffer.
|
||
|
* This is not checked inside vARPGenerateRequestPacket.
|
||
|
*/
|
||
|
uint8_t ucBUFFER_SIZE;
|
||
|
__CPROVER_assume( ucBUFFER_SIZE >= sizeof(ARPPacket_t) && ucBUFFER_SIZE < 2 * sizeof(ARPPacket_t) );
|
||
|
void *xBuffer = malloc(ucBUFFER_SIZE);
|
||
|
|
||
|
NetworkBufferDescriptor_t xNetworkBuffer2;
|
||
|
xNetworkBuffer2.pucEthernetBuffer = xBuffer;
|
||
|
xNetworkBuffer2.xDataLength = ucBUFFER_SIZE;
|
||
|
|
||
|
/* vARPGenerateRequestPacket asserts buffer has room for a packet */
|
||
|
__CPROVER_assume( xNetworkBuffer2.xDataLength >= sizeof(ARPPacket_t) );
|
||
|
vARPGenerateRequestPacket( &xNetworkBuffer2 );
|
||
|
}
|