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.