---
name: "ixp_listen"
section: "3"
platform: "linux"
package: "libixp-dev"
version: "0.6~20121202+hg148-5"
release: "Debian 11 (Bullseye)"
platforms: ["linux"]
url: "https://new.carta.tech/ixp_listen"
---

# 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_serverloop/3.md), [ixp\_serve9conn(3)](/ixp_serve9conn/3.md), [ixp\_hangup(3)](/ixp_hangup/3.md)
