Skip to main content

crabgrind/
lib.rs

1#![doc = include_str!("../README.md")]
2#![warn(missing_docs)]
3#![no_std]
4
5mod bindings;
6mod requests;
7
8pub use bindings::valgrind_client_request_expr;
9pub use requests::{ScopeGuard, cachegrind, callgrind, dhat, drd, helgrind, memcheck, valgrind};
10
11/// Valgrind version this crate was compiled against.
12pub const VALGRIND_VERSION: (u32, u32) =
13    (bindings::__VALGRIND_MAJOR__, bindings::__VALGRIND_MINOR__);
14
15#[doc(hidden)]
16#[inline(always)]
17pub fn __print(t: impl AsRef<core::ffi::CStr>) {
18    unsafe { bindings::vg_print(t.as_ref().as_ptr()) };
19}
20
21#[doc(hidden)]
22#[inline(always)]
23pub fn __print_stacktrace(t: impl AsRef<core::ffi::CStr>) {
24    unsafe { bindings::vg_print_backtrace(t.as_ref().as_ptr()) };
25}