@var{form} can access and update these dynamically bound variables:
@table @code
-@item raw-data
+@item bindat-raw
The data as a byte array.
-@item pos
-Current position of the unpacking or packing operation.
+@item bindat-idx
+Current index into bindat-raw of the unpacking or packing operation.
@item struct
Alist.
@subsection Functions to Unpack and Pack Bytes
In the following documentation, @var{spec} refers to a data layout
-specification, @code{raw-data} to a byte array, and @var{struct} to an
+specification, @code{bindat-raw} to a byte array, and @var{struct} to an
alist representing unpacked field data.
-@defun bindat-unpack spec raw-data &optional pos
+@defun bindat-unpack spec bindat-raw &optional bindat-idx
This function unpacks data from the unibyte string or byte
-array @code{raw-data}
+array @code{bindat-raw}
according to @var{spec}. Normally this starts unpacking at the
-beginning of the byte array, but if @var{pos} is non-@code{nil}, it
+beginning of the byte array, but if @var{bindat-idx} is non-@code{nil}, it
specifies a zero-based starting position to use instead.
The value is an alist or nested alist in which each element describes
according to @var{spec}.
@end defun
-@defun bindat-pack spec struct &optional raw-data pos
+@defun bindat-pack spec struct &optional bindat-raw bindat-idx
This function returns a byte array packed according to @var{spec} from
the data in the alist @var{struct}. Normally it creates and fills a
-new byte array starting at the beginning. However, if @var{raw-data}
+new byte array starting at the beginning. However, if @var{bindat-raw}
is non-@code{nil}, it specifies a pre-allocated unibyte string or vector to
-pack into. If @var{pos} is non-@code{nil}, it specifies the starting
-offset for packing into @code{raw-data}.
+pack into. If @var{bindat-idx} is non-@code{nil}, it specifies the starting
+offset for packing into @code{bindat-raw}.
-When pre-allocating, you should make sure @code{(length @var{raw-data})}
+When pre-allocating, you should make sure @code{(length @var{bindat-raw})}
meets or exceeds the total length to avoid an out-of-range error.
@end defun