blob: d6db4cff7f76a144daab4c68f60b8b491a6e54eb [file] [log] [blame]
The Android Open Source Project1dc9e472009-03-03 19:28:35 -08001/*
2 * Copyright (C) 2008 The Android Open Source Project
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above copyright
11 * notice, this list of conditions and the following disclaimer in
12 * the documentation and/or other materials provided with the
13 * distribution.
14 *
15 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
16 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
17 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
18 * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
19 * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
20 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
21 * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
22 * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
23 * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
24 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
25 * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
26 * SUCH DAMAGE.
27 */
Elliott Hughesf0210612016-05-16 13:26:25 -070028
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080029#ifndef _RESOLV_H_
30#define _RESOLV_H_
31
32#include <sys/param.h>
33#include <sys/types.h>
34#include <sys/cdefs.h>
35#include <sys/socket.h>
36#include <stdio.h>
37#include <arpa/nameser.h>
Mattias Falk23d3e6b2011-04-04 16:12:35 +020038#include <netinet/in.h>
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080039
40__BEGIN_DECLS
41
Lorenzo Colittib8e435c2013-07-02 17:44:00 +090042#define b64_ntop __b64_ntop
Elliott Hughesffde5332017-08-21 14:51:59 -070043int b64_ntop(u_char const* __src, size_t __src_size, char* __dst, size_t __dst_size);
Lorenzo Colittib8e435c2013-07-02 17:44:00 +090044#define b64_pton __b64_pton
Elliott Hughesffde5332017-08-21 14:51:59 -070045int b64_pton(char const* __src, u_char* __dst, size_t __dst_size);
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080046
Lorenzo Colittib8e435c2013-07-02 17:44:00 +090047#define dn_comp __dn_comp
Elliott Hughesffde5332017-08-21 14:51:59 -070048int dn_comp(const char* __src, u_char* __dst, int __dst_size, u_char** __dn_ptrs , u_char** __last_dn_ptr);
Elliott Hughesf0210612016-05-16 13:26:25 -070049
Elliott Hughesffde5332017-08-21 14:51:59 -070050int dn_expand(const u_char* __msg, const u_char* __eom, const u_char* __src, char* __dst, int __dst_size);
Elliott Hughesf0210612016-05-16 13:26:25 -070051
52#define p_class __p_class
Elliott Hughesffde5332017-08-21 14:51:59 -070053const char* p_class(int __class);
Elliott Hughesf0210612016-05-16 13:26:25 -070054#define p_type __p_type
Elliott Hughesffde5332017-08-21 14:51:59 -070055const char* p_type(int __type);
Elliott Hughesf0210612016-05-16 13:26:25 -070056
57int res_init(void);
Elliott Hughesffde5332017-08-21 14:51:59 -070058int res_mkquery(int __opcode, const char* __domain_name, int __class, int __type, const u_char* __data, int __data_size, const u_char* __new_rr_in, u_char* __buf, int __buf_size);
59int res_query(const char* __name, int __class, int __type, u_char* __answer, int __answer_size);
60int res_search(const char* __name, int __class, int __type, u_char* __answer, int __answer_size);
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080061
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080062__END_DECLS
63
Elliott Hughesffde5332017-08-21 14:51:59 -070064#endif