int drv_getparm(unsigned int parm, void *value_p);In previous releases, value_p was defined to be type unsigned long *.
In the 64-bit kernel, drv_getparm(9F) can be used to fetch quantities that are both 32-bit and 64-bit, yet the interface does not define the data types of these quantities which encourages simple programming errors.
The following new routines offer a safer alternative:
clock_t ddi_get_lbolt(void); time_t ddi_get_time(void); cred_t *ddi_get_cred(void); pid_t ddi_get_pid(void);Driver writers are strongly urged to use these routines instead of drv_getparm(9F).