blob: 367c3a77ec4b530889181c226df69b9362bff252 [file] [log] [blame]
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdint.h>
#include <errno.h>
#include <assert.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <sys/socket.h>
#include "evhtp-internal.h"
#include "evhtp.h"
static void
_req_cb(evhtp_request_t * req, void * arg) {
const char * ver = (const char *)arg;
evbuffer_add(req->buffer_out, ver, strlen(ver));
evhtp_send_reply(req, EVHTP_RES_OK);
}
int
main(int argc, char ** argv) {
struct event_base * evbase;
evhtp_t * htp_v6;
evhtp_t * htp_v4;
int rc;
evbase = event_base_new();
evhtp_alloc_assert(evbase);
htp_v6 = evhtp_new(evbase, NULL);
evhtp_alloc_assert(htp_v6);
htp_v4 = evhtp_new(evbase, NULL);
evhtp_alloc_assert(htp_v4);
evhtp_set_gencb(htp_v6, _req_cb, (void *)"ipv6");
evhtp_set_gencb(htp_v4, _req_cb, (void *)"ipv4");
rc = evhtp_bind_socket(htp_v6, "ipv6:::/128", 9090, 1024);
evhtp_errno_assert(rc != -1);
rc = evhtp_bind_socket(htp_v4, "ipv4:0.0.0.0", 9090, 1024);
evhtp_errno_assert(rc != -1);
event_base_loop(evbase, 0);
return 0;
} /* main */