rbpf 0.4.1

Virtual machine and JIT compiler for eBPF programs
Documentation
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2024"
name = "rbpf"
version = "0.4.1"
authors = ["Quentin Monnet <qmo@qmon.net>"]
build = false
include = [
    "src/**",
    "examples/**",
    "tests/**",
    "bench/**",
    "LICENSE*",
    "Cargo.toml",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Virtual machine and JIT compiler for eBPF programs"
readme = "README.md"
keywords = [
    "BPF",
    "eBPF",
    "interpreter",
    "JIT",
    "filtering",
]
license = "Apache-2.0/MIT"
repository = "https://github.com/qmonnet/rbpf"

[features]
cranelift = [
    "dep:cranelift-codegen",
    "dep:cranelift-frontend",
    "dep:cranelift-jit",
    "dep:cranelift-native",
    "dep:cranelift-module",
]
default = ["std"]
std = [
    "dep:libc",
    "combine/std",
]

[lib]
name = "rbpf"
path = "src/lib.rs"

[[example]]
name = "allowed_memory"
path = "examples/allowed_memory.rs"

[[example]]
name = "date"
path = "examples/date.rs"
required-features = ["std"]

[[example]]
name = "disassemble"
path = "examples/disassemble.rs"
required-features = ["std"]

[[example]]
name = "load_elf"
path = "examples/load_elf.rs"
required-features = ["std"]

[[example]]
name = "rbpf_plugin"
path = "examples/rbpf_plugin.rs"

[[example]]
name = "to_json"
path = "examples/to_json.rs"

[[test]]
name = "assembler"
path = "tests/assembler.rs"

[[test]]
name = "common"
path = "tests/common.rs"

[[test]]
name = "cranelift"
path = "tests/cranelift.rs"

[[test]]
name = "disassembler"
path = "tests/disassembler.rs"

[[test]]
name = "misc"
path = "tests/misc.rs"

[[test]]
name = "ubpf_jit_x86_64"
path = "tests/ubpf_jit_x86_64.rs"

[[test]]
name = "ubpf_verifier"
path = "tests/ubpf_verifier.rs"

[[test]]
name = "ubpf_vm"
path = "tests/ubpf_vm.rs"

[dependencies.byteorder]
version = "1.5"
default-features = false

[dependencies.combine]
version = "4.6"
default-features = false

[dependencies.cranelift-codegen]
version = "0.127"
optional = true

[dependencies.cranelift-frontend]
version = "0.127"
optional = true

[dependencies.cranelift-jit]
version = "0.127"
optional = true

[dependencies.cranelift-module]
version = "0.127"
optional = true

[dependencies.cranelift-native]
version = "0.127"
optional = true

[dependencies.hashbrown]
version = "0.16"
features = ["default-hasher"]
default-features = false

[dependencies.libc]
version = "0.2"
optional = true

[dependencies.log]
version = "0.4"
default-features = false

[dev-dependencies.elf]
version = "0.8.0"

[dev-dependencies.hex]
version = "0.4.3"

[dev-dependencies.json]
version = "0.12"

[dev-dependencies.libc]
version = "0.2"