Bundle libseccomp 2.3.1
[linux-seccomp.git] / libseccomp / src / python / libseccomp.pxd
diff --git a/libseccomp/src/python/libseccomp.pxd b/libseccomp/src/python/libseccomp.pxd
new file mode 100644 (file)
index 0000000..15c94f8
--- /dev/null
@@ -0,0 +1,127 @@
+#
+# Seccomp Library Python Bindings
+#
+# Copyright (c) 2012,2013 Red Hat <pmoore@redhat.com>
+# Author: Paul Moore <paul@paul-moore.com>
+#
+
+#
+# This library is free software; you can redistribute it and/or modify it
+# under the terms of version 2.1 of the GNU Lesser General Public License as
+# published by the Free Software Foundation.
+#
+# This library is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public License
+# for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with this library; if not, see <http://www.gnu.org/licenses>.
+#
+
+from libc.stdint cimport uint8_t, uint32_t, uint64_t
+
+cdef extern from "seccomp.h":
+
+    cdef struct scmp_version:
+        unsigned int major
+        unsigned int minor
+        unsigned int micro
+
+    ctypedef void* scmp_filter_ctx
+
+    cdef enum:
+        SCMP_ARCH_NATIVE
+        SCMP_ARCH_X86
+        SCMP_ARCH_X86_64
+        SCMP_ARCH_X32
+        SCMP_ARCH_ARM
+        SCMP_ARCH_AARCH64
+        SCMP_ARCH_MIPS
+        SCMP_ARCH_MIPS64
+        SCMP_ARCH_MIPS64N32
+        SCMP_ARCH_MIPSEL
+        SCMP_ARCH_MIPSEL64
+        SCMP_ARCH_MIPSEL64N32
+        SCMP_ARCH_PPC
+        SCMP_ARCH_PPC64
+        SCMP_ARCH_PPC64LE
+        SCMP_ARCH_S390
+        SCMP_ARCH_S390X
+
+    cdef enum scmp_filter_attr:
+        SCMP_FLTATR_ACT_DEFAULT
+        SCMP_FLTATR_ACT_BADARCH
+        SCMP_FLTATR_CTL_NNP
+        SCMP_FLTATR_CTL_TSYNC
+
+    cdef enum scmp_compare:
+        SCMP_CMP_NE
+        SCMP_CMP_LT
+        SCMP_CMP_LE
+        SCMP_CMP_EQ
+        SCMP_CMP_GE
+        SCMP_CMP_GT
+        SCMP_CMP_MASKED_EQ
+
+    cdef enum:
+        SCMP_ACT_KILL
+        SCMP_ACT_TRAP
+        SCMP_ACT_ALLOW
+    unsigned int SCMP_ACT_ERRNO(int errno)
+    unsigned int SCMP_ACT_TRACE(int value)
+
+    ctypedef uint64_t scmp_datum_t
+
+    cdef struct scmp_arg_cmp:
+        unsigned int arg
+        scmp_compare op
+        scmp_datum_t datum_a
+        scmp_datum_t datum_b
+
+    scmp_version *seccomp_version()
+
+    scmp_filter_ctx seccomp_init(uint32_t def_action)
+    int seccomp_reset(scmp_filter_ctx ctx, uint32_t def_action)
+    void seccomp_release(scmp_filter_ctx ctx)
+
+    int seccomp_merge(scmp_filter_ctx ctx_dst, scmp_filter_ctx ctx_src)
+
+    uint32_t seccomp_arch_resolve_name(char *arch_name)
+    uint32_t seccomp_arch_native()
+    int seccomp_arch_exist(scmp_filter_ctx ctx, int arch_token)
+    int seccomp_arch_add(scmp_filter_ctx ctx, int arch_token)
+    int seccomp_arch_remove(scmp_filter_ctx ctx, int arch_token)
+
+    int seccomp_load(scmp_filter_ctx ctx)
+
+    int seccomp_attr_get(scmp_filter_ctx ctx,
+                         scmp_filter_attr attr, uint32_t* value)
+    int seccomp_attr_set(scmp_filter_ctx ctx,
+                         scmp_filter_attr attr, uint32_t value)
+
+    char *seccomp_syscall_resolve_num_arch(int arch_token, int num)
+    int seccomp_syscall_resolve_name_arch(int arch_token, char *name)
+    int seccomp_syscall_resolve_name_rewrite(int arch_token, char *name)
+    int seccomp_syscall_resolve_name(char *name)
+    int seccomp_syscall_priority(scmp_filter_ctx ctx,
+                                 int syscall, uint8_t priority)
+
+    int seccomp_rule_add(scmp_filter_ctx ctx, uint32_t action,
+                         int syscall, unsigned int arg_cnt, ...)
+    int seccomp_rule_add_array(scmp_filter_ctx ctx,
+                               uint32_t action, int syscall,
+                               unsigned int arg_cnt,
+                               scmp_arg_cmp *arg_array)
+    int seccomp_rule_add_exact(scmp_filter_ctx ctx, uint32_t action,
+                               int syscall, unsigned int arg_cnt, ...)
+    int seccomp_rule_add_exact_array(scmp_filter_ctx ctx,
+                                     uint32_t action, int syscall,
+                                     unsigned int arg_cnt,
+                                     scmp_arg_cmp *arg_array)
+
+    int seccomp_export_pfc(scmp_filter_ctx ctx, int fd)
+    int seccomp_export_bpf(scmp_filter_ctx ctx, int fd)
+
+# kate: syntax python;
+# kate: indent-mode python; space-indent on; indent-width 4; mixedindent off;
This page took 0.010853 seconds and 4 git commands to generate.