Get a byte array from a slice of a primitive item associated with the specified
identifier NBS_GET_VALUE
Check that the ID is not NIL and that it pertains to a primitive item. |
Check that the offset into the data is not negative. |
Repeat |
{ |
Read the modified count for this item. |
Copy as many bytes as there is room for in the user’ s buffer from the noticeboard starting |
at the specified offset and return the actual number of bytes in the item. |
Read the modified count for this item once more. |
} |
Until time out or the two modified counts are equal and even |
(which means that the values were not updated whilst they were being read). |
If CHECK_MODIFY is FALSE, the item’
s modified count is not checked at all and a timeout cannot
occur.
If the specified offset is greater than the current size of the item’
s data, no error status will be returned
and no data will be copied, but the returned number of bytes (ACTBYTES) will be less than the offset
(OFFSET) and this case should always be checked for.
’
s buffer. ’
s buffer into which bytes will be got. ’
s buffer.
NBS__NILID | NIL ID |
NBS__NOTPRIMITIVE | Item is not primitive |
NBS__BADOFFSET | Negative offset specified |
NBS__TIMEOUT | Timeout awaiting valid data |