(Linux风格)ioctl代码,难懂
Posted
技术标签:
【中文标题】(Linux风格)ioctl代码,难懂【英文标题】:(Linux Style) Ioctl code, Hard to understand 【发布时间】:2020-03-05 08:29:59 【问题描述】:我正在使用 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,
;
我知道structIoctlInterface
有成员array[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,
;
先谢谢了。
※此帖如有侵犯芯片技术机密,我会立即删除。
【问题讨论】:
【参考方案1】:我认为您可能需要阅读更多关于 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,
;
【讨论】:
以上是关于(Linux风格)ioctl代码,难懂的主要内容,如果未能解决你的问题,请参考以下文章
在linux中使用ioctl()调用设置串口的DTR RTS引脚时遇到问题