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 fd 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 aux 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 srv listening on fd. The optional read and close 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)