| home
topology files
command‑line options
the core API
FAQ
download and install
|
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
|