Communicator e3000 MPE/iX Release 6.5 (Non-Platform Software Release C.65.00 (30216-90291)
Chapter 3 49
Growth Solution
MPE/iX Large Files Overview
are encountered,
status
returns 32 bits of zero. If errors or warnings are
encountered,
status
is interpreted as two 16-bit fields. Bits (0:16)
comprise status.info. A negative value indicates an error condition,
and a positive value indicates a warning condition. Bits (16:16) comprise
status.subsys. The value represents the subsystem that set the status
information.
NOTE
No attempt is made to verify that the pointer value returned is a legitimate
pointer to a valid object. Any invalid pointers are detected and generate
errors when the pointers are dereferenced.
HPFMOVEDATA
NM callable only.
This routine can be used to efficiently move data from a source buffer to a target buffer.
Syntax
I64 @64 @64 I32
HPFMOVEDATA ( count, source_ptr, target_ptr, status )
Parameters
count
64-bit signed integer by reference (required)
The
count
parameter allows the caller to specify the number of bytes to
move from the source buffer to the target buffer.
source_ptr
64-bit pointer by value (required)
The
source_ptr
can be a 64-bit pointer to any valid object that the
calling process has access to. The buffer may be in the caller’s stack, heap,
or obtained by opening a file with user-mapped access.
target_ptr
64-bit pointer by value (required)
The
target_ptr
can be a 64-bit pointer to any valid object that the
calling process has access to. The buffer may be in the caller’s stack, heap,
or obtained by opening a file with user-mapped access.
status
32-bit signed integer by reference (optional)
Returns the status of the HPFMOVEDATA call. If no errors or warnings are
encountered,
status
returns 32 bits of zero. If errors or warnings are
encountered,
status
is interpreted as two 16-bit fields. Bits (0:16)
comprise status.info. A negative value indicates an error condition,
and a positive value indicates a warning condition. Bits (16:16) comprise
status.subsys. The value represents the subsystem that set the status
information.
NOTE
When calling the HPFMOVEDATA intrinsic, it is important to ensure that the
source and target buffers are not overlapping. The results of a HPFMOVEDATA
call when source and target buffers are overlapping are undefined. If source
and target buffers are overlapping, the HPFMOVEDATALTOR or
HPFMOVEDATARTOL intrinsics should be used.