/usr/include/bind9/isc
NameSizeModeActions
aes.h10800644editdlrm
app.h104780644editdlrm
assertions.h29070644editdlrm
atomic.h41680644editdlrm
backtrace.h38910644editdlrm
base32.h44530644editdlrm
base64.h28660644editdlrm
bind9.h8300644editdlrm
boolean.h5940644editdlrm
buffer.h262680644editdlrm
bufferlist.h14520644editdlrm
cmocka.h13830644editdlrm
commandline.h17130644editdlrm
condition.h14780644editdlrm
counter.h19260644editdlrm
crc64.h9980644editdlrm
deprecated.h6230644editdlrm
dir.h15980644editdlrm
endian.h47780644editdlrm
entropy.h103730644editdlrm
errno.h6590644editdlrm
errno2result.h9020644editdlrm
error.h14300644editdlrm
event.h30530644editdlrm
eventclass.h13810644editdlrm
file.h116670644editdlrm
formatcheck.h8930644editdlrm
fsaccess.h74420644editdlrm
hash.h76620644editdlrm
heap.h52640644editdlrm
hex.h28060644editdlrm
hmacmd5.h17870644editdlrm
hmacsha.h45110644editdlrm
ht.h43960644editdlrm
httpd.h23180644editdlrm
int.h10880644editdlrm
interfaceiter.h31200644editdlrm
iterated_hash.h10460644editdlrm
json.h14590644editdlrm
keyboard.h9890644editdlrm
lang.h6370644editdlrm
lex.h97710644editdlrm
lfsr.h29580644editdlrm
lib.h10680644editdlrm
likely.h8180644editdlrm
list.h57510644editdlrm
log.h287340644editdlrm
magic.h9940644editdlrm
md5.h23800644editdlrm
mem.h211100644editdlrm
meminfo.h7100644editdlrm
msgcat.h27260644editdlrm
msgs.h84220644editdlrm
mutex.h35240644editdlrm
mutexblock.h13750644editdlrm
net.h105340644editdlrm
netaddr.h45900644editdlrm
netdb.h8630644editdlrm
netscope.h9670644editdlrm
offset.h7000644editdlrm
once.h9830644editdlrm
ondestroy.h27990644editdlrm
os.h6710644editdlrm
parseint.h15420644editdlrm
platform.h97170644editdlrm
pool.h35020644editdlrm
portset.h32950644editdlrm
print.h24750644editdlrm
queue.h52040644editdlrm
quota.h24400644editdlrm
radix.h64910644editdlrm
random.h35820644editdlrm
ratelimiter.h34970644editdlrm
refcount.h81930644editdlrm
regex.h7670644editdlrm
region.h20340644editdlrm
resource.h28620644editdlrm
result.h49820644editdlrm
resultclass.h15990644editdlrm
rwlock.h38070644editdlrm
safe.h13520644editdlrm
serial.h13680644editdlrm
sha1.h15560644editdlrm
sha2.h57330644editdlrm
siphash.h7340644editdlrm
sockaddr.h60390644editdlrm
socket.h366550644editdlrm
stat.h8060644editdlrm
stats.h37090644editdlrm
stdatomic.h52500644editdlrm
stdio.h17870644editdlrm
stdlib.h7040644editdlrm
stdtime.h10650644editdlrm
strerror.h7770644editdlrm
string.h60190644editdlrm
symtab.h43260644editdlrm
syslog.h8440644editdlrm
task.h215440644editdlrm
taskpool.h37090644editdlrm
thread.h15060644editdlrm
time.h88760644editdlrm
timer.h107950644editdlrm
tm.h8950644editdlrm
types.h57800644editdlrm
utf8.h9280644editdlrm
util.h105370644editdlrm
version.h6890644editdlrm
xml.h10940644editdlrm
Edit: /usr/include/bind9/isc/base32.h (4453B)
/* * 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 #include 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 */