我的 strace 往往会混淆一些ioctl值(我确信SNDRVioctls 没有被很好地识别......)
我如何识别正确的ioctl价值?
一个小例子:
$ strace aplay -l
...
fcntl64(4, F_SETFD, FD_CLOEXEC) = 0
ioctl(4, UI_DEV_CREATE, 0xbfaa6e74) = 0
close(4) = 0
...
那UI_DEV_CREATE是一个SNDRV_CTL_IOCTL_CARD_INFO
(另一个例子)
ioctl(4, USBDEVFS_CONTROL or USBDEVFS_CONTROL32, 0xbfaa6f94) = 0
ioctl(4, UI_DEV_CREATE, 0xbfaa71f0) = 0
ioctl(4, 0x80045530, 0xbfaa73ac)
USBDEVFS_CONTROL是一个SNDRV_CTL_IOCTL_PVERSION
,我真的不知道宏扩展是什么0x80045530...
谢谢 :)