svcadm(8)을 검색하려면 섹션에서 8 을 선택하고, 맨 페이지 이름에 svcadm을 입력하고 검색을 누른다.
dax_vec_t(3dax)
dax_vec_t(3DAX) DAX Library Functions dax_vec_t(3DAX)
NAME
dax_vec_t - vector of input or output elements for DAX
DESCRIPTION
The dax_vec_t structure represents a vector of elements. Both the input
and the output vectors use the same structure.
The members of the dax_vec_t structure are:
elements The number of elements in the vector
elem_width The width of each element, for fixed-width elements.
format If (format & DAX_BITS), elem_width has units of bits,
else it has units of bytes. If a width may be represented
as either bits or bytes, you are free to use either. For
example, elem_width=2 and format=DAX_BYTES is equivalent
to elem_width=16 and format=DAX_BITS.
If (format & DAX_VAR), the vector elements are variable
width, and ignores the elem_width. If (format &
DAX_ADD_ONE), the width of the i^th element of data in
bytes is 1 plus the i^th element of aux_data. For exam‐
ple, if the i^th element of aux_data has value 0, the
width of the i^th element of data is 1 byte. If
DAX_ADD_ONE is not specified, the width of the i^th ele‐
ment of data is the i^th element of aux_data. The true
value of a width must not be 0.
If (format & DAX_RLE), the vector is run-length encoded.
Implicitly repeats each element of data multiple times
before using it as an input to a function. If (format &
DAX_ADD_ONE), the repeat count for the i^th data element
is 1 plus the i^th element of aux_data. For example, if
the i^th element of aux_data has value 2, repeats the
i^th element of data 3 times. If DAX_ADD_ONE is not spec‐
ified, the repeat count for the i^th element of data is
the i^th element of aux_data. The true value of a repeat
count must not be 0.
If (format & DAX_ZIP), the vector data is zipped, and may
be unzipped by using the codec. The element width and
number of elements are the width and number in the origi‐
nal unzipped vector. The length in bytes of the zipped
data is implicit. aux_data is not zipped.
All other bits in format must be 0.
To improve readbility, you can use the DAX_BYTES and the
DAX_FIXED constants to initialize the format field.
Because the constants have the value as 0, the initial‐
ization is cosmetic. For example, src->format = DAX_FIXED
| DAX_BYTES;
data Pointer to a block of memory containing all the elements.
Elements are bit-packed in contiguous memory locations
with no padding or terminator between each element.
If the data is not zipped, the size of the block in bits
must be at least:
elements * elem_width_bits + offset
where:
elem_width_bits = (format & DAX_BITS) ?
elem_width : (8 * elem_width);
If the data is zipped, the length of the block is the
length of the compressed data.
offset The bit in the first data byte where the first data ele‐
ment starts, from 0 (MSB) to 7 (LSB).
If the format is zipped, offset is the bit where the
first code word starts.
If the format is not zipped, and the element width is
greater than 8 bytes, then the offset must be 0.
If the format is zipped, offset is the bit where the com‐
pressed data starts; it does not apply to the unzipped
data stream.
aux_data Pointer to an array of runs or widths. Elements are bit-
packed in contiguous memory locations with no padding or
terminator between each element.
aux_offset The bit in the first data byte where the first aux_data
element starts, from 0 (MSB) to 7 (LSB).
aux_width The width of each element in aux_data, in units of bits.
The width can be 1, 2, 4, or 8 bits. If (format &
DAX_VAR) and aux_width = 8, the upper 4 bits of each ele‐
ment in aux_data must be 0.
codec Decoder for zipped data.
codewords Number of code words in zipped data.
An element can start and end on any bit within a byte, and span byte
boundaries. Each element is big endian. The position of each element
runs from 0 to elements - 1, inclusive. Position increases from left to
right, ie from MSB to LSB within a byte, and from low address to high
address across bytes. The phrase i^th element refers to the element in
position i.
A bit vector is a special case of dax_vec_t in which elem_width is 1
bit and format is DAX_BITS.
When you use a dax_vec_t for the output of a DAX operation, the size of
data in bytes must be at least the expected size of the output in bytes
rounded up to the next 64 byte boundary, plus 64 bytes. If elements
represents the number of output elements, the computation of the
required size in bytes is as follows:
dst_pad = 64;
n = dst_pad * 8;
size = ((elements * elem_width_bits + n - 1) / n * n) / 8;
You can compute the size by using the DAX_OUTPUT_SIZE(ele‐
ments,elem_width_bits) macro.
Only the variable-length and run-length encoded formats use the
aux_data, aux_offset, and aux_width fields. Ignores these fields in all
other formats.
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)
Oracle Solaris 11.4 03 Mar 2017 dax_vec_t(3DAX)