[Main]
Name=LIO_RecvData
Type=Function
Subtype=ROM Call
Header Files=link.h
Definition=unsigned short LIO_RecvData (void *dest, unsigned long size, unsigned long WaitDelay);

[ROM Call]
Index=$5B

[Description]
Receives data from the link interface.

[Explanation]
LIO_RecvData reads <I>size</I> bytes through the link interface, and stores received bytes
at the address <I>dest</I>. This functions calls repeatedly <A HREF="$$LINK(OSReadLinkBlock)">OSReadLinkBlock</A> function
as many times as necessary to receive wanted amount of data. Parameter <I>WaitDelay</I> is
the maximal allowed waiting time: if no data is received during <I>WaitDelay</I> timer ticks
(one timer tick is 1/20 seconds by default), the reading fails. When <I>WaitDelay</I> is set
to zero, this means "waiting forever". Anyway, this operation may be interrupted by pressing ON
key. LIO_RecvData returns zero if the operation was successful, else returns a non-zero value
(this value describes the type of the error, but I am not sure about the concrete meaning of
particular values).
<BR><BR><B>Note:</B> This functions registers <A HREF="$$LINK(system.h/Timers)">LIO_TIMER</A> for measuring
the time. See <A HREF="$$LINK(system.h/OSRegisterTimer)">OSRegisterTimer</A> for more info.

[References]
In=LIO_Get, LIO_Receive, LIO_Send, LIO_SendProduct, OSCheckSilentLink, OSLinkCmd, events.h/handleVarLinkKey, unknown.h/LIO_SendIdList
Out=OSReadLinkBlock, OSLinkReset, system.h/off, system.h/OSClearBreak, system.h/OSFreeTimer, system.h/OSRegisterTimer, system.h/OSTimerExpired, system.h/OSTimerRestart, unknown.h/_ROM_CALL_46E
