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)
|