*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->Tru64 Unix man pages -> BIO_set_callback_arg (3)              
Title
Content
Arch
Section
 

BIO_set_callback(3)

Contents


NAME    [Toc]    [Back]

       BIO_set_callback,  BIO_get_callback, BIO_set_callback_arg,
       BIO_get_callback_arg, BIO_debug_callback  -  BIO  callback
       functions

SYNOPSIS    [Toc]    [Back]

       #include <openssl/bio.h>

       #define        BIO_set_callback(b,cb)          ((b)->callback=(cb))
 #define  BIO_get_callback(b)        ((b)->callback)
                 #define                BIO_set_callback_arg(b,arg)
     ((b)->cb_arg=(char  *)(arg))   #define
       BIO_get_callback_arg(b)         ((b)->cb_arg)

       long BIO_debug_callback(
               BIO *bio,
               int cmd,
               const char *argp,
               int argi,
               long argl,
               long ret ); typedef long callback(
               BIO *b,
               int oper,
               const char *argp,
               int argi,
               long argl,
               long retvalue );

DESCRIPTION    [Toc]    [Back]

       BIO_set_callback() and BIO_get_callback() set and retrieve
       the BIO callback, they are both macros.  The  callback  is
       called  during  most  high level BIO operations. It can be
       used for debugging purposes to trace operations on  a  BIO
       or to modify its operation.

       BIO_set_callback_arg()   and   BIO_get_callback_arg()  are
       macros which can be used to set and retrieve  an  argument
       for use in the callback.

       BIO_debug_callback()  is  a  standard  debugging  callback
       which prints out information relating to each  BIO  operation.
 If the callback argument is set it is interpreted as
       a BIO to send the  information  to,  otherwise  stderr  is
       used.

       The  callback() is the callback function itself. The meaning
 of each argument is described below.

       The BIO that the callback is attached to is passed in b.

       The oper is set to the  operation  being  performed.   For
       some  operations the callback is called twice, once before
       and once after the actual operation, the latter  case  has
       oper or'ed with BIO_CB_RETURN.

       The  meaning of the arguments argp, argi, and argl depends
       on the value of oper, that is  the  operation  being  performed.


       The retvalue is the return value that would be returned to
       the application if no callback were  present.  The  actual
       value returned is the return value of the callback itself.
       In the case of callbacks  called  before  the  actual  BIO
       operation 1 is placed in retvalue.  If the return value is
       not positive it will be returned to the  application,  and
       the BIO operation will not be performed.

       The  callback should return retvalue when it finishes processing,
 unless it specifically wishes to modify the value
       returned to the application.

   Callback Operations    [Toc]    [Back]
       callback(b,  BIO_CB_FREE,  NULL,  0L,  0L,  1L)  is called
       before the free operation.  callback(b, BIO_CB_READ,  out,
       outl,  0L,  1L)  is called before the read and callback(b,
       BIO_CB_READ|BIO_CB_RETURN, out, outl, 0L, retvalue) after.
       callback(b,  BIO_CB_WRITE,  in,  inl,  0L,  1L)  is called
       before       the       write        and        callback(b,
       BIO_CB_WRITE|BIO_CB_RETURN,  in, inl, 0L, retvalue) after.
       callback(b, BIO_CB_GETS, out,  outl,  0L,  1L)  is  called
       before       the       operation      and      callback(b,
       BIO_CB_GETS|BIO_CB_RETURN, out, outl, 0L, retvalue) after.
       callback(b,  BIO_CB_WRITE, in, 0, 0L, 1L) is called before
       the operation and callback(b,  BIO_CB_WRITE|BIO_CB_RETURN,
       in,  0,  0L,  retvalue)  after.   callback(b, BIO_CB_CTRL,
       parg, cmd, larg, 1L) is called before the call  and  callback(b,
  BIO_CB_CTRL|BIO_CB_RETURN,  parg, cmd, larg, ret)
       after.

EXAMPLES    [Toc]    [Back]

       The BIO_debug_callback() function is a good example.   Its
       source is in crypto/bio/bio_cb.c

SEE ALSO    [Toc]    [Back]

      
      
       TBA



                                              BIO_set_callback(3)
[ Back ]
 Similar pages
Name OS Title
csa_call_callbacks HP-UX force the invocation of the callback functions associated with the specified callback list(s)
csa_unregister_callback HP-UX unregister the specified callback functions
SSL_CTX_sess_set_remove_cb Tru64 Provide callback functions for server side external session caching
SSL_CTX_sess_set_get_cb Tru64 Provide callback functions for server side external session caching
SSL_CTX_sess_get_new_cb Tru64 Provide callback functions for server side external session caching
SSL_CTX_sess_get_get_cb OpenBSD provide callback functions for server side external session caching
SSL_CTX_sess_get_get_cb Tru64 Provide callback functions for server side external session caching
SSL_CTX_sess_set_remove OpenBSD provide callback functions for server side external session caching
SSL_CTX_sess_set_new_cb OpenBSD provide callback functions for server side external session caching
SSL_CTX_sess_set_get_cb OpenBSD provide callback functions for server side external session caching
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service