1// Copyright 2023 The Go Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style
3// license that can be found in the LICENSE file.
4
5package unix
6
7import "syscall"
8
9func PidFDSendSignal(pidfd uintptr, s syscall.Signal) error {
10	_, _, errno := syscall.Syscall(pidfdSendSignalTrap, pidfd, uintptr(s), 0)
11	if errno != 0 {
12		return errno
13	}
14	return nil
15}
16
17func PidFDOpen(pid, flags int) (uintptr, error) {
18	pidfd, _, errno := syscall.Syscall(pidfdOpenTrap, uintptr(pid), uintptr(flags), 0)
19	if errno != 0 {
20		return ^uintptr(0), errno
21	}
22	return uintptr(pidfd), nil
23}
24