//go:noescape func vgetrandom1(buf *byte, length uintptr, flags uint32, state uintptr, stateSize uintptr) int var vgetrandomAlloc … func vgetrandomInit() { … } func vgetrandomGetState() uintptr { … } func vgetrandomPutState(state uintptr) { … } // This is exported for use in internal/syscall/unix as well as x/sys/unix. // //go:linkname vgetrandom func vgetrandom(p []byte, flags uint32) (ret int, supported bool) { … }