BIOerr(BIO_F_BIO_CTRL,BIO_R_UNSUPPORTED_METHOD);
BIOerr(BIO_F_BIO_CALLBACK_CTRL,BIO_R_UNSUPPORTED_METHOD);
long BIO_callback_ctrl(BIO *b, int cmd, void (*fp)(struct bio_st *, int, const char *, int, long, long))	{	long ret;	long (*cb)(BIO *,int,const char *,int,long,long);	if (b == NULL) return(0);	if ((b->method == NULL) || (b->method->callback_ctrl == NULL))		{		BIOerr(BIO_F_BIO_CTRL,BIO_R_UNSUPPORTED_METHOD);		return(-2);		}	cb=b->callback;	if ((cb != NULL) &&		((ret=cb(b,BIO_CB_CTRL,(void *)&fp,cmd,0,1L)) <= 0))		return(ret);	ret=b->method->callback_ctrl(b,cmd,fp);	if (cb != NULL)		ret=cb(b,BIO_CB_CTRL|BIO_CB_RETURN,(void *)&fp,cmd,			0,ret);	return(ret);	}