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