这是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);