package portallocator
import (
"syscall"
"unsafe"
"github.com/ishidawataru/sctp"
)
const sysSetsockopt = 14 // See https://elixir.bootlin.com/linux/v6.13.3/source/include/uapi/linux/net.h#L40
func setSCTPInitMsg(sd int, options sctp.InitMsg) syscall.Errno {
_, _, errno := syscall.Syscall6(syscall.SYS_SOCKETCALL, // See `man 2 socketcall`
sysSetsockopt,
uintptr(sd),
sctp.SOL_SCTP,
sctp.SCTP_INITMSG,
uintptr(unsafe.Pointer(&options)), // #nosec G103 -- Ignore "G103: Use of unsafe calls should be audited"
unsafe.Sizeof(options))
return errno
}