aboutsummaryrefslogtreecommitdiffhomepage
path: root/container/std/syscall.go
blob: eb71e071022e041d1df9d989dbae7262972fb570 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
package std

import "iter"

// Syscalls returns an iterator over all wired syscalls.
func Syscalls() iter.Seq2[string, ScmpSyscall] {
	return func(yield func(string, ScmpSyscall) bool) {
		for name, num := range syscallNum {
			if !yield(name, num) {
				return
			}
		}
		for name, num := range syscallNumExtra {
			if !yield(name, num) {
				return
			}
		}
	}
}

// SyscallResolveName resolves a syscall number from its string representation.
func SyscallResolveName(name string) (num ScmpSyscall, ok bool) {
	if num, ok = syscallNum[name]; ok {
		return
	}
	num, ok = syscallNumExtra[name]
	return
}