root/opal/mca/event/libevent2022/libevent/test/regress_testutils.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   1 /*
   2  * Copyright (c) 2010-2012 Niels Provos and Nick Mathewson
   3  *
   4  * Redistribution and use in source and binary forms, with or without
   5  * modification, are permitted provided that the following conditions
   6  * are met:
   7  * 1. Redistributions of source code must retain the above copyright
   8  *    notice, this list of conditions and the following disclaimer.
   9  * 2. Redistributions in binary form must reproduce the above copyright
  10  *    notice, this list of conditions and the following disclaimer in the
  11  *    documentation and/or other materials provided with the distribution.
  12  * 3. The name of the author may not be used to endorse or promote products
  13  *    derived from this software without specific prior written permission.
  14  *
  15  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
  16  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
  17  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
  18  * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
  19  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
  20  * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
  21  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
  22  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  23  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
  24  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  25  */
  26 
  27 #ifndef _TESTUTILS_H
  28 #define _TESTUTILS_H
  29 
  30 #include "event2/dns.h"
  31 
  32 struct regress_dns_server_table {
  33         const char *q;
  34         const char *anstype;
  35         const char *ans;
  36         int seen;
  37 };
  38 
  39 struct evdns_server_port *
  40 regress_get_dnsserver(struct event_base *base,
  41     ev_uint16_t *portnum,
  42     evutil_socket_t *psock,
  43     evdns_request_callback_fn_type cb,
  44     void *arg);
  45 
  46 /* Helper: return the port that a socket is bound on, in host order. */
  47 int regress_get_socket_port(evutil_socket_t fd);
  48 
  49 /* used to look up pre-canned responses in a search table */
  50 void regress_dns_server_cb(
  51         struct evdns_server_request *req, void *data);
  52 
  53 /* globally allocates a dns server that serves from a search table */
  54 int regress_dnsserver(struct event_base *base, ev_uint16_t *port,
  55     struct regress_dns_server_table *seach_table);
  56 
  57 /* clean up the global dns server resources */
  58 void regress_clean_dnsserver(void);
  59 
  60 struct evconnlistener;
  61 struct sockaddr;
  62 int regress_get_listener_addr(struct evconnlistener *lev,
  63     struct sockaddr *sa, ev_socklen_t *socklen);
  64 
  65 #endif /* _TESTUTILS_H */
  66 

/* [<][>][^][v][top][bottom][index][help] */