PHP 7.4.33
Preview: base32.h Size: 4.35 KB
/home/godevadmin/public_html/upload_images/home/000~ROOT~000/usr/include/bind9/isc/base32.h

/*
 * Copyright (C) Internet Systems Consortium, Inc. ("ISC")
 *
 * This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, you can obtain one at https://mozilla.org/MPL/2.0/.
 *
 * See the COPYRIGHT file distributed with this work for additional
 * information regarding copyright ownership.
 */

#ifndef ISC_BASE32_H
#define ISC_BASE32_H 1

/*! \file */

/*
 * Routines for manipulating base 32 and base 32 hex encoded data.
 * Based on RFC 4648.
 *
 * Base 32 hex preserves the sort order of data when it is encoded /
 * decoded.
 *
 * Base 32 hex "np" is base 32 hex but no padding is produced or accepted.
 */

#include <isc/lang.h>
#include <isc/types.h>

ISC_LANG_BEGINDECLS

/***
 *** Functions
 ***/

isc_result_t
isc_base32_totext(isc_region_t *source, int wordlength,
		  const char *wordbreak, isc_buffer_t *target);
isc_result_t
isc_base32hex_totext(isc_region_t *source, int wordlength,
		     const char *wordbreak, isc_buffer_t *target);
isc_result_t
isc_base32hexnp_totext(isc_region_t *source, int wordlength,
		       const char *wordbreak, isc_buffer_t *target);
/*!<
 * \brief Convert data into base32 encoded text.
 *
 * Notes:
 *\li	The base32 encoded text in 'target' will be divided into
 *	words of at most 'wordlength' characters, separated by
 * 	the 'wordbreak' string.  No parentheses will surround
 *	the text.
 *
 * Requires:
 *\li	'source' is a region containing binary data
 *\li	'target' is a text buffer containing available space
 *\li	'wordbreak' points to a null-terminated string of
 *		zero or more whitespace characters
 *
 * Ensures:
 *\li	target will contain the base32 encoded version of the data
 *	in source.  The 'used' pointer in target will be advanced as
 *	necessary.
 */

isc_result_t
isc_base32_decodestring(const char *cstr, isc_buffer_t *target);
isc_result_t
isc_base32hex_decodestring(const char *cstr, isc_buffer_t *target);
isc_result_t
isc_base32hexnp_decodestring(const char *cstr, isc_buffer_t *target);
/*!<
 * \brief Decode a null-terminated string in base32, base32hex, or
 * base32hex non-padded.
 *
 * Requires:
 *\li	'cstr' is non-null.
 *\li	'target' is a valid buffer.
 *
 * Returns:
 *\li	#ISC_R_SUCCESS	-- the entire decoded representation of 'cstring'
 *			   fit in 'target'.
 *\li	#ISC_R_BADBASE32 -- 'cstr' is not a valid base32 encoding.
 *
 * 	Other error returns are any possible error code from:
 *\li		isc_lex_create(),
 *\li		isc_lex_openbuffer(),
 *\li		isc_base32_tobuffer().
 */

isc_result_t
isc_base32_tobuffer(isc_lex_t *lexer, isc_buffer_t *target, int length);
isc_result_t
isc_base32hex_tobuffer(isc_lex_t *lexer, isc_buffer_t *target, int length);
isc_result_t
isc_base32hexnp_tobuffer(isc_lex_t *lexer, isc_buffer_t *target, int length);
/*!<
 * \brief Convert text encoded in base32, base32hex, or base32hex
 * non-padded from a lexer context into `target`. If 'length' is
 * non-negative, it is the expected number of encoded octets to convert.
 *
 * If 'length' is -1 then 0 or more encoded octets are expected.
 * If 'length' is -2 then 1 or more encoded octets are expected.
 *
 * Returns:
 *\li	#ISC_R_BADBASE32 -- invalid base32 encoding.
 *\li	#ISC_R_UNEXPECTEDEND: the text does not contain the expected
 *			      number of encoded octets.
 *
 * Requires:
 *\li	'lexer' is a valid lexer context
 *\li	'target' is a buffer containing binary data
 *\li	'length' is -2, -1, or non-negative
 *
 * Ensures:
 *\li	target will contain the data represented by the base32 encoded
 *	string parsed by the lexer.  No more than `length` octets will
 *	be read, if `length` is non-negative.  The 'used' pointer in
 *	'target' will be advanced as necessary.
 */

isc_result_t
isc_base32_decoderegion(isc_region_t *source, isc_buffer_t *target);
isc_result_t
isc_base32hex_decoderegion(isc_region_t *source, isc_buffer_t *target);
isc_result_t
isc_base32hexnp_decoderegion(isc_region_t *source, isc_buffer_t *target);
/*!<
 * \brief Decode a packed (no white space permitted) region in
 * base32, base32hex or base32hex non-padded.
 *
 * Requires:
 *\li   'source' is a valid region.
 *\li   'target' is a valid buffer.
 *
 * Returns:
 *\li   #ISC_R_SUCCESS  -- the entire decoded representation of 'cstring'
 *                         fit in 'target'.
 *\li   #ISC_R_BADBASE32 -- 'source' is not a valid base32 encoding.
 */

ISC_LANG_ENDDECLS

#endif /* ISC_BASE32_H */

Directory Contents

Dirs: 0 × Files: 108

Name Size Perms Modified Actions
1.05 KB lrw-r--r-- 2025-02-20 09:05:24
Edit Download
10.23 KB lrw-r--r-- 2025-02-20 09:05:24
Edit Download
2.84 KB lrw-r--r-- 2025-02-20 09:05:24
Edit Download
4.07 KB lrw-r--r-- 2025-02-20 09:05:24
Edit Download
3.80 KB lrw-r--r-- 2025-02-20 09:05:24
Edit Download
4.35 KB lrw-r--r-- 2025-02-20 09:05:24
Edit Download
2.80 KB lrw-r--r-- 2025-02-20 09:05:24
Edit Download
830 B lrw-r--r-- 2025-02-20 09:05:24
Edit Download
594 B lrw-r--r-- 2025-02-20 09:05:24
Edit Download
25.65 KB lrw-r--r-- 2025-02-20 09:05:24
Edit Download
1.42 KB lrw-r--r-- 2025-02-20 09:05:24
Edit Download
1.35 KB lrw-r--r-- 2025-02-20 09:05:24
Edit Download
1.67 KB lrw-r--r-- 2025-02-20 09:05:24
Edit Download
1.44 KB lrw-r--r-- 2025-02-20 09:05:24
Edit Download
1.88 KB lrw-r--r-- 2025-02-20 09:05:24
Edit Download
998 B lrw-r--r-- 2025-02-20 09:05:24
Edit Download
623 B lrw-r--r-- 2025-02-20 09:05:24
Edit Download
1.56 KB lrw-r--r-- 2025-02-20 09:05:24
Edit Download
4.67 KB lrw-r--r-- 2025-02-20 09:05:24
Edit Download
10.13 KB lrw-r--r-- 2025-02-20 09:05:24
Edit Download
659 B lrw-r--r-- 2025-02-20 09:05:24
Edit Download
902 B lrw-r--r-- 2025-02-20 09:05:37
Edit Download
1.40 KB lrw-r--r-- 2025-02-20 09:05:24
Edit Download
2.98 KB lrw-r--r-- 2025-02-20 09:05:24
Edit Download
1.35 KB lrw-r--r-- 2025-02-20 09:05:24
Edit Download
11.39 KB lrw-r--r-- 2025-02-20 09:05:24
Edit Download
893 B lrw-r--r-- 2025-02-20 09:05:24
Edit Download
7.27 KB lrw-r--r-- 2025-02-20 09:05:24
Edit Download
7.48 KB lrw-r--r-- 2025-02-20 09:05:24
Edit Download
5.14 KB lrw-r--r-- 2025-02-20 09:05:24
Edit Download
2.74 KB lrw-r--r-- 2025-02-20 09:05:24
Edit Download
1.75 KB lrw-r--r-- 2025-02-20 09:05:24
Edit Download
4.41 KB lrw-r--r-- 2025-02-20 09:05:24
Edit Download
4.29 KB lrw-r--r-- 2025-02-20 09:05:24
Edit Download
2.26 KB lrw-r--r-- 2025-02-20 09:05:24
Edit Download
1.06 KB lrw-r--r-- 2025-02-20 09:05:24
Edit Download
3.05 KB lrw-r--r-- 2025-02-20 09:05:24
Edit Download
1.02 KB lrw-r--r-- 2025-02-20 09:05:24
Edit Download
1.42 KB lrw-r--r-- 2025-02-20 09:05:24
Edit Download
989 B lrw-r--r-- 2025-02-20 09:05:24
Edit Download
637 B lrw-r--r-- 2025-02-20 09:05:24
Edit Download
9.54 KB lrw-r--r-- 2025-02-20 09:05:24
Edit Download
2.89 KB lrw-r--r-- 2025-02-20 09:05:24
Edit Download
1.04 KB lrw-r--r-- 2025-02-20 09:05:24
Edit Download
818 B lrw-r--r-- 2025-02-20 09:05:24
Edit Download
5.62 KB lrw-r--r-- 2025-02-20 09:05:24
Edit Download
28.06 KB lrw-r--r-- 2025-02-20 09:05:24
Edit Download
994 B lrw-r--r-- 2025-02-20 09:05:24
Edit Download
2.32 KB lrw-r--r-- 2025-02-20 09:05:24
Edit Download
20.62 KB lrw-r--r-- 2025-02-20 09:05:24
Edit Download
710 B lrw-r--r-- 2025-02-20 09:05:24
Edit Download
2.66 KB lrw-r--r-- 2025-02-20 09:05:24
Edit Download
8.22 KB lrw-r--r-- 2025-02-20 09:05:24
Edit Download
3.44 KB lrw-r--r-- 2025-02-20 09:05:24
Edit Download
1.34 KB lrw-r--r-- 2025-02-20 09:05:24
Edit Download
10.29 KB lrw-r--r-- 2025-02-20 09:05:24
Edit Download
4.48 KB lrw-r--r-- 2025-02-20 09:05:24
Edit Download
863 B lrw-r--r-- 2025-02-20 09:05:24
Edit Download
967 B lrw-r--r-- 2025-02-20 09:05:24
Edit Download
700 B lrw-r--r-- 2025-02-20 09:05:24
Edit Download
983 B lrw-r--r-- 2025-02-20 09:05:24
Edit Download
2.73 KB lrw-r--r-- 2025-02-20 09:05:24
Edit Download
671 B lrw-r--r-- 2025-02-20 09:05:24
Edit Download
1.51 KB lrw-r--r-- 2025-02-20 09:05:24
Edit Download
9.49 KB lrw-r--r-- 2025-02-20 09:05:24
Edit Download
3.42 KB lrw-r--r-- 2025-02-20 09:05:24
Edit Download
3.22 KB lrw-r--r-- 2025-02-20 09:05:24
Edit Download
2.42 KB lrw-r--r-- 2025-02-20 09:05:24
Edit Download
5.08 KB lrw-r--r-- 2025-02-20 09:05:24
Edit Download
2.38 KB lrw-r--r-- 2025-02-20 09:05:24
Edit Download
6.34 KB lrw-r--r-- 2025-02-20 09:05:24
Edit Download
3.50 KB lrw-r--r-- 2025-02-20 09:05:24
Edit Download
3.42 KB lrw-r--r-- 2025-02-20 09:05:24
Edit Download
8.00 KB lrw-r--r-- 2025-02-20 09:05:24
Edit Download
767 B lrw-r--r-- 2025-02-20 09:05:24
Edit Download
1.99 KB lrw-r--r-- 2025-02-20 09:05:24
Edit Download
2.79 KB lrw-r--r-- 2025-02-20 09:05:24
Edit Download
4.87 KB lrw-r--r-- 2025-02-20 09:05:24
Edit Download
1.56 KB lrw-r--r-- 2025-02-20 09:05:24
Edit Download
3.72 KB lrw-r--r-- 2025-02-20 09:05:24
Edit Download
1.32 KB lrw-r--r-- 2025-02-20 09:05:24
Edit Download
1.34 KB lrw-r--r-- 2025-02-20 09:05:24
Edit Download
1.52 KB lrw-r--r-- 2025-02-20 09:05:24
Edit Download
5.60 KB lrw-r--r-- 2025-02-20 09:05:24
Edit Download
734 B lrw-r--r-- 2025-02-20 09:05:24
Edit Download
5.90 KB lrw-r--r-- 2025-02-20 09:05:24
Edit Download
35.80 KB lrw-r--r-- 2025-02-20 09:05:24
Edit Download
806 B lrw-r--r-- 2025-02-20 09:05:24
Edit Download
3.62 KB lrw-r--r-- 2025-02-20 09:05:24
Edit Download
5.13 KB lrw-r--r-- 2025-02-20 09:05:24
Edit Download
1.75 KB lrw-r--r-- 2025-02-20 09:05:24
Edit Download
704 B lrw-r--r-- 2025-02-20 09:05:24
Edit Download
1.04 KB lrw-r--r-- 2025-02-20 09:05:24
Edit Download
777 B lrw-r--r-- 2025-02-20 09:05:24
Edit Download
5.88 KB lrw-r--r-- 2025-02-20 09:05:24
Edit Download
4.22 KB lrw-r--r-- 2025-02-20 09:05:24
Edit Download
844 B lrw-r--r-- 2025-02-20 09:05:24
Edit Download
21.04 KB lrw-r--r-- 2025-02-20 09:05:24
Edit Download
3.62 KB lrw-r--r-- 2025-02-20 09:05:24
Edit Download
1.47 KB lrw-r--r-- 2025-02-20 09:05:24
Edit Download
8.67 KB lrw-r--r-- 2025-02-20 09:05:24
Edit Download
10.54 KB lrw-r--r-- 2025-02-20 09:05:24
Edit Download
895 B lrw-r--r-- 2025-02-20 09:05:24
Edit Download
5.64 KB lrw-r--r-- 2025-02-20 09:05:24
Edit Download
928 B lrw-r--r-- 2025-02-20 09:05:24
Edit Download
10.29 KB lrw-r--r-- 2025-02-20 09:05:24
Edit Download
689 B lrw-r--r-- 2025-02-20 09:05:24
Edit Download
1.07 KB lrw-r--r-- 2025-02-20 09:05:24
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).