下载 FreeRTOS
 

出色的 RTOS & 嵌入式软件

最新资讯
简化任何设备的身份验证云连接。
利用 CoAP 设计节能型云连接 IoT 解决方案。
11.0.0 版 FreeRTOS 内核简介:
FreeRTOS 路线图和代码贡献流程。
使用 FreeRTOS 实现 OPC-UA over TSN。

eApplicationProcessCustomFrameHook()

[FreeRTOS-Plus-TCP API 引用]

FreeRTOS_sockets.h

注意:仅当 ipconfigPROCESS_CUSTOM_ETHERNET_FRAMES 在 FreeRTOSIPConfig.h 文件中设置为 1 时,才需要定义钩子。

eFrameProcessingResult_t eApplicationProcessCustomFrameHook( NetworkBufferDescriptor_t * const pxNetworkBuffer );
        

eApplicationProcessCustomFrameHook 是应用程序定义的钩子函数(或*回调*函数),当 FreeRTOS-Plus-TCP 堆栈接收到其未处理的帧(ARP 帧或 IP 数据包除外)时,该堆栈会调用此函数。

回调函数由应用程序写入程序实现,但由 TCP/IP 堆栈调用。回调函数的原型 必须与上面的原型完全匹配(包括函数名称)。应用程序钩子中的代码不应调用正被阻塞的 FreeRTOS-Plus-TCP API 。这样很容易导致死锁。

当应用程序钩子执行时,会借用任务优先级和 IP 任务堆栈。因此,我们建议您保持应用程序钩子的简短性——它可能需要唤醒一些负责执行进一步处理的应用程序任务。

参数:
pxNetworkBuffer   包含不受支持的帧的网络缓冲区。

返回值:

返回值必须为 eFrameProcessingResult_t 类型。如果要释放帧,则应该返回 eReleaseBuffer,网络堆栈则负责清理。如果返回任何其他内容,那么用户/应用程序必须 通过调用 vReleaseNetworkBufferAndDescriptor() 来释放网络缓冲区。

Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.