1 /*
2  * Copyright (c) 2004-2019 by Internet Systems Consortium, Inc. ("ISC")
3  * Copyright (c) 2001-2003 by Internet Software Consortium
4  *
5  * This Source Code Form is subject to the terms of the Mozilla Public
6  * License, v. 2.0. If a copy of the MPL was not distributed with this
7  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8  *
9  * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES
10  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11  * MERCHANTABILITY AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR
12  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
15  * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16  *
17  *   Internet Systems Consortium, Inc.
18  *   950 Charter Street
19  *   Redwood City, CA 94063
20  *   <info@isc.org>
21  *   http://www.isc.org/
22  */
23 #ifndef NS_NAME_H
24 #define NS_NAME_H
25 
26 #include "cdefs.h"
27 #include "osdep.h"
28 
29 /*
30  * Based on the Dynamic DNS reference implementation by Viraj Bais
31  * <viraj_bais@ccm.fm.intel.com>
32  */
33 
34 int MRns_name_len(const unsigned char *, const unsigned char *);
35 int MRns_name_compress(const char *, u_char *, size_t, const unsigned char **,
36 		       const unsigned char **);
37 int MRns_name_unpack(const unsigned char *, const unsigned char *,
38 		     const unsigned char *, unsigned char *, size_t);
39 int MRns_name_pack (const unsigned char *, unsigned char *,
40 		    unsigned, const unsigned char **, const unsigned char **);
41 int MRns_name_ntop(const unsigned char *, char *, size_t);
42 int MRns_name_pton(const char *, u_char *, size_t);
43 int MRns_name_uncompress_list(const unsigned char*, int buflen, char*, size_t);
44 int MRns_name_compress_list(const char*, int buflen, unsigned char*, size_t);
45 
46 #endif /* NS_NAME_H */
47