svcadm(8)을 검색하려면 섹션에서 8 을 선택하고, 맨 페이지 이름에 svcadm을 입력하고 검색을 누른다.
dax_extract(3dax)
dax_extract(3DAX) DAX Library Functions dax_extract(3DAX)
NAME
dax_extract - extract each element to a padded-bytes element
SYNOPSIS
cc [ flag... ] file... -ldax [ library...]
#include <dax.h>
dax_result_t
dax_extract(dax_context_t *ctx, uint64_t flags,
dax_vec_t *src, dax_vec_t *dst);
DESCRIPTION
This function copies the elements of src to the corresponding elements
of dst, converting each element if the width of the element differs. It
copies the i^th element of src to the i^th element of dst.
If src is zipped, translates each code word of src using the src->codec
and produces a 1 to 8 byte symbol and appends the symbol to an interme‐
diate unzip stream. It then partitions the unzip stream into elements
at src element width boundaries. Repeats each such element if src is
run-length encoded and writes to dst. In a variable width src, the i^th
element of the src->aux_data field gives the width of the i^th unzipped
element. In a run-length encoded src, the i^th element of the
src->aux_data field gives the repeat count of the i^th unzipped element
as described in the dax_vec_t(3DAX) man page. The aux_data field is not
in zipped form.
The parameters of this function must meet the following conditions:
o The width of elements in src can be any of the following:
o 1 to 16 bits or 1 to 16 bytes in libdax version 1
o 1 to 24 bits or 1 to 16 bytes in libdax version 2
o The src can be fixed-width, variable-width, or run-length
encoded.
o The dst->offset field must be set to 0.
o The dst element width may be any of 1, 2, 4, 8, or 16 bytes.
o The number of dst elements must be at least the number of
src elements.
o dst->data must start on a 64 byte boundary. Users must round
up the size of the dst->data as described in the
dax_vec_t(3DAX) man page.
The following address ranges must not overlap:
o Address range of the src->data vector and the dst->data vec‐
tor.
o Address range of the src->aux_data vector and the dst->data
vector.
The libdax library checks the overlap in the address ranges only if the
DAX_DEBUG_EXTRA debug option is set. If violation of the conditions
occur and are not checked, you will get undefined results.
If the width of the element in src is not a multiple of bytes, this
function pads the element with 0's on the left to a byte-size boundary.
If the width of the possibly padded src element is larger than the
width of the dst element, this function truncates the element by drop‐
ping bytes on the right.
If the width of the possibly padded src element is smaller than the
width of the dst element, this function pads the element with 0's on
the left or right as specified by flags.
Supported Flags
DAX_PAD_RIGHT When additional padding is required as described
above, pads the element with 0's on the right. Without
this flag, pads the element with 0's to the left.
DAX_CACHE_DST Writes results to cache. If not specified, invalidates
the address range for dst in the cache, and writes the
result to the main memory. For more information, see
the dax_scan_value(3DAX) man page.
DAX_NOWAIT If the DAX command queue is full, returns without sub‐
mitting the command, instead of waiting to submit.
RETURN VALUES
Returns 0 in the dax_result_t count field and sets the dax_result_t
status field to one of the following values:
DAX_SUCCESS Operation completed successfully
DAX_EINVAL Invalid argument, detected by libdax
DAX_EPARSE Invalid argument, detected by DAX
DAX_EDATAFMT The true value of an aux_data element is 0, or the
width of a zip symbol is less than 1 or greater than
8, detected by DAX.
DAX_EOVERFLOW Output buffer overflow
DAX_EADI ADI mismatch error for an input or output buffer
DAX_ETHREAD The calling thread did not create ctx
DAX_EBUSY DAX is busy and nowait was requested
DAX_EINTERNAL Unknown internal error. Caller must stop using ctx.
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
libdax(3LIB), dax_vec_t(3DAX), dax_adi(3DAX), dax_dtrace(3DAX),
dax_scan_value(3DAX), dax_zip(3DAX)
Oracle Solaris 11.4 03 Mar 2017 dax_extract(3DAX)