Current File : //opt/alt/cyrus-sasl/share/man/man3/sasl_decode.3
.\" Man page generated from reStructuredText.
.
.TH "SASL_DECODE" "3" "November 08, 2018" "2.1.27" "Cyrus SASL"
.SH NAME
sasl_decode \- Cyrus SASL documentation
.
.nr rst2man-indent-level 0
.
.de1 rstReportMargin
\\$1 \\n[an-margin]
level \\n[rst2man-indent-level]
level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
-
\\n[rst2man-indent0]
\\n[rst2man-indent1]
\\n[rst2man-indent2]
..
.de1 INDENT
.\" .rstReportMargin pre:
. RS \\$1
. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
. nr rst2man-indent-level +1
.\" .rstReportMargin post:
..
.de UNINDENT
. RE
.\" indent \\n[an-margin]
.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
.nr rst2man-indent-level -1
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
.
.nr rst2man-indent-level 0
.
.de1 rstReportMargin
\\$1 \\n[an-margin]
level \\n[rst2man-indent-level]
level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
-
\\n[rst2man-indent0]
\\n[rst2man-indent1]
\\n[rst2man-indent2]
..
.de1 INDENT
.\" .rstReportMargin pre:
. RS \\$1
. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
. nr rst2man-indent-level +1
.\" .rstReportMargin post:
..
.de UNINDENT
. RE
.\" indent \\n[an-margin]
.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
.nr rst2man-indent-level -1
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
.SH SYNOPSIS
.sp
.nf
#include <sasl/sasl.h>

int sasl_decode(sasl_conn_t *conn,
               const char * input,
                unsigned inputlen,
               const char ** output,
               unsigned * outputlen);
.fi
.SH DESCRIPTION
.INDENT 0.0
.TP
.B int sasl_decode(sasl_conn_t *conn,
.TP
.B const char * input,
.TP
.B unsigned inputlen,
.TP
.B const char ** output,
.TP
.B unsigned * outputlen);
\fBsasl_decode\fP decodes   data  received.  After  successful authentication
this function should be called on all  data received.  It  decodes  the
data from encrypted or signed form to plain data. If there was no security
layer negotiated the \fIoutput\fP is identical to the \fIinput\fP\&.
.INDENT 7.0
.TP
.B Parameters
.INDENT 7.0
.IP \(bu 2
\fBconn\fP – is the SASL connection context
.IP \(bu 2
\fBoutput\fP – contains the decoded data and is allocated/freed by
the library.
.IP \(bu 2
\fBoutputlen\fP – length of \fIoutput\fP\&.
.UNINDENT
.UNINDENT
.sp
One should not give  sasl_decode  more  data  than  the
negotiated \fImaxbufsize\fP (see sasl_getprop(3)).
.sp
Note  that  sasl_decode  can  succeed and outputlen can be
zero. If this is the case simply wait for  more  data  and
call sasl_decode again.
.UNINDENT
.SH RETURN VALUE
.sp
SASL  callback  functions should return SASL return codes.
See sasl.h for a complete list. \fBSASL_OK\fP indicates success.
.sp
Other return codes indicate errors and should be handled.
.SH SEE ALSO
.sp
\fI\%RFC 4422\fP,:saslman:\fIsasl(3)\fP, sasl_encode(3),
sasl_errors(3)
.SH AUTHOR
The Cyrus Team
.SH COPYRIGHT
1993-2016, The Cyrus Team
.\" Generated by docutils manpage writer.
.