@deftypefun {void} {gnutls_transport_set_pull_function} (gnutls_session_t @var{session}, gnutls_pull_func @var{pull_func}) @var{session}: is a @code{gnutls_session_t} type. @var{pull_func}: a callback function similar to @code{read()} This is the function where you set a function for gnutls to receive data. Normally, if you use berkeley style sockets, do not need to use this function since the default recv(2) will probably be ok. The callback should return 0 on connection termination, a positive number indicating the number of bytes received, and -1 on error. @code{gnutls_pull_func} is of the form, ssize_t (*gnutls_pull_func)(gnutls_transport_ptr_t, void*, size_t); @end deftypefun