(Linux风格)ioctl代码,难懂
(Linux Style) Ioctl code, Hard to understand
我正在使用 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,
}
};
我知道struct IoctlInterface
有成员数组[5],return 类型是函数指针。
但是,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,
}
};
先谢谢了。
※如果此post侵犯了芯片的技术机密,我会立即删除
我认为您可能需要阅读更多关于 C 的内容。但是,在这一部分中,您只是声明一个(可能)全局(可能)静态变量,名为 XxxInterface
,类型为 [=12] =] 并填写结构体的成员。
__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,
}
};
我正在使用 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,
}
};
我知道struct IoctlInterface
有成员数组[5],return 类型是函数指针。
但是,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,
}
};
先谢谢了。
※如果此post侵犯了芯片的技术机密,我会立即删除
我认为您可能需要阅读更多关于 C 的内容。但是,在这一部分中,您只是声明一个(可能)全局(可能)静态变量,名为 XxxInterface
,类型为 [=12] =] 并填写结构体的成员。
__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,
}
};