cc [ flag ... ] file ... -lsasl [ library ... ] #include <sasl/sasl.h>
int sasl_decode(sasl_conn_t *conn, const char *input, unsigned inputlen, const char **output, unsigned *outputlen);
Use the sasl_decode() interface to decode data received. After authentication, call this function on all data received. The data is decoded from encrypted or signed form to plain data. If no security lay is negotiated, the output is identical to the input.
Do not give sasl_decode() more data than the negotiated maxbufsize. See sasl_getprop(3SASL).
sasl_decode() can complete successfully although the value of outputlen is zero. If this is the case, wait for more data and call sasl_decode() again.
conn The SASL connection context.
input Data received.
inputlen The length of input
output The decoded data. output must be allocated or freed by the library.
outputlen The length of output.
sasl_decode() returns an integer that corresponds to a SASL error code.
SASL_OK The call to sasl_decode() was successful.
See sasl_errors(3SASL) for information on SASL error codes.
See attributes(5) for descriptions of the following attributes:
|ATTRIBUTE TYPE||ATTRIBUTE VALUE|
sasl_errors(3SASL), sasl_getprop(3SASL), attributes(5)