Is decnet socket at end of file ?
#include <netdnet/dn.h>
#include <netdnet/dnetdb.h>
int dnet_eof (int fd)
dnet_eof returns 0 if the socket is not at end-of-file. It will return -1 otherwise, errno will be set accordingly. errno will be set to ENOTCONN if the socket is at EOF.
dnet_eof is only supported on Linux 2.4.0 or later. On earlier kernels it will always return -1 and errno will be set to EINVAL.
Here is a primitive server example that just prints out anything sent to it from the remote side:
#include <sys/types.h> #include <netdnet/dn.h> #include <netdnet/dnetdb.h> #include <stdio.h> int main(int argc, char **argv) { int insock, readnum; char ibuf[1024]; // Wait for something to happen (or check to see if it already has) insock = dnet_daemon(0, "GROT", 0, 0); if (insock > -1) { dnet_accept(insock, 0, 0, NULL); while (!dnet_eof(insock)) { readnum=read(insock,ibuf,sizeof(ibuf)); fprintf(stderr, "%-*s\n", readnum, ibuf); } close(insock); } }