User Details
- User Since
- May 4 2018, 5:39 PM (412 w, 4 d)
Sep 21 2025
Sorry. This patch fixes the audio_errinfo32 typos.
This patch also uses C standard names for struct field types, and properly initializes and copies fields to audio_errinfo32.
This patch also uses fixed-width types for the 32 bit structs.
Sep 20 2025
Thank you for the feedback. This new patch:
- Moves the 32 bit structs from sys/soundcard.h to dsp.c.
- Uses tabs for indentation.
- _IOC_NEWTYPE is used instead of repeating the ioctl definitions with the new type.
- Removes snd_sync_parm32 and AIOSYNC32, because snd_sync_parm and AIOSYNC are not really implemented.
- Only converts from 32 to 64 bit on AIOSFMT32, not on AIOGFMT32 where it was unnecessary.
- Converts from 32 to 64 bit on AIOGCAP32, unlike before, because all-zero fields have a meaning to the ioctl.
Sep 19 2025
If this is what you meant, it does seems considerably longer and uglier, for example:
Sep 16 2025
If we did this:
Sep 15 2025
This patch makes a number of improvements:
- The 32 bit structs are moved to sys/sys/soundcard.h, similar to struct sndstioc_nv_arg32 in sys/sys/sndstat.h (although most COMPAT_FREEBSD32 code in the kernel doesn't add 32 bit structs to header files, so why are we?).
- _IOC_NEWTYPE is used instead of repeating the ioctl definitions with the new type.
- The dsp_ioctl() function stays unchanged, instead a wrapper function dsp_ioctl_compat() does data conversions before and/or after calling dsp_ioctl(), for the structs that need conversion. This also has the benefit of better performance, as all the conversion is done outside of the locking done by dsp_ioctl(). And it's much cleaner, only a single COMPAT_FREEBSD32 ifdef is used.
- I've removed snd_sync_parm32, because even snd_sync_parm is not really implemented.
- Lines wrapped to 80 characters.
I agree, clearing CHN_F_NBIO in dsp_close() would be better. When debugging, if a closed channel has CHN_F_NBIO set, which then mysteriously disappears when it's re-opened, it could be confusing.
Sep 13 2025
Jun 6 2025
Abandoning because it's already fixed.
Nov 8 2024
And this one adds more context to the patch.
This update also changes NG_NAT_UDP_EIM from 0x800 to 0x200.
Nov 5 2024
This update:
- Makes EIM opt-in, off by default, although I still think this decision needs broader discussion, or even a vote.
- Adds "udp_eim" options to all the libalias uses: ipfw, natd, ng_nat, and ppp.
- Rewrites the man pages and header files so they are shorter and clearer.
- Man pages don't introduce new errors in igor.
- Uses PKT_ALIAS_UDP_EIM instead of PKT_ALIAS_ENDPOINT_INDEPENDENT.
- Renames the splay tree from "source" to "internal_endpoint" in the source code.
- Simplifies some conditions.
Moves the "endpoint-independent" section to come after "bitmask", so they're in alphabetical order.
Nov 3 2024
Also fix the typo: "caues" -> "causes".
Oct 18 2024
I also need to patch ipfw and natd with user-settable options for the new flag, before this patch is fully ready... I am busy so that will probably take a few more weeks.
Oct 15 2024
This new version adds a flag that can be used to turn this feature on and off (it is on by default for greater compatibility), adds documentation to the header file and man page, and wraps lines at 80 characters.
Sep 17 2024
Jun 14 2022
Apr 13 2022
This is probably irrelevant now that D34756 added a more general way to retrieve advisory lock info.
Is this still relevant?
D34756 added a more general way to retrieve advisory lock info.
Feb 22 2022
Thank you for your feedback. New versions of this patch are at:
https://reviews.freebsd.org/D34184
https://reviews.freebsd.org/D34323
Feb 20 2022
Also:
- Add a kf_eventfd_addr field to kf_eventfd and populate it.
Feb 6 2022
Feb 2 2022
Jan 29 2022
Added kf_pipe_buffer_[in/out/size] fields to kf_pipe.
