home | help
gensio_acc_accept_s(3)	    Library Functions Manual	  gensio_acc_accept_s(3)

NAME
     gensio_acc_set_sync,  gensio_acc_accept_s,  gensio_acc_accept_s_intr - Syn-
     chronous I/O operations on a gensio accepter

SYNOPSIS
     #include <gensio/gensio.h>

     int gensio_acc_set_sync(struct gensio_accepter *acc);

     int gensio_acc_accept_s(struct gensio_accepter *acc,
			 struct gensio_time *timeout,
			 struct gensio **new_io);

     int gensio_acc_accept_s_intr(struct gensio_accepter *acc,
			 struct gensio_time *timeout,
			 struct gensio **new_io);

DESCRIPTION
     Normal gensio accepter operation  is  asynchronous  callback  based.   This
     serves  most programs fairly well, especially if they need to handle multi-
     ple accepts on the same or different accepters.

     But occasionally you need to do something synchronous with the program exe-
     cution, especially if you have a simple program that just accepts one  con-
     nection and then does something.

     gensio_acc  set_sync  sets  up the gensio accepter for synchronous accepts.
     If you do this, the event callback that is  currently  registered	will  no
     longer  receive  new connection events.  It *will* receive other callbacks.
     You must call this before starting up the gensio  accepter,  and  once  you
     call it the gensio accepter is in sync mode until you shut it down.

     gensio_accept_s  Waits  for  an incoming connection on the gensio accepter.
     This function waits for the amount of time in timeout.  timeout is  updated
     to  the amount of time left to wait.  If timeout is NULL, wait forever.  If
     no error is returned, the new incoming connection is returned in new_io.

     gensio_accept_s_intr is like gensio_accept_s, but it return immediately  if
     an  signal  interrupt occurs.  On systems without signals, this is the same
     as gensio_accept_s.

RETURN VALUES
     Zero is returned on success, or a gensio error on failure.

SEE ALSO
     gensio_err(3), gensio_set_sync(3), gensio(5)

				   27 Jan 2020		  gensio_acc_accept_s(3)

home | help