我正在使用infini **芯片。
在其基本代码中,每个[XXX_ioctl] .c代码在上部都有下面的代码。(XXX
表示我要使用的驱动程序。)
typedef void (*PFUNCTION)(void);
#define FUNCTION_COUNT 5
struct IoctlInterface {
uint8_t count;
PFUNCTION functionArray[FUNCTION_COUNT]; //function pointer array
} __STATIC const XxxInterface = {
FUNCTION_COUNT,
{
(PFUNCTION) IFX_XXX_Open,
(PFUNCTION) IFX_XXX_Close,
(PFUNCTION) IFX_XXX_Ioctl,
(PFUNCTION) IFX_XXX_CancleIO,
(PFUNCTION) IFX_XXX_DriverInit,
}
};
我知道结构IoctlInterface
具有成员数组[5],其返回类型是函数指针。但是,the following
是什么意思?
__STATIC const XxxInterface = {
FUNCTION_COUNT,
{
(PFUNCTION) IFX_XXX_Open,
(PFUNCTION) IFX_XXX_Close,
(PFUNCTION) IFX_XXX_Ioctl,
(PFUNCTION) IFX_XXX_CancleIO,
(PFUNCTION) IFX_XXX_DriverInit,
}
};
谢谢。
※如果此帖子违反了芯片的技术秘密,我会立即将其删除。
[我认为您可能需要阅读一些有关C的知识。但是,在这一部分中,您只是声明一个类型为XxxInterface
的(可能)全局(可能)静态变量IoctlInterface
并填充成员的结构。
__STATIC const XxxInterface = {
FUNCTION_COUNT,
{
(PFUNCTION) IFX_XXX_Open,
(PFUNCTION) IFX_XXX_Close,
(PFUNCTION) IFX_XXX_Ioctl,
(PFUNCTION) IFX_XXX_CancleIO,
(PFUNCTION) IFX_XXX_DriverInit,
}
};