root/opal/mca/event/libevent2022/libevent/ipv6-internal.h

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

INCLUDED FROM


   1 /*
   2  * Copyright (c) 2009-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 /* Internal use only: Fake IPv6 structures and values on platforms that
  28  * do not have them */
  29 
  30 #ifndef _EVENT_IPV6_INTERNAL_H
  31 #define _EVENT_IPV6_INTERNAL_H
  32 
  33 #include <sys/types.h>
  34 #ifdef _EVENT_HAVE_SYS_SOCKET_H
  35 #include <sys/socket.h>
  36 #endif
  37 #include "event2/event-config.h"
  38 #include "event2/util.h"
  39 
  40 #ifdef __cplusplus
  41 extern "C" {
  42 #endif
  43 
  44 /** @file ipv6-internal.h
  45  *
  46  * Replacement types and functions for platforms that don't support ipv6
  47  * properly.
  48  */
  49 
  50 #ifndef _EVENT_HAVE_STRUCT_IN6_ADDR
  51 struct in6_addr {
  52         ev_uint8_t s6_addr[16];
  53 };
  54 #endif
  55 
  56 #ifndef _EVENT_HAVE_SA_FAMILY_T
  57 typedef int sa_family_t;
  58 #endif
  59 
  60 #ifndef _EVENT_HAVE_STRUCT_SOCKADDR_IN6
  61 struct sockaddr_in6 {
  62         /* This will fail if we find a struct sockaddr that doesn't have
  63          * sa_family as the first element. */
  64         sa_family_t sin6_family;
  65         ev_uint16_t sin6_port;
  66         struct in6_addr sin6_addr;
  67 };
  68 #endif
  69 
  70 #ifndef AF_INET6
  71 #define AF_INET6 3333
  72 #endif
  73 #ifndef PF_INET6
  74 #define PF_INET6 AF_INET6
  75 #endif
  76 
  77 #ifdef __cplusplus
  78 }
  79 #endif
  80 
  81 #endif

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