57 lines
1 KiB
Plaintext
57 lines
1 KiB
Plaintext
.TH VENTI-ZERO 2
|
|
.SH NAME
|
|
vtzerotruncate, vtzeroextend, vtzeroscore \- Venti block truncation
|
|
.SH SYNOPSIS
|
|
.ft L
|
|
#include <u.h>
|
|
.br
|
|
#include <libc.h>
|
|
.br
|
|
#include <venti.h>
|
|
.ta +\w'\fLuint 'u
|
|
.PP
|
|
.B
|
|
uint vtzerotruncate(int type, uchar *buf, uint size)
|
|
.PP
|
|
.B
|
|
void vtzeroextend(int type, uchar *buf, uint size, uint newsize)
|
|
.PP
|
|
.B
|
|
extern uchar vtzeroscore[VtScoreSize];
|
|
.SH DESCRIPTION
|
|
These utility functions compute how to truncate or replace
|
|
trailing zeros (for data blocks) or trailing zero scores
|
|
(for pointer blocks) to canonicalize the blocks before
|
|
storing them to Venti.
|
|
.PP
|
|
.I Vtzerotruncate
|
|
returns the size of the
|
|
.IR size -byte
|
|
buffer pointed to by
|
|
.I buf
|
|
ignoring trailing zeros or zero scores,
|
|
according to the given
|
|
.IR type .
|
|
.PP
|
|
.I Vtzeroextend
|
|
pads
|
|
.I buf
|
|
with zeros or zero scores,
|
|
according to the given
|
|
.IR type ,
|
|
to grow it from
|
|
.I size
|
|
bytes to
|
|
.I newsize
|
|
bytes.
|
|
.PP
|
|
.I Vtzeroscore
|
|
is the score of the zero-length block.
|
|
.SH SOURCE
|
|
.B /sys/src/libventi/zero.c
|
|
.br
|
|
.B /sys/src/libventi/zeroscore.c
|
|
.SH SEE ALSO
|
|
.IR venti (2),
|
|
.IR venti (6)
|