/usr/include/lwres/context.h is in libbind-dev 1:9.9.5.dfsg-9+deb8u15.
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-2008 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2000, 2001 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: context.h,v 1.23 2008/12/17 23:47:58 tbox Exp $ */
#ifndef LWRES_CONTEXT_H
#define LWRES_CONTEXT_H 1
/*! \file lwres/context.h */
#include <stddef.h>
#include <lwres/lang.h>
#include <lwres/int.h>
#include <lwres/result.h>
/*!
* Used to set various options such as timeout, authentication, etc
*/
typedef struct lwres_context lwres_context_t;
LWRES_LANG_BEGINDECLS
typedef void *(*lwres_malloc_t)(void *arg, size_t length);
typedef void (*lwres_free_t)(void *arg, void *mem, size_t length);
/*
* XXXMLG
*
* Make the server reload /etc/resolv.conf periodically.
*
* Make the server do sortlist/searchlist.
*
* Client side can disable the search/sortlist processing.
*
* Use an array of addresses/masks and searchlist for client-side, and
* if added to the client disable the processing on the server.
*
* Share /etc/resolv.conf data between contexts.
*/
/*!
* _SERVERMODE
* Don't allocate and connect a socket to the server, since the
* caller _is_ a server.
*
* _USEIPV4, _USEIPV6
* Use IPv4 and IPv6 transactions with remote servers, respectively.
* For backward compatibility, regard both flags as being set when both
* are cleared.
*/
#define LWRES_CONTEXT_SERVERMODE 0x00000001U
#define LWRES_CONTEXT_USEIPV4 0x00000002U
#define LWRES_CONTEXT_USEIPV6 0x00000004U
lwres_result_t
lwres_context_create(lwres_context_t **contextp, void *arg,
lwres_malloc_t malloc_function,
lwres_free_t free_function,
unsigned int flags);
/**<
* Allocate a lwres context. This is used in all lwres calls.
*
* Memory management can be replaced here by passing in two functions.
* If one is non-NULL, they must both be non-NULL. "arg" is passed to
* these functions.
*
* Contexts are not thread safe. Document at the top of the file.
* XXXMLG
*
* If they are NULL, the standard malloc() and free() will be used.
*
*\pre contextp != NULL && contextp == NULL.
*
*\return Returns 0 on success, non-zero on failure.
*/
void
lwres_context_destroy(lwres_context_t **contextp);
/**<
* Frees all memory associated with a lwres context.
*
*\pre contextp != NULL && contextp == NULL.
*/
lwres_uint32_t
lwres_context_nextserial(lwres_context_t *ctx);
/**<
* XXXMLG Document
*/
void
lwres_context_initserial(lwres_context_t *ctx, lwres_uint32_t serial);
void
lwres_context_freemem(lwres_context_t *ctx, void *mem, size_t len);
void *
lwres_context_allocmem(lwres_context_t *ctx, size_t len);
int
lwres_context_getsocket(lwres_context_t *ctx);
lwres_result_t
lwres_context_send(lwres_context_t *ctx,
void *sendbase, int sendlen);
lwres_result_t
lwres_context_recv(lwres_context_t *ctx,
void *recvbase, int recvlen,
int *recvd_len);
lwres_result_t
lwres_context_sendrecv(lwres_context_t *ctx,
void *sendbase, int sendlen,
void *recvbase, int recvlen,
int *recvd_len);
LWRES_LANG_ENDDECLS
#endif /* LWRES_CONTEXT_H */
|