IXP_LISTEN(3)

NAME

ixp_listen, IxpConn

SYNOPSIS
  #include <ixp.h>

  IxpConn *ixp_listen(IxpServer *srv, int fd, void *aux, void (*read)(IxpConn *), void (*close)(IxpConn *));

  typedef struct IxpConn IxpConn;
  struct IxpConn {
          IxpServer*      srv;
          void*           aux;    /* Arbitrary pointer, to be used by handlers. */
          int             fd;     /* The file descriptor of the connection. */
          void            (*read)(IxpConn *);
          void            (*close)(IxpConn *);
          char            closed; /* Non-zero when IfdR has been closed. */

          /* Private members */
          ...
  }

PARAMETERS

fs  The file descriptor on which to listen.

aux A piece of data to store in the connection's IauxR member of the IxpConn data structure.

read
    The function called when the connection has data available to read.

close
    A cleanup function called when the connection is closed.

DESCRIPTION

Starts the server IsrvR listening on IfdR. The optional IreadR and IcloseR callbacks are called with the IxpConn structure for the connection as their sole argument.

RETURN VALUE

Returns the connection's new IxpConn data structure.

SEE ALSO

ixp_serverloop(3), ixp_serve9conn(3), ixp_hangup(3)