aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/doc/mans/bindle_decode.3.in
blob: 44607c6bf03d7f839548c28d8581896182960d3e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
.\"
.\" Bindle Binaries Tools
.\" Copyright (C) 2022 David M. Syzdek <david@syzdek.net>.
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions are
.\" met:
.\"
.\"    * Redistributions of source code must retain the above copyright
.\"      notice, this list of conditions and the following disclaimer.
.\"    * Redistributions in binary form must reproduce the above copyright
.\"      notice, this list of conditions and the following disclaimer in the
.\"      documentation and/or other materials provided with the distribution.
.\"    * Neither the name of David M. Syzdek nor the
.\"      names of its contributors may be used to endorse or promote products
.\"      derived from this software without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
.\" IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
.\" THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL DAVID M. SYZDEK BE LIABLE FOR
.\" ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
.\" SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
.\" CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.TH "BINDLE_ARRAY" "3" "@RELEASE_MONTH@" "@PACKAGE_NAME@" "Library Functions Manual"
.SH NAME
bindle_badd, bindle_bsearch, bindle_bremove, bindle_bindex - Bindle Binary Tools sorted array routines

.SH LIBRARY
Bindle Binaries Tools (libbindle, -lbindle)

.SH SYNOPSIS
.nf
\fB#include\fR \fB<bindle.h>\fR
.sp
.BI "ssize_t bindle_decode( int " method ", void * " dst ", size_t " s ","
.BI "           const char * " src ", size_t " n " );"
.sp
.BI "ssize_t bindle_decode_size( int " method ", size_t " n " );"
.sp
.BI "ssize_t bindle_encode( int " method ", char * " dst ", size_t " s ","
.BI "           const void * " src ", size_t " n ", int " nopad " );"
.sp
.BI "ssize_t bindle_encode_size( int " method ", size_t " n " );"
.sp
.BI "ssize_t bindle_encoding_verify( int " method ", const char * " src ","
.BI "           size_t " n " );"

.SH DESCRIPTION
\fBbindle_decode\fR() decodes \fIn\fR bytes from \fIsrc\fR into \fIdst\fR
buffer of \fIs\fR bytes according to the method specified by \fImethod\fR.
\fBbindle_decode_size\fR() calculates the number of bytes required to decode
\fIn\fR bytes of data encoded according to the method specified by
\fImethod\fR.
.sp
Valid values of \fImethod\fR are:
.RS 6
.TP 20
.B BNDL_NONE
copy data without an encoding method.
.TP 20
.B BNDL_BASE32
use base32 string encoding (RFC4648)
.TP 20
.B BNDL_BASE32HEX
use base32hex string encoding (RFC4648)
.TP 20
.B BNDL_BASE64
use base64 string encoding (RFC4648)
.TP 20
.B BNDL_HEX
use base16 string encoding (RFC4648)
.TP 20
.B BNDL_CROCKFORD
use Crockford's base32 string encoding
.TP 20
.B BNDL_PCTENC
use percent-encoding/URL string encoding
.RE
.PP
\fBbindle_encode\fR() decodes \fIn\fR bytes from \fIsrc\fR into \fIdst\fR
buffer of \fIs\fR bytes according to the method specified by \fImethod\fR.
\fBbindle_encode\fR() will omit padding in the encoded data if \fInopad\fR is
not 0. The result stored in \fIdst\fR will be a NULL terminated string.
\fBbindle_encode_size\fR() calculates the number of bytes required to
encode \fIn\fR bytes of data according to the method specified by
\fImethod\fR.
.sp
\fBbindle_encoding_verify\fR() verifies that \fIn\fR bytes of data in
\fIsrc\fR are encoded according to encoding specified by \fImethod\fR.

.SH RETURN VALUES
If successful \fBbindle_decode\fR() and \fBbindle_encode\fR() return the
number of bytes encoded or decoded into \fIdst\fR. If an error occurs, errno
is set and -1 is returned.
.sp
If successful \fBbindle_decode_size\fR() and \fBbindle_encode_size\fR() return
the number of bytes required to encode or decode \fIn\fR bytes of data. If an
error occurs, errno is set and -1 is returned.
.sp
\fBbindle_encoding_verify\fR() returns 0 if the data is correctly encoded. If
an error occurred, errno is set and -1 is returned.

.SH SEE ALSO
.BR bindletools (3)

.SH AUTHOR
David M. Syzdek <david@syzdek.net>

.SH ACKNOWLEDGEMENTS
\fB@PACKAGE_NAME@\fR is developed and maintained by David M. Syzdek
<david@syzdek.net>.

.\" end of man page