27#ifndef EVENT2_LISTENER_H_INCLUDED_ 
   28#define EVENT2_LISTENER_H_INCLUDED_ 
   30#include <event2/visibility.h> 
   50typedef void (*evconnlistener_cb)(
struct evconnlistener *, 
evutil_socket_t, 
struct sockaddr *, 
int socklen, 
void *);
 
   58typedef void (*evconnlistener_errorcb)(
struct evconnlistener *, 
void *);
 
   62#define LEV_OPT_LEAVE_SOCKETS_BLOCKING  (1u<<0) 
   65#define LEV_OPT_CLOSE_ON_FREE       (1u<<1) 
   67#define LEV_OPT_CLOSE_ON_EXEC       (1u<<2) 
   70#define LEV_OPT_REUSEABLE       (1u<<3) 
   73#define LEV_OPT_THREADSAFE      (1u<<4) 
   76#define LEV_OPT_DISABLED        (1u<<5) 
   90#define LEV_OPT_DEFERRED_ACCEPT     (1u<<6) 
   99#define LEV_OPT_REUSEABLE_PORT      (1u<<7) 
  111#define LEV_OPT_BIND_IPV6ONLY       (1u<<8) 
  131struct evconnlistener *evconnlistener_new(
struct event_base *base,
 
  132    evconnlistener_cb cb, 
void *ptr, 
unsigned flags, 
int backlog,
 
  150struct evconnlistener *evconnlistener_new_bind(
struct event_base *base,
 
  151    evconnlistener_cb cb, 
void *ptr, 
unsigned flags, 
int backlog,
 
  152    const struct sockaddr *sa, 
int socklen);
 
  157void evconnlistener_free(
struct evconnlistener *lev);
 
  162int evconnlistener_enable(
struct evconnlistener *lev);
 
  167int evconnlistener_disable(
struct evconnlistener *lev);
 
  171struct event_base *evconnlistener_get_base(
struct evconnlistener *lev);
 
  180void evconnlistener_set_cb(
struct evconnlistener *lev,
 
  181    evconnlistener_cb cb, 
void *arg);
 
  185void evconnlistener_set_error_cb(
struct evconnlistener *lev,
 
  186    evconnlistener_errorcb errorcb);
 
Core functions for waiting for and receiving events, and using event bases.
Structure to hold information and state for a Libevent dispatch loop.
Definition: event.h:219
#define evutil_socket_t
A type wide enough to hold the output of "socket()" or "accept()".
Definition: util.h:310