-#ifndef NO_FP_API
-/* The DHparams functions */
-DH *PEM_read_DHparams(FILE *fp, DH **x, pem_password_cb *cb)
- {
- return((DH *)PEM_ASN1_read((char *(*)())d2i_DHparams,
- PEM_STRING_DHPARAMS,fp,(char **)x,cb));
- }
-#endif
-
-DH *PEM_read_bio_DHparams(BIO *bp, DH **x, pem_password_cb *cb)
- {
- return((DH *)PEM_ASN1_read_bio((char *(*)())d2i_DHparams,
- PEM_STRING_DHPARAMS,bp,(char **)x,cb));
- }
-
-#ifndef NO_FP_API
-int PEM_write_DHparams(FILE *fp, DH *x)
- {
- return(PEM_ASN1_write((int (*)())i2d_DHparams,PEM_STRING_DHPARAMS,fp,
- (char *)x, NULL,NULL,0,NULL));
- }
-#endif
-
-int PEM_write_bio_DHparams(BIO *bp, DH *x)
- {
- return(PEM_ASN1_write_bio((int (*)())i2d_DHparams,PEM_STRING_DHPARAMS,
- bp,(char *)x, NULL,NULL,0,NULL));
- }
-#endif
-
-#ifndef NO_DSA
-#ifndef NO_FP_API
-/* The DSAparams functions */
-DSA *PEM_read_DSAparams(FILE *fp, DSA **x, pem_password_cb *cb)
- {
- return((DSA *)PEM_ASN1_read((char *(*)())d2i_DSAparams,
- PEM_STRING_DSAPARAMS,fp,(char **)x,cb));
- }
-#endif
-
-DSA *PEM_read_bio_DSAparams(BIO *bp, DSA **x, pem_password_cb *cb)
- {
- return((DSA *)PEM_ASN1_read_bio((char *(*)())d2i_DSAparams,
- PEM_STRING_DSAPARAMS,bp,(char **)x,cb));
- }
-
-#ifndef NO_FP_API
-int PEM_write_DSAparams(FILE *fp, DSA *x)
- {
- return(PEM_ASN1_write((int (*)())i2d_DSAparams,PEM_STRING_DSAPARAMS,fp,
- (char *)x, NULL,NULL,0,NULL));
- }
-#endif
-
-int PEM_write_bio_DSAparams(BIO *bp, DSA *x)
- {
- return(PEM_ASN1_write_bio((int (*)())i2d_DSAparams,PEM_STRING_DSAPARAMS,
- bp,(char *)x, NULL,NULL,0,NULL));
- }
-#endif
-
-/* The Netscape Certificate sequence functions */