/usr/include/lwres/net.h is in libbind-dev 1:9.9.5.dfsg-3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 | /*
* Copyright (C) 2004, 2005, 2007 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2000-2002 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
* REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
* AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
* INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
* LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
* OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: net.h,v 1.9 2007/06/19 23:47:23 tbox Exp $ */
#ifndef LWRES_NET_H
#define LWRES_NET_H 1
/*****
***** Module Info
*****/
/*! \file net.h
* This module is responsible for defining the following basic networking
* types:
*
*\li struct in_addr
*\li struct in6_addr
*\li struct sockaddr
*\li struct sockaddr_in
*\li struct sockaddr_in6
*
* It ensures that the AF_ and PF_ macros are defined.
*
* It declares ntoh[sl]() and hton[sl]().
*
* It declares lwres_net_aton(), lwres_net_ntop(), and lwres_net_pton().
*
* It ensures that #INADDR_LOOPBACK, #INADDR_ANY and #IN6ADDR_ANY_INIT
* are defined.
*/
/***
*** Imports.
***/
#include <lwres/platform.h> /* Required for LWRES_PLATFORM_*. */
#include <unistd.h>
#include <sys/types.h>
#include <sys/socket.h> /* Contractual promise. */
#include <sys/ioctl.h>
#include <sys/time.h>
#include <sys/un.h>
#include <netinet/in.h> /* Contractual promise. */
#include <arpa/inet.h> /* Contractual promise. */
#ifdef LWRES_PLATFORM_NEEDNETINETIN6H
#include <netinet/in6.h> /* Required on UnixWare. */
#endif
#ifdef LWRES_PLATFORM_NEEDNETINET6IN6H
#include <netinet6/in6.h> /* Required on BSD/OS for in6_pktinfo. */
#endif
#include <net/if.h>
#include <lwres/lang.h>
#ifndef LWRES_PLATFORM_HAVEIPV6
#include <lwres/ipv6.h> /* Contractual promise. */
#endif
#ifdef LWRES_PLATFORM_HAVEINADDR6
#define in6_addr in_addr6 /* Required for pre RFC2133 implementations. */
#endif
/*!
* Required for some pre RFC2133 implementations.
* IN6ADDR_ANY_INIT and IN6ADDR_LOOPBACK_INIT were added in
* draft-ietf-ipngwg-bsd-api-04.txt or draft-ietf-ipngwg-bsd-api-05.txt.
* If 's6_addr' is defined then assume that there is a union and three
* levels otherwise assume two levels required.
*/
#ifndef IN6ADDR_ANY_INIT
#ifdef s6_addr
#define IN6ADDR_ANY_INIT { { { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 } } }
#else
#define IN6ADDR_ANY_INIT { { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 } }
#endif
#endif
/*!
* Initialize address loopback. See IN6ADDR_ANY_INIT
*/
#ifndef IN6ADDR_LOOPBACK_INIT
#ifdef s6_addr
#define IN6ADDR_LOOPBACK_INIT { { { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 } } }
#else
#define IN6ADDR_LOOPBACK_INIT { { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 } }
#endif
#endif
/*% Used by AI_ALL */
#ifndef AF_INET6
#define AF_INET6 99
#endif
/*% Used to return IPV6 address types. */
#ifndef PF_INET6
#define PF_INET6 AF_INET6
#endif
/*% inaddr Loopback */
#ifndef INADDR_LOOPBACK
#define INADDR_LOOPBACK 0x7f000001UL
#endif
LWRES_LANG_BEGINDECLS
const char *
lwres_net_ntop(int af, const void *src, char *dst, size_t size);
int
lwres_net_pton(int af, const char *src, void *dst);
int
lwres_net_aton(const char *cp, struct in_addr *addr);
LWRES_LANG_ENDDECLS
#endif /* LWRES_NET_H */
|