Crate solana_rbpf[−][src]
Virtual machine and JIT compiler for eBPF programs.
Modules
| assembler | This module translates eBPF assembly language to binary. |
| call_frames | Call frame handler |
| disassembler | Functions in this module are used to handle eBPF programs with a higher level representation, for example to disassemble the code into a human-readable format. |
| ebpf | This module contains all the definitions related to eBPF, and some functions permitting to manipulate eBPF instructions. |
| elf | This module relocates a BPF ELF |
| error | This module contains all the definitions related to eBPF, and some functions permitting to manipulate eBPF instructions. |
| fuzz | This module defines memory regions |
| insn_builder | Module provides API to create eBPF programs by Rust programming language |
| memory_region | This module defines memory regions |
| syscalls | This module implements some built-in syscalls that can be called from within an eBPF program. |
| user_error | This module defines an example user error definition |
| verifier | This “verifier” performs simple checks when the eBPF program is loaded into the VM (before it is interpreted or JIT-compiled). It has nothing to do with the much more elaborated verifier inside Linux kernel. There is no verification regarding the program flow control (should be a Direct Acyclic Graph) or the consistency for registers usage (the verifier of the kernel assigns types to the registers and is much stricter). |
| vm | Virtual machine and JIT compiler for eBPF programs. |
Macros
| question_mark | Error handling for SyscallObject::call methods |