From: Yair K. <ce...@gm...> - 2008-01-25 10:45:11
Attachments:
strace.diff.gz
|
Hi, "/dev/dsp" is the sound interface for the OSS sound API, supported on FreeBSD and Linux (via ALSA emulation). ioctls pass a pointer to and from the device node. Currently strace only shows the address of the pointers, which isn't very useful. The attached patch will trace the pointers, showing their referenced value before and after the ioctl, expanding the masks/structs when it could be helpful. Notes: 1. Some DSP ioctls have the same codes but different directions. dsp.c isn't affected, but sys_ioctl (in io.c) will print both options. Not printing the incorrect ioctl name would have required changes which would have affected other components. This also affected the ioctl generation (some ioctls weren't in ioctlent.h, because ioctlsort.c thought they were identical). 2. I'm not subscribed - CC me if desired. Yours, Yair K. |
From: Yair K. <ce...@gm...> - 2008-01-26 09:43:58
Attachments:
strace.diff.gz
|
Hi, I didn't send a Changelog entry (as is apparently the custom on this list): * dsp.c : New file. * Makefile.am: Add it. * defs.h (dsp_ioctl): Declare a new function. * ioctl.c (ioctl_decode): Use dsp_ioctl(). * linux/ioctlent.h: Add missed ioctls (regeneration is a better solution, but against which version?). Also the new linux 2.6.24 can use/return new AFMT_* values which aren't defined in soundcard.h[1]. So attached is a new diff, with some defines added to make strace recognize the new formats. Yours, Yair K. [1] http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blobdiff;f=sound/core/oss/pcm_oss.c;h=c058713dd567b5d4bf7aab73e8d484a5c8b7c919;hp=fc11572c48cf8038b52d329f9aa12d7ec047f9ca;hb=24038a25e707fe08ff343d72dd667acefcc50f6f;hpb=100eb7c2843dec83a7d16cf6412ade6cb928d11d |