SYNOPSIS

#include <netdnet/dn.h>

#include <netdnet/dnetdb.h>

int dnet_eof (int fd)

DESCRIPTION

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.

EXAMPLE

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);
    }


}

RELATED TO dnet_eof…