Name

gnutls_ia_set_client_avp_function — Used to set a AVP callback

Synopsis

#include <gnutls/extra.h>
void gnutls_ia_set_client_avp_function( gnutls_ia_client_credentials_t   cred,
  gnutls_ia_avp_func   avp_func);

ARGUMENTS

gnutls_ia_client_credentials_t cred

is a gnutls_ia_client_credentials_t structure.

gnutls_ia_avp_func avp_func

is the callback function

DESCRIPTION

Set the TLS/IA AVP callback handler used for the session.

The AVP callback is called to process AVPs received from the server, and to get a new AVP to send to the server.

The callback's function form is: int (*avp_func) (gnutls_session_t session, void *ptr, const char *last, size_t lastlen, char **next, size_t *nextlen);

The session parameter is the gnutls_session_t structure corresponding to the current session. The ptr parameter is the application hook pointer, set through gnutls_ia_set_client_avp_ptr(). The AVP received from the server is present in last of lastlen size, which will be NULL on the first invocation. The newly allocated output AVP to send to the server should be placed in *next of *nextlen size.

The callback may invoke gnutls_ia_permute_inner_secret() to mix any generated session keys with the TLS/IA inner secret.

Return 0 (GNUTLS_IA_APPLICATION_PAYLOAD) on success, or a negative error code to abort the TLS/IA handshake.

Note that the callback must use allocate the next parameter using gnutls_malloc(), because it is released via gnutls_free() by the TLS/IA handshake function.

REPORTING BUGS

Report bugs to <bug-gnutls@gnu.org>.

SEE ALSO

The full documentation for gnutls is maintained as a Texinfo manual. If the info and gnutls programs are properly installed at your site, the command

info gnutls

should give you access to the complete manual.

COPYRIGHT

Copyright © 2008 Free Software Foundation.

Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies.