int drv_getparm(unsigned int parm, void *value_p);
在以前的发行版中,value_p 被定义为 unsigned long
类型。在 64 位内核中,drv_getparm(9F) 可提取 32 位和 64 位。此接口未定义这些量的数据类型,可能会发生简单的编程错误。
以下新例程提供更安全的替代方法:
clock_t ddi_get_lbolt(void); time_t ddi_get_time(void); cred_t *ddi_get_cred(void); pid_t ddi_get_pid(void);
强烈要求驱动程序编写人员使用这些例程而不要使用 drv_getparm(9F)。