BIO_get_callback_arg man page on DigitalUNIX

Man page or keyword search:  
man Server   12896 pages
apropos Keyword Search (all sections)
Output format
DigitalUNIX logo
[printable version]

BIO_set_callback(3)					   BIO_set_callback(3)

       BIO_set_callback, BIO_get_callback, BIO_set_callback_arg, BIO_get_call‐
       back_arg, BIO_debug_callback - BIO callback functions

       #include <openssl/bio.h>

       #define	BIO_set_callback(b,cb)		((b)->callback=(cb))   #define
       BIO_get_callback(b)	  ((b)->callback)     #define	 BIO_set_call‐
       back_arg(b,arg)	   ((b)->cb_arg=(char *)(arg))	#define	 BIO_get_call‐
       back_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 );

       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 applica‐
       tion  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
       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	 call‐
       back(b,	BIO_CB_WRITE|BIO_CB_RETURN, in, 0, 0L, retvalue) after.	 call‐
       back(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.

       The  BIO_debug_callback() function is a good example.  Its source is in



List of man pages available for DigitalUNIX

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
Vote for polarhome
Free Shell Accounts :: the biggest list on the net