Don't look complicated 595 AUE_GETGROUPS STD|CAPENABLED { int getgroups( int gidsetsize, _Out_writes_opt_(gidsetsize) gid_t *gidset ); } 596 AUE_SETGROUPS STD { int setgroups( int gidsetsize, _In_reads_(gidsetsize) const gid_t *gidset ); }
Even easier, the new syscall has just a semantic change. It uses exactly the same interface as the existing generic wrapper.
commit 128017143a942263542a1d87132f3bae782ce645 Author: Paul Floyd <pjfloyd@wanadoo.fr> Date: Sun Aug 31 16:32:20 2025 +0200 Bug 508958 - FreeBSD: add getgroups and setgroups wrappers