cnet's Application Programming Interface
- NAME
- CNET_read_physical - read a data frame from the Physical Layer
- SYNOPSIS
- #include <cnet.h>
int CNET_read_physical(int *link, void *frame, size_t *length);
- DESCRIPTION
-
CNET_read_physical requests that a data frame be read from the
Physical Layer.
The specified maximum number of bytes from the Physical Layer
are copied to the address pointed to by frame.
On invocation, length must point to an integer indicating the
maximum number of bytes that may be copied into frame.
Each node has a fixed number of links,
the first available physical link is number 1,
the second is number 2, and so on.
As a special case,
a node may reliably transmit a frame to itself by requesting
the LOOPBACK(=0) link.
On return, the integer pointed to by length will contain the number
of bytes read from the Physical Layer.
If link is not NULL,
then the integer pointed to by link will contain the link number
on which the frame arrived.
- RETURN VALUE
-
The value 0 is returned on success.
On failure, the value -1 is returned,
and the global variable cnet_errno is set to one of the
following values to describe the error:
- ER_BADARG
- Either frame or length
is a NULL pointer.
- ER_BADSIZE
- The value of length is shorter than next available data frame.
- ER_CORRUPTFRAME
- The recently arrived data frame was corrupted in the Physical Layer
and the -e
command-line option was given.
- ER_NOTREADY
- The current node has not yet finished rebooting.
- SEE ALSO
-
CNET_write_physical,
CNET_write_physical_reliable, and
CNET_write_direct
|
cnet v3.3.4, written by Chris.McDonald@uwa.edu.au
Last modified: Tue Mar 1 7:43AM 2016