X-Git-Url: http://git.ieval.ro/?p=linux-seccomp.git;a=blobdiff_plain;f=libseccomp%2Fsrc%2Fgen_bpf.h;fp=libseccomp%2Fsrc%2Fgen_bpf.h;h=14484e73dfbed98dac8fd820621b17c0e9890b96;hp=0000000000000000000000000000000000000000;hb=8befd5cc4d2b478c697d81a5ac191083c203d081;hpb=bcf524c10c0ad85fcef711acffc3251bb8472352 diff --git a/libseccomp/src/gen_bpf.h b/libseccomp/src/gen_bpf.h new file mode 100644 index 0000000..14484e7 --- /dev/null +++ b/libseccomp/src/gen_bpf.h @@ -0,0 +1,42 @@ +/** + * Seccomp BPF Translator + * + * Copyright (c) 2012 Red Hat + * Author: Paul Moore + */ + +/* + * 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 . + */ + +#ifndef _TRANSLATOR_BPF_H +#define _TRANSLATOR_BPF_H + +#include + +#include "arch.h" +#include "db.h" +#include "system.h" + +/* NOTE - do not change this structure, it is part of the prctl() API */ +struct bpf_program { + uint16_t blk_cnt; + bpf_instr_raw *blks; +}; +#define BPF_PGM_SIZE(x) \ + ((x)->blk_cnt * sizeof(*((x)->blks))) + +struct bpf_program *gen_bpf_generate(const struct db_filter_col *col); +void gen_bpf_release(struct bpf_program *program); + +#endif