feature. See also
. The project being documented here (as the example) is the Zig library itself.
File
Code
const std = @import("../std.zig");
const valgrind = std.valgrind;
pub const ClientRequest = enum(usize) {
DumpStats = valgrind.ToolBase("CT".*),
ZeroStats,
ToggleCollect,
DumpStatsAt,
StartInstrumentation,
StopInstrumentation,
};
fn doClientRequestExpr(default: usize, request: ClientRequest, a1: usize, a2: usize, a3: usize, a4: usize, a5: usize) usize {
return valgrind.doClientRequest(default, @as(usize, @intCast(@backingInt(request))), a1, a2, a3, a4, a5);
}
fn doClientRequestStmt(request: ClientRequest, a1: usize, a2: usize, a3: usize, a4: usize, a5: usize) void {
_ = doClientRequestExpr(0, request, a1, a2, a3, a4, a5);
}
pub fn dumpStats() void {
doClientRequestStmt(.DumpStats, 0, 0, 0, 0, 0);
}
pub fn dumpStatsAt(pos_str: [*:0]const u8) void {
doClientRequestStmt(.DumpStatsAt, @intFromPtr(pos_str), 0, 0, 0, 0);
}
pub fn zeroStats() void {
doClientRequestStmt(.ZeroStats, 0, 0, 0, 0, 0);
}
pub fn toggleCollect() void {
doClientRequestStmt(.ToggleCollect, 0, 0, 0, 0, 0);
}
pub fn startInstrumentation() void {
doClientRequestStmt(.StartInstrumentation, 0, 0, 0, 0, 0);
}
pub fn stopInstrumentation() void {
doClientRequestStmt(.StopInstrumentation, 0, 0, 0, 0, 0);
}