这是CSR8670蓝牙芯片库函数的头文件

typedef struct TaskData { void (*handler)(Task, MessageId, Message); } TaskData;

这是什么样的结构声明?此结构的成员数据是什么?
以下是上下文的完整头文件:
/* This file was automatically generated from syscalls.in 17.2 */

#ifndef __MESSAGE__H

#define __MESSAGE__H

#include <csrtypes.h>
/*! @file message_.h @brief Message types */
/*!
Message identifier type.
*/
typedef uint16 MessageId;
/*!
Message delay type.
*/
typedef uint32 Delay;
/*!
Message type.
*/
typedef const void *Message;
/*!
Task type.
*/
typedef struct TaskData *Task;
/*!
TaskData type.
*/
typedef struct TaskData { void (*handler)(Task, MessageId, Message); } TaskData;

#endif

我还是不知道“handler”是什么意思。我在其他头文件中找不到对handler的任何其他引用。如果相关,task表示固件上运行的一种例程,它接受并处理固件可能从外部源(例如,试图连接到csr板的蓝牙设备)接收到的消息。

最佳答案

struct TaskData只有一个成员是函数指针,它是

void (*handler)(Task, MessageId, Message);

09-28 05:01