Module seccomp_lowlevel

*
The S390 architecture tokens
*
The PA-RISC hppa architecture tokens

Types

ScmpVersion* = object
  major*: cuint
  minor*: cuint
  micro*: cuint
  Source
ScmpFilterCtx* = pointer
  Source
ScmpFilterAttr* {.size: sizeof(cint).} = enum
  SCMP_FLTATR_MIN = 0, SCMP_FLTATR_ACT_DEFAULT = 1, SCMP_FLTATR_ACT_BADARCH = 2,
  SCMP_FLTATR_CTL_NNP = 3, SCMP_FLTATR_CTL_TSYNC = 4, SCMP_FLTATR_MAX
  Source
ScmpCompare* {.size: sizeof(cint).} = enum
  SCMP_CMP_MIN = 0, SCMP_CMP_NE = 1, SCMP_CMP_LT = 2, SCMP_CMP_LE = 3, SCMP_CMP_EQ = 4,
  SCMP_CMP_GE = 5, SCMP_CMP_GT = 6, SCMP_CMP_MASKED_EQ = 7, SCMP_CMP_MAX
  Source
ScmpDatumT* = uint64
  Source
ScmpArgCmp* = object
  arg*: cuint
  op*: ScmpCompare
  datumA*: ScmpDatumT
  datumB*: ScmpDatumT
  Source

Consts

SCMP_ARCH_NATIVE* = 0
  Source
SCMP_ACT_KILL* = 0x00000000
  Source
SCMP_ACT_TRAP* = 0x00030000
  Source
SCMP_ACT_ALLOW* = 0x7FFF0000
  Source
NR_SCMP_ERROR* = - 1
  Source
NR_SCMP_UNDEF* = - 2
  Source
PNR_socket* = - 101
  Source
PNR_bind* = - 102
  Source
PNR_connect* = - 103
  Source
PNR_listen* = - 104
  Source
PNR_accept* = - 105
  Source
PNR_getsockname* = - 106
  Source
PNR_getpeername* = - 107
  Source
PNR_socketpair* = - 108
  Source
PNR_send* = - 109
  Source
PNR_recv* = - 110
  Source
PNR_sendto* = - 111
  Source
PNR_recvfrom* = - 112
  Source
PNR_shutdown* = - 113
  Source
PNR_setsockopt* = - 114
  Source
PNR_getsockopt* = - 115
  Source
PNR_sendmsg* = - 116
  Source
PNR_recvmsg* = - 117
  Source
PNR_accept4* = - 118
  Source
PNR_recvmmsg* = - 119
  Source
PNR_sendmmsg* = - 120
  Source
PNR_semop* = - 201
  Source
PNR_semget* = - 202
  Source
PNR_semctl* = - 203
  Source
PNR_semtimedop* = - 204
  Source
PNR_msgsnd* = - 211
  Source
PNR_msgrcv* = - 212
  Source
PNR_msgget* = - 213
  Source
PNR_msgctl* = - 214
  Source
PNR_shmat* = - 221
  Source
PNR_shmdt* = - 222
  Source
PNR_shmget* = - 223
  Source
PNR_shmctl* = - 224
  Source
PNR_archPrctl* = - 10001
  Source
PNR_bdflush* = - 10002
  Source
PNR_break* = - 10003
  Source
PNR_chown32* = - 10004
  Source
PNR_epollCtlOld* = - 10005
  Source
PNR_epollWaitOld* = - 10006
  Source
PNR_fadvise6464* = - 10007
  Source
PNR_fchown32* = - 10008
  Source
PNR_fcntl64* = - 10009
  Source
PNR_fstat64* = - 10010
  Source
PNR_fstatat64* = - 10011
  Source
PNR_fstatfs64* = - 10012
  Source
PNR_ftime* = - 10013
  Source
PNR_ftruncate64* = - 10014
  Source
PNR_getegid32* = - 10015
  Source
PNR_geteuid32* = - 10016
  Source
PNR_getgid32* = - 10017
  Source
PNR_getgroups32* = - 10018
  Source
PNR_getresgid32* = - 10019
  Source
PNR_getresuid32* = - 10020
  Source
PNR_getuid32* = - 10021
  Source
PNR_gtty* = - 10022
  Source
PNR_idle* = - 10023
  Source
PNR_ipc* = - 10024
  Source
PNR_lchown32* = - 10025
  Source
PNR_llseek* = - 10026
  Source
PNR_lock* = - 10027
  Source
PNR_lstat64* = - 10028
  Source
PNR_mmap2* = - 10029
  Source
PNR_mpx* = - 10030
  Source
PNR_newfstatat* = - 10031
  Source
PNR_newselect* = - 10032
  Source
PNR_nice* = - 10033
  Source
PNR_oldfstat* = - 10034
  Source
PNR_oldlstat* = - 10035
  Source
PNR_oldolduname* = - 10036
  Source
PNR_oldstat* = - 10037
  Source
PNR_olduname* = - 10038
  Source
PNR_prof* = - 10039
  Source
PNR_profil* = - 10040
  Source
PNR_readdir* = - 10041
  Source
PNR_security* = - 10042
  Source
PNR_sendfile64* = - 10043
  Source
PNR_setfsgid32* = - 10044
  Source
PNR_setfsuid32* = - 10045
  Source
PNR_setgid32* = - 10046
  Source
PNR_setgroups32* = - 10047
  Source
PNR_setregid32* = - 10048
  Source
PNR_setresgid32* = - 10049
  Source
PNR_setresuid32* = - 10050
  Source
PNR_setreuid32* = - 10051
  Source
PNR_setuid32* = - 10052
  Source
PNR_sgetmask* = - 10053
  Source
PNR_sigaction* = - 10054
  Source
PNR_signal* = - 10055
  Source
PNR_sigpending* = - 10056
  Source
PNR_sigprocmask* = - 10057
  Source
PNR_sigreturn* = - 10058
  Source
PNR_sigsuspend* = - 10059
  Source
PNR_socketcall* = - 10060
  Source
PNR_ssetmask* = - 10061
  Source
PNR_stat64* = - 10062
  Source
PNR_statfs64* = - 10063
  Source
PNR_stime* = - 10064
  Source
PNR_stty* = - 10065
  Source
PNR_truncate64* = - 10066
  Source
PNR_tuxcall* = - 10067
  Source
PNR_ugetrlimit* = - 10068
  Source
PNR_ulimit* = - 10069
  Source
PNR_umount* = - 10070
  Source
PNR_vm86* = - 10071
  Source
PNR_vm86old* = - 10072
  Source
PNR_waitpid* = - 10073
  Source
PNR_createModule* = - 10074
  Source
PNR_getKernelSyms* = - 10075
  Source
PNR_getThreadArea* = - 10076
  Source
PNR_nfsservctl* = - 10077
  Source
PNR_queryModule* = - 10078
  Source
PNR_setThreadArea* = - 10079
  Source
PNR_sysctl* = - 10080
  Source
PNR_uselib* = - 10081
  Source
PNR_vserver* = - 10082
  Source
PNR_armFadvise6464* = - 10083
  Source
PNR_armSyncFileRange* = - 10084
  Source
PNR_pciconfigIobase* = - 10086
  Source
PNR_pciconfigRead* = - 10087
  Source
PNR_pciconfigWrite* = - 10088
  Source
PNR_syncFileRange2* = - 10089
  Source
PNR_syscall* = - 10090
  Source
PNR_afsSyscall* = - 10091
  Source
PNR_fadvise64* = - 10092
  Source
PNR_getpmsg* = - 10093
  Source
PNR_ioperm* = - 10094
  Source
PNR_iopl* = - 10095
  Source
PNR_migratePages* = - 10097
  Source
PNR_modifyLdt* = - 10098
  Source
PNR_putpmsg* = - 10099
  Source
PNR_syncFileRange* = - 10100
  Source
PNR_select* = - 10101
  Source
PNR_vfork* = - 10102
  Source
PNR_cachectl* = - 10103
  Source
PNR_cacheflush* = - 10104
  Source
NR_cacheflush* = aRM_NR_cacheflush
  Source
PNR_sysmips* = - 10106
  Source
PNR_timerfd* = - 10107
  Source
PNR_time* = - 10108
  Source
PNR_getrandom* = - 10109
  Source
PNR_memfdCreate* = - 10110
  Source
PNR_kexecFileLoad* = - 10111
  Source
PNR_sysfs* = - 10145
  Source
PNR_oldwait4* = - 10146
  Source
PNR_access* = - 10147
  Source
PNR_alarm* = - 10148
  Source
PNR_chmod* = - 10149
  Source
PNR_chown* = - 10150
  Source
PNR_creat* = - 10151
  Source
PNR_dup2* = - 10152
  Source
PNR_epollCreate* = - 10153
  Source
PNR_epollWait* = - 10154
  Source
PNR_eventfd* = - 10155
  Source
PNR_fork* = - 10156
  Source
PNR_futimesat* = - 10157
  Source
PNR_getdents* = - 10158
  Source
PNR_getpgrp* = - 10159
  Source
PNR_inotifyInit* = - 10160
  Source
PNR_lchown* = - 10161
  Source
  Source
PNR_lstat* = - 10163
  Source
PNR_mkdir* = - 10164
  Source
PNR_mknod* = - 10165
  Source
PNR_open* = - 10166
  Source
PNR_pause* = - 10167
  Source
PNR_pipe* = - 10168
  Source
PNR_poll* = - 10169
  Source
  Source
PNR_rename* = - 10171
  Source
PNR_rmdir* = - 10172
  Source
PNR_signalfd* = - 10173
  Source
PNR_stat* = - 10174
  Source
  Source
  Source
PNR_ustat* = - 10177
  Source
PNR_utime* = - 10178
  Source
PNR_utimes* = - 10179
  Source
PNR_getrlimit* = - 10180
  Source
PNR_mmap* = - 10181
  Source
PNR_breakpoint* = - 10182
  Source
NR_breakpoint* = aRM_NR_breakpoint
  Source
PNR_setTls* = - 10183
  Source
NR_setTls* = ARM_NR_setTls
  Source
PNR_usr26* = - 10184
  Source
NR_usr26* = aRM_NR_usr26
  Source
PNR_usr32* = - 10185
  Source
NR_usr32* = aRM_NR_usr32
  Source
PNR_multiplexer* = - 10186
  Source
PNR_rtas* = - 10187
  Source
PNR_spuCreate* = - 10188
  Source
PNR_spuRun* = - 10189
  Source
PNR_subpageProt* = - 10189
  Source
PNR_swapcontext* = - 10190
  Source
PNR_sysDebugSetcontext* = - 10191
  Source
PNR_switchEndian* = - 10191
  Source
PNR_getMempolicy* = - 10192
  Source
PNR_movePages* = - 10193
  Source
PNR_mbind* = - 10194
  Source
PNR_setMempolicy* = - 10195
  Source
PNR_s390RuntimeInstr* = - 10196
  Source
PNR_s390PciMmioRead* = - 10197
  Source
PNR_s390PciMmioWrite* = - 10198
  Source
PNR_membarrier* = - 10199
  Source
PNR_userfaultfd* = - 10200
  Source

Procs

proc seccompVersion*(): ptr ScmpVersion {.cdecl, importc: "seccomp_version",
                                      dynlib: libname.}
  Source
proc seccompInit*(defAction: uint32): ScmpFilterCtx {.cdecl, importc: "seccomp_init",
    dynlib: libname.}
  Source
proc seccompReset*(ctx: ScmpFilterCtx; defAction: uint32): cint {.cdecl,
    importc: "seccomp_reset", dynlib: libname.}
  Source
proc seccompRelease*(ctx: ScmpFilterCtx) {.cdecl, importc: "seccomp_release",
                                        dynlib: libname.}
  Source
proc seccompMerge*(ctxDst: ScmpFilterCtx; ctxSrc: ScmpFilterCtx): cint {.cdecl,
    importc: "seccomp_merge", dynlib: libname.}
  Source
proc seccompArchResolveName*(archName: cstring): uint32 {.cdecl,
    importc: "seccomp_arch_resolve_name", dynlib: libname.}
  Source
proc seccompArchNative*(): uint32 {.cdecl, importc: "seccomp_arch_native",
                                 dynlib: libname.}
  Source
proc seccompArchExist*(ctx: ScmpFilterCtx; archToken: uint32): cint {.cdecl,
    importc: "seccomp_arch_exist", dynlib: libname.}
  Source
proc seccompArchAdd*(ctx: ScmpFilterCtx; archToken: uint32): cint {.cdecl,
    importc: "seccomp_arch_add", dynlib: libname.}
  Source
proc seccompArchRemove*(ctx: ScmpFilterCtx; archToken: uint32): cint {.cdecl,
    importc: "seccomp_arch_remove", dynlib: libname.}
  Source
proc seccompLoad*(ctx: ScmpFilterCtx): cint {.cdecl, importc: "seccomp_load",
    dynlib: libname.}
  Source
proc seccompAttrGet*(ctx: ScmpFilterCtx; attr: ScmpFilterAttr; value: ptr uint32): cint {.
    cdecl, importc: "seccomp_attr_get", dynlib: libname.}
  Source
proc seccompAttrSet*(ctx: ScmpFilterCtx; attr: ScmpFilterAttr; value: uint32): cint {.
    cdecl, importc: "seccomp_attr_set", dynlib: libname.}
  Source
proc seccompSyscallResolveNumArch*(archToken: uint32; num: cint): cstring {.cdecl,
    importc: "seccomp_syscall_resolve_num_arch", dynlib: libname.}
  Source
proc seccompSyscallResolveNameArch*(archToken: uint32; name: cstring): cint {.cdecl,
    importc: "seccomp_syscall_resolve_name_arch", dynlib: libname.}
  Source
proc seccompSyscallResolveNameRewrite*(archToken: uint32; name: cstring): cint {.
    cdecl, importc: "seccomp_syscall_resolve_name_rewrite", dynlib: libname.}
  Source
proc seccompSyscallResolveName*(name: cstring): cint {.cdecl,
    importc: "seccomp_syscall_resolve_name", dynlib: libname.}
  Source
proc seccompSyscallPriority*(ctx: ScmpFilterCtx; syscall: cint; priority: uint8): cint {.
    cdecl, importc: "seccomp_syscall_priority", dynlib: libname.}
  Source
proc seccompRuleAdd*(ctx: ScmpFilterCtx; action: uint32; syscall: cint; argCnt: cuint): cint {.
    varargs, cdecl, importc: "seccomp_rule_add", dynlib: libname.}
  Source
proc seccompRuleAddArray*(ctx: ScmpFilterCtx; action: uint32; syscall: cint;
                         argCnt: cuint; argArray: ptr ScmpArgCmp): cint {.cdecl,
    importc: "seccomp_rule_add_array", dynlib: libname.}
  Source
proc seccompRuleAddExact*(ctx: ScmpFilterCtx; action: uint32; syscall: cint;
                         argCnt: cuint): cint {.varargs, cdecl,
    importc: "seccomp_rule_add_exact", dynlib: libname.}
  Source
proc seccompRuleAddExactArray*(ctx: ScmpFilterCtx; action: uint32; syscall: cint;
                              argCnt: cuint; argArray: ptr ScmpArgCmp): cint {.cdecl,
    importc: "seccomp_rule_add_exact_array", dynlib: libname.}
  Source
proc seccompExportPfc*(ctx: ScmpFilterCtx; fd: cint): cint {.cdecl,
    importc: "seccomp_export_pfc", dynlib: libname.}
  Source
proc seccompExportBpf*(ctx: ScmpFilterCtx; fd: cint): cint {.cdecl,
    importc: "seccomp_export_bpf", dynlib: libname.}
  Source

Templates

template scmp_Act_Errno*(x: expr): expr
  Source
template scmp_Act_Trace*(x: expr): expr
  Source