svcadm(8)을 검색하려면 섹션에서 8 을 선택하고, 맨 페이지 이름에 svcadm을 입력하고 검색을 누른다.
dax_zip_create(3dax)
dax_zip_create(3DAX) DAX Library Functions dax_zip_create(3DAX)
NAME
dax_zip_create - create a codec from symbols
SYNOPSIS
cc [ flag... ] file... -ldax [ library...]
#include <dax.h>
dax_status_t
dax_zip_create(dax_context_t *ctx, uint16_t nsyms, uint8_t widths[],
void *syms, dax_zip_t **codec);
DESCRIPTION
This function creates a zip encoder/decoder for use in libdax functions
that zip and unzip data and returns it in codec. The number of symbols
in the codec is nsyms, which may be any value from 1 to 1024 symbols.
The code word width is the same for all symbols, and has
ceil(log2(nsyms)) bits.
Each code word from 0 to 1023 represents a symbol with a width ranging
from 1 to 8 bytes. The symbol for code word i is hereafter referred to
as symbol i. It reads the bytes of all symbols from syms, starting with
the bytes of symbol 0 from its leftmost to rightmost bytes, followed by
the bytes of symbol 1, and so on, with no padding or termination in
between.
widths is a vector of 4-bit values with 2 values packed per byte. Its
element number increases from high to low nibble within each byte, and
from low to high address across bytes. The i^th element of widths gives
the width in bytes of symbol i. The size of widths is ceil(nsyms/2)
bytes. If nsyms is odd, the last nibble must be 0.
The widths have the following constraints:
o Each width must be a value from 1 to 8 bytes.
o In libdax version 1, for i from 0 to 255, width(i) +
width(i+256) + width(i+512) + width(i+768) <= 14. If an
index exceeds nsyms - 1, the corresponding term is 0.
o In libdax version 2, 2 + (nsyms + 1) / 2 + sum(syms widths)
<= 8192
The libdax library only checks these conditions if the DAX_DEBUG_EXTRA
debug option is set. If violation of the conditions occur and are not
checked, you will get undefined results.
On return, the caller can change or free the data in widths and syms
without affecting the returned codec.
RETURN VALUES
DAX_SUCCESS Operation completed successfully
DAX_EINVAL Invalid argument
DAX_ENOMEM Memory resources are unavailable
DAX_ETHREAD The calling thread did not create ctx
USAGE
This function is useful for applications that need to derive their own
encoding schemes, with different space and time requirements and com‐
pression ratios than those provided by the dax_encode() function.
ATTRIBUTES
See attributes(7) for descriptions of the following attributes:
tab() box; cw(2.75i) |cw(2.75i) lw(2.75i) |lw(2.75i) ATTRIBUTE TYPEAT‐
TRIBUTE VALUE _ Availabilitysystem/library _ Interface StabilityCommit‐
ted
SEE ALSO
dax_zip_free(3DAX), dax_zip_create_contig(3DAX), dax_zip(3DAX),
dax_encode(3DAX), libdax(3LIB)
Oracle Solaris 11.4 17 Aug 2017 dax_zip_create(3DAX)