Module: Seccomp::Notify::Constants

Defined in:
lib/seccomp/notify/constants.rb

Constant Summary collapse

SECCOMP_SET_MODE_STRICT =
0
SECCOMP_SET_MODE_FILTER =
1
SECCOMP_GET_ACTION_AVAIL =
2
SECCOMP_GET_NOTIF_SIZES =
3
SECCOMP_FILTER_FLAG_TSYNC =
1 << 0
SECCOMP_FILTER_FLAG_LOG =
1 << 1
SECCOMP_FILTER_FLAG_SPEC_ALLOW =
1 << 2
SECCOMP_FILTER_FLAG_NEW_LISTENER =
1 << 3
SECCOMP_FILTER_FLAG_TSYNC_ESRCH =
1 << 4
SECCOMP_FILTER_FLAG_WAIT_KILLABLE_RECV =
1 << 5
SECCOMP_RET_KILL_PROCESS =
0x8000_0000
SECCOMP_RET_KILL_THREAD =
0x0000_0000
SECCOMP_RET_TRAP =
0x0003_0000
SECCOMP_RET_ERRNO =
0x0005_0000
SECCOMP_RET_USER_NOTIF =
0x7fc0_0000
SECCOMP_RET_TRACE =
0x7ff0_0000
SECCOMP_RET_LOG =
0x7ffc_0000
SECCOMP_RET_ALLOW =
0x7fff_0000
SECCOMP_USER_NOTIF_FLAG_CONTINUE =
1 << 0
SECCOMP_ADDFD_FLAG_SETFD =
1 << 0
SECCOMP_ADDFD_FLAG_SEND =
1 << 1
O_CLOEXEC =
0x80000
AUDIT_ARCH_X86_64 =
0xc000_003e
AUDIT_ARCH_AARCH64 =
0xc000_00b7
AUDIT_ARCH_I386 =
0x4000_0003
SYS_SECCOMP =
{x86_64: 317, aarch64: 277}.freeze
PR_SET_NO_NEW_PRIVS =
38
PR_SET_PTRACER =
0x5961_6d61
BPF_LD_W_ABS =
0x20
BPF_JMP_JA =
0x05
BPF_JMP_JEQ_K =
0x15
BPF_JMP_JGE_K =
0x35
BPF_JMP_JSET_K =
0x45
BPF_RET_K =
0x06
BPF_MAXINSNS =
4096
MAX_ERRNO =
4095
OFF_NR =
0
OFF_ARCH =
4
OFF_IP =
8
OFF_ARGS =
16

Class Method Summary collapse

Class Method Details

.errno_number(value) ⇒ Object



54
55
56
57
58
59
60
61
# File 'lib/seccomp/notify/constants.rb', line 54

def errno_number(value)
  number = value.is_a?(Module) ? value.const_get(:Errno, false) : value
  return number if number.is_a?(Integer) && (1..MAX_ERRNO).cover?(number)

  raise ArgumentError, "errno must be between 1 and #{MAX_ERRNO}"
rescue NameError
  raise ArgumentError, "errno must be between 1 and #{MAX_ERRNO}"
end