#include <stdio.h>
#include <string.h>
#include <time.h>
#include <netfd.h>

#define	DEF_ADDR	"192.168.1.23"
#define	DEF_PORT	"31415"
#define	DEF_BACKLOG	(2)

static void	daytime(NetFD nfd);

static void
daytime(nfd)
	NetFD	nfd;
{
  time_t	ticks = time(NULL);
  char		buf[256];

  memset(buf, 0, sizeof(buf));
  snprintf(buf, sizeof(buf), "%.24s\r\n", ctime(&ticks));
  netfd_write(nfd, buf, strlen(buf), NETFD_NO_TIMEOUT);
  netfd_close(nfd);
}

int
main(argc, argv)
	int	argc;
	char *	argv[];
{
  if (netfd_init(0) == 0) {
    NetFD	nsd;

    nsd = netfd_tcp_server(DEF_ADDR, DEF_PORT, DEF_BACKLOG);
    if (nsd != NULL) {
      netfd_read_event_add(nsd);
      netfd_dispatch(daytime, true, -1);
      netfd_close(nsd);
    }
  }

  return 0;
}
