#ifndef NO_ASN1_OLD
-int ASN1_digest(int (*i2d)(void *, unsigned char **),
- const EVP_MD *type, char *data, unsigned char *md,
- unsigned int *len)
+int ASN1_digest(i2d_of_void *i2d, const EVP_MD *type, char *data,
+ unsigned char *md, unsigned int *len)
{
int i;
unsigned char *str,*p;
#ifndef NO_ASN1_OLD
-int ASN1_sign(int (*i2d)(void *, unsigned char **), X509_ALGOR *algor1,
- X509_ALGOR *algor2, ASN1_BIT_STRING *signature, char *data,
- EVP_PKEY *pkey, const EVP_MD *type)
+int ASN1_sign(i2d_of_void *i2d, X509_ALGOR *algor1, X509_ALGOR *algor2,
+ ASN1_BIT_STRING *signature, char *data, EVP_PKEY *pkey,
+ const EVP_MD *type)
{
EVP_MD_CTX ctx;
unsigned char *p,*buf_in=NULL,*buf_out=NULL;
#ifndef NO_ASN1_OLD
-int ASN1_verify(int (*i2d)(void *, unsigned char **),
- X509_ALGOR *a, ASN1_BIT_STRING *signature,
+int ASN1_verify(i2d_of_void *i2d, X509_ALGOR *a, ASN1_BIT_STRING *signature,
char *data, EVP_PKEY *pkey)
{
EVP_MD_CTX ctx;
* OPENSSL_malloc'ed buffer
*/
-unsigned char *ASN1_seq_pack(STACK *safes, int (*i2d)(void *,unsigned char **),
+unsigned char *ASN1_seq_pack(STACK *safes, i2d_of_void *i2d,
unsigned char **buf, int *len)
{
int safelen;
/* Pack an ASN1 object into an ASN1_STRING */
-ASN1_STRING *ASN1_pack_string(void *obj, int (*i2d)(void *,unsigned char **),
- ASN1_STRING **oct)
+ASN1_STRING *ASN1_pack_string(void *obj, i2d_of_void *i2d, ASN1_STRING **oct)
{
unsigned char *p;
ASN1_STRING *octmp;
X509 *signer, EVP_PKEY *key, const EVP_MD *dgst,
STACK_OF(X509) *certs, unsigned long flags);
-ASN1_STRING *ASN1_STRING_encode(ASN1_STRING *s,
- int (*i2d)(void *,unsigned char **),
+ASN1_STRING *ASN1_STRING_encode(ASN1_STRING *s, i2d_of_void *i2d,
void *data, STACK_OF(ASN1_OBJECT) *sk);
#define ASN1_STRING_encode_of(type,s,i2d,data,sk) \
((ASN1_STRING *(*)(ASN1_STRING *,I2D_OF(type),type *,STACK_OF(ASN1_OBJECT) *))ASN1_STRING_encode)(s,i2d,data,sk)
/* also CRL Entry Extensions */
-ASN1_STRING *ASN1_STRING_encode(ASN1_STRING *s,
- int (*i2d)(void *,unsigned char **),
+ASN1_STRING *ASN1_STRING_encode(ASN1_STRING *s, i2d_of_void *i2d,
void *data, STACK_OF(ASN1_OBJECT) *sk)
{
int i;
long len);
int PEM_bytes_read_bio(unsigned char **pdata, long *plen, char **pnm, const char *name, BIO *bp,
pem_password_cb *cb, void *u);
-void * PEM_ASN1_read_bio(void *(*d2i)(void **,const unsigned char **,long),
- const char *name,BIO *bp,void **x,
- pem_password_cb *cb, void *u);
+void * PEM_ASN1_read_bio(d2i_of_void *d2i, const char *name, BIO *bp,
+ void **x, pem_password_cb *cb, void *u);
#define PEM_ASN1_read_bio_of(type,d2i,name,bp,x,cb,u) \
((type *(*)(D2I_OF(type),const char *,BIO *,type **,pem_password_cb *,void *))PEM_ASN1_read_bio)(d2i,name,bp,x,cb,u)
-int PEM_ASN1_write_bio(int (*i2d)(void *,unsigned char **),const char *name,BIO *bp,char *x,
+int PEM_ASN1_write_bio(i2d_of_void *i2d,const char *name,BIO *bp,char *x,
const EVP_CIPHER *enc,unsigned char *kstr,int klen,
pem_password_cb *cb, void *u);
#define PEM_ASN1_write_bio_of(type,i2d,name,bp,x,enc,kstr,klen,cb,u) \
int PEM_read(FILE *fp, char **name, char **header,
unsigned char **data,long *len);
int PEM_write(FILE *fp,char *name,char *hdr,unsigned char *data,long len);
-void * PEM_ASN1_read(void *(*d2i)(void **,const unsigned char **,long),
- const char *name,FILE *fp,void **x,pem_password_cb *cb,
- void *u);
-int PEM_ASN1_write(int (*i2d)(void *,unsigned char **),const char *name,FILE *fp,
+void * PEM_ASN1_read(d2i_of_void *d2i, const char *name, FILE *fp, void **x,
+ pem_password_cb *cb, void *u);
+int PEM_ASN1_write(i2d_of_void *i2d,const char *name,FILE *fp,
char *x,const EVP_CIPHER *enc,unsigned char *kstr,
int klen,pem_password_cb *callback, void *u);
STACK_OF(X509_INFO) * PEM_X509_INFO_read(FILE *fp, STACK_OF(X509_INFO) *sk,
STACK_OF(X509_INFO) *PEM_X509_INFO_read_bio(BIO *bp, STACK_OF(X509_INFO) *sk, pem_password_cb *cb, void *u)
{
X509_INFO *xi=NULL;
- char *name=NULL,*header=NULL,**pp;
+ char *name=NULL,*header=NULL;
+ void *pp;
unsigned char *data=NULL;
const unsigned char *p;
long len,error=0;
int ok=0;
STACK_OF(X509_INFO) *ret=NULL;
unsigned int i,raw;
- char *(*d2i)(void *,const unsigned char **,long);
+ d2i_of_void *d2i;
if (sk == NULL)
{
if ((xi=X509_INFO_new()) == NULL) goto err;
goto start;
}
- pp=(char **)&(xi->x509);
+ pp=&(xi->x509);
}
else if ((strcmp(name,PEM_STRING_X509_TRUSTED) == 0))
{
if ((xi=X509_INFO_new()) == NULL) goto err;
goto start;
}
- pp=(char **)&(xi->x509);
+ pp=&(xi->x509);
}
else if (strcmp(name,PEM_STRING_X509_CRL) == 0)
{
if ((xi=X509_INFO_new()) == NULL) goto err;
goto start;
}
- pp=(char **)&(xi->crl);
+ pp=&(xi->crl);
}
else
#ifndef OPENSSL_NO_RSA
if ((xi->x_pkey->dec_pkey=EVP_PKEY_new()) == NULL)
goto err;
xi->x_pkey->dec_pkey->type=EVP_PKEY_RSA;
- pp=(char **)&(xi->x_pkey->dec_pkey->pkey.rsa);
+ pp=&(xi->x_pkey->dec_pkey->pkey.rsa);
if ((int)strlen(header) > 10) /* assume encrypted */
raw=1;
}
if ((xi->x_pkey->dec_pkey=EVP_PKEY_new()) == NULL)
goto err;
xi->x_pkey->dec_pkey->type=EVP_PKEY_EC;
- pp=(char **)&(xi->x_pkey->dec_pkey->pkey.eckey);
+ pp=&(xi->x_pkey->dec_pkey->pkey.eckey);
if ((int)strlen(header) > 10) /* assume encrypted */
raw=1;
}
}
#ifndef OPENSSL_NO_FP_API
-void *PEM_ASN1_read(void *(*d2i)(void **,const unsigned char **,long),
- const char *name, FILE *fp,void **x,pem_password_cb *cb,
- void *u)
+void *PEM_ASN1_read(d2i_of_void *d2i, const char *name, FILE *fp, void **x,
+ pem_password_cb *cb, void *u)
{
BIO *b;
void *ret;
}
#ifndef OPENSSL_NO_FP_API
-int PEM_ASN1_write(int (*i2d)(void *,unsigned char **), const char *name, FILE *fp,
+int PEM_ASN1_write(i2d_of_void *i2d, const char *name, FILE *fp,
char *x, const EVP_CIPHER *enc, unsigned char *kstr,
int klen, pem_password_cb *callback, void *u)
{
}
#endif
-int PEM_ASN1_write_bio(int (*i2d)(void *,unsigned char **), const char *name, BIO *bp,
+int PEM_ASN1_write_bio(i2d_of_void *i2d, const char *name, BIO *bp,
char *x, const EVP_CIPHER *enc, unsigned char *kstr,
int klen, pem_password_cb *callback, void *u)
{
/* Handle 'other' PEMs: not private keys */
-void *PEM_ASN1_read_bio(void *(*d2i)(void **,const unsigned char **,long),
- const char *name, BIO *bp, void **x,
+void *PEM_ASN1_read_bio(d2i_of_void *d2i, const char *name, BIO *bp, void **x,
pem_password_cb *cb, void *u)
{
const unsigned char *p=NULL;
void X509_INFO_free(X509_INFO *a);
char * X509_NAME_oneline(X509_NAME *a,char *buf,int size);
-int ASN1_verify(int (*i2d)(void *, unsigned char **), X509_ALGOR *algor1,
- ASN1_BIT_STRING *signature,char *data,EVP_PKEY *pkey);
+int ASN1_verify(i2d_of_void *i2d, X509_ALGOR *algor1,
+ ASN1_BIT_STRING *signature,char *data,EVP_PKEY *pkey);
-int ASN1_digest(int (*i2d)(void *, unsigned char **),
- const EVP_MD *type,char *data,
+int ASN1_digest(i2d_of_void *i2d,const EVP_MD *type,char *data,
unsigned char *md,unsigned int *len);
-int ASN1_sign(int (*i2d)(void *, unsigned char **), X509_ALGOR *algor1,
+int ASN1_sign(i2d_of_void *i2d, X509_ALGOR *algor1,
X509_ALGOR *algor2, ASN1_BIT_STRING *signature,
char *data,EVP_PKEY *pkey, const EVP_MD *type);