diff options
author | Christopher Wiley <wiley@google.com> | 2015-07-01 13:36:18 -0700 |
---|---|---|
committer | Christopher Wiley <wiley@google.com> | 2015-07-01 14:49:55 -0700 |
commit | e867981d427db5e0b860d67485838e1f9e8c37da (patch) | |
tree | 1f219cb08e744724189858dbe03b22f29474f1e4 /ipv6-internal.h | |
parent | 3f8dfd75897939837a588807231314ff45d813ab (diff) | |
download | libevent-e867981d427db5e0b860d67485838e1f9e8c37da.tar.gz |
Add libevent-2.0.22-stable code
Existing NOTICE and MODULE_LICENSE_BSD_LIKE files describe this code.
Removed the following directories to reduce size:
WIN32-Code/*
compat/*
m4/*
sample/*
test/*
Bug: 22229743
Change-Id: I1f32e0e7467edaa3c5ea5991b5bbec2db50762ff
Diffstat (limited to 'ipv6-internal.h')
-rw-r--r-- | ipv6-internal.h | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/ipv6-internal.h b/ipv6-internal.h new file mode 100644 index 0000000..e373711 --- /dev/null +++ b/ipv6-internal.h @@ -0,0 +1,81 @@ +/* + * Copyright (c) 2009-2012 Niels Provos and Nick Mathewson + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* Internal use only: Fake IPv6 structures and values on platforms that + * do not have them */ + +#ifndef _EVENT_IPV6_INTERNAL_H +#define _EVENT_IPV6_INTERNAL_H + +#include <sys/types.h> +#ifdef _EVENT_HAVE_SYS_SOCKET_H +#include <sys/socket.h> +#endif +#include "event2/event-config.h" +#include "event2/util.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/** @file ipv6-internal.h + * + * Replacement types and functions for platforms that don't support ipv6 + * properly. + */ + +#ifndef _EVENT_HAVE_STRUCT_IN6_ADDR +struct in6_addr { + ev_uint8_t s6_addr[16]; +}; +#endif + +#ifndef _EVENT_HAVE_SA_FAMILY_T +typedef int sa_family_t; +#endif + +#ifndef _EVENT_HAVE_STRUCT_SOCKADDR_IN6 +struct sockaddr_in6 { + /* This will fail if we find a struct sockaddr that doesn't have + * sa_family as the first element. */ + sa_family_t sin6_family; + ev_uint16_t sin6_port; + struct in6_addr sin6_addr; +}; +#endif + +#ifndef AF_INET6 +#define AF_INET6 3333 +#endif +#ifndef PF_INET6 +#define PF_INET6 AF_INET6 +#endif + +#ifdef __cplusplus +} +#endif + +#endif |