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