Functions
fn checkMemIsAddressable(qzz: []u8) usize
Check that memory at qzz.ptr is addressable for qzz.len bytes. If suitable addr…
Check that memory at qzz.ptr is addressable for qzz.len bytes. If suitable addressability is not established, Valgrind prints an error message and returns the address of the first offending byte. Otherwise it returns zero.
fn checkMemIsDefined(qzz: []u8) usize
Check that memory at qzz.ptr is addressable and defined for qzz.len bytes. If …
Check that memory at qzz.ptr is addressable and defined for qzz.len bytes. If suitable addressability and definedness are not established, Valgrind prints an error message and returns the address of the first offending byte. Otherwise it returns zero.
fn createBlock(qzz: []u8, desc: [*]u8) usize
Create a block-description handle. The description is an ascii string which is…
Create a block-description handle. The description is an ascii string which is included in any messages pertaining to addresses within the specified memory range. Has no other effect on the properties of the memory range.
fn disableAddrErrorReportingInRange(qzz: []u8) usize
Disable and re-enable reporting of addressing errors in the specified address r…
Disable and re-enable reporting of addressing errors in the specified address range.
fn discard(blkindex: usize) bool
Discard a block-description-handle. Returns 1 for an invalid handle, 0 for a va…
Discard a block-description-handle. Returns 1 for an invalid handle, 0 for a valid handle.
fn doAddedLeakCheck() void
Same as doLeakCheck() but only showing the entries for which there was an incre…
Same as doLeakCheck() but only showing the entries for which there was an increase in leaked bytes or leaked nr of blocks since the previous leak search.
fn doChangedLeakCheck() void
Same as doAddedLeakCheck() but showing entries with increased or decreased leak…
Same as doAddedLeakCheck() but showing entries with increased or decreased leaked bytes/blocks since previous leak search.
fn getVbits(zza: []u8, zzvbits: []u8) u2
Get the validity data for addresses zza and copy it into the provided zzvbits a…
Get the validity data for addresses zza and copy it into the provided zzvbits array. Return values: 0 if not running on valgrind 1 success 2 [previously indicated unaligned arrays; these are now allowed] 3 if any parts of zzsrc/zzvbits are not addressable. The metadata is not copied in cases 0, 2 or 3 so it should be impossible to segfault your system by using this call.
fn makeMemDefined(qzz: []u8) i1
Similarly, mark memory at qzz.ptr as addressable and defined for qzz.len bytes.
fn makeMemDefinedIfAddressable(qzz: []u8) i1
Similar to makeMemDefined except that addressability is not altered: bytes whic…
Similar to makeMemDefined except that addressability is not altered: bytes which are addressable are marked as defined, but those which are not addressable are left unchanged. This returns -1 when run on Valgrind and 0 otherwise.
fn makeMemNoAccess(qzz: []u8) i1
Mark memory at qzz.ptr as unaddressable for qzz.len bytes. This returns -1 when…
Mark memory at qzz.ptr as unaddressable for qzz.len bytes. This returns -1 when run on Valgrind and 0 otherwise.
fn makeMemUndefined(qzz: []u8) i1
Similarly, mark memory at qzz.ptr as addressable but undefined for qzz.len byte…
Similarly, mark memory at qzz.ptr as addressable but undefined for qzz.len bytes. This returns -1 when run on Valgrind and 0 otherwise.
fn setVbits(zzvbits: []u8, zza: []u8) u2
Set the validity data for addresses zza, copying it from the provided zzvbits a…
Set the validity data for addresses zza, copying it from the provided zzvbits array. Return values: 0 if not running on valgrind 1 success 2 [previously indicated unaligned arrays; these are now allowed] 3 if any parts of zza/zzvbits are not addressable. The metadata is not copied in cases 0, 2 or 3 so it should be impossible to segfault your system by using this call.