/*******************************************************************
 *
 * This file was generated by TIS/ASN1COMP Ver. 4.0, an ASN.1 compiler.
 * TIS/ASN1COMP is Copyright (c) 1998, TIS Labs at Network Associates, Inc.
 *
 * This file was AUTOMATICALLY GENERATED on Fri Jan 15 15:22:21 1999
 *
 ******************************************************************/

/*******************************************************************
 *
 *  .h file to declare ASN.1 functions
 *
 ******************************************************************/

#ifndef pkcsreq_ASN_H_
#define pkcsreq_ASN_H_

#include <stdio.h>

#include "pkcsreq.h"

/*******************************************************************
 *
 * Function declarations
 *
 ******************************************************************/

#define PKINewEndEntityInfo  (PKIEndEntityInfo *)PKINewANY
#define PKIFreeEndEntityInfo PKIFreeANY
#define PKISizeofEndEntityInfo PKISizeofANY
#define PKIPackEndEntityInfo PKIPackANY
#define PKIUnpackEndEntityInfo PKIUnpackANY

PKICertRep *PKINewCertRep(
    PKICONTEXT *ctx);
void PKIFreeCertRep(
    PKICONTEXT *ctx,
    PKICertRep *f);
size_t PKISizeofCertRep (
    PKICONTEXT *ctx,
    PKICertRep *asnstruct,
    int outerSizeFlag);
size_t PKIPackCertRep(
    PKICONTEXT *ctx,
    unsigned char *buf,
    size_t buflen,
    PKICertRep *asnstruct,
    int *erret);
size_t PKIUnpackCertRep(
    PKICONTEXT *ctx,
    PKICertRep **asnstruct,
    const unsigned char *buf,
    size_t buflen,
    int *erret);

PKIGetCRL *PKINewGetCRL(
    PKICONTEXT *ctx);
void PKIFreeGetCRL(
    PKICONTEXT *ctx,
    PKIGetCRL *f);
size_t PKISizeofGetCRL (
    PKICONTEXT *ctx,
    PKIGetCRL *asnstruct,
    int outerSizeFlag);
size_t PKIPackGetCRL(
    PKICONTEXT *ctx,
    unsigned char *buf,
    size_t buflen,
    PKIGetCRL *asnstruct,
    int *erret);
size_t PKIUnpackGetCRL(
    PKICONTEXT *ctx,
    PKIGetCRL **asnstruct,
    const unsigned char *buf,
    size_t buflen,
    int *erret);

PKIGetCert *PKINewGetCert(
    PKICONTEXT *ctx);
void PKIFreeGetCert(
    PKICONTEXT *ctx,
    PKIGetCert *f);
size_t PKISizeofGetCert (
    PKICONTEXT *ctx,
    PKIGetCert *asnstruct,
    int outerSizeFlag);
size_t PKIPackGetCert(
    PKICONTEXT *ctx,
    unsigned char *buf,
    size_t buflen,
    PKIGetCert *asnstruct,
    int *erret);
size_t PKIUnpackGetCert(
    PKICONTEXT *ctx,
    PKIGetCert **asnstruct,
    const unsigned char *buf,
    size_t buflen,
    int *erret);

PKIIssuerAndSubject *PKINewIssuerAndSubject(
    PKICONTEXT *ctx);
void PKIFreeIssuerAndSubject(
    PKICONTEXT *ctx,
    PKIIssuerAndSubject *f);
size_t PKISizeofIssuerAndSubject (
    PKICONTEXT *ctx,
    PKIIssuerAndSubject *asnstruct,
    int outerSizeFlag);
size_t PKIPackIssuerAndSubject(
    PKICONTEXT *ctx,
    unsigned char *buf,
    size_t buflen,
    PKIIssuerAndSubject *asnstruct,
    int *erret);
size_t PKIUnpackIssuerAndSubject(
    PKICONTEXT *ctx,
    PKIIssuerAndSubject **asnstruct,
    const unsigned char *buf,
    size_t buflen,
    int *erret);

PKIPKCSReq *PKINewPKCSReq(
    PKICONTEXT *ctx);
void PKIFreePKCSReq(
    PKICONTEXT *ctx,
    PKIPKCSReq *f);
size_t PKISizeofPKCSReq (
    PKICONTEXT *ctx,
    PKIPKCSReq *asnstruct,
    int outerSizeFlag);
size_t PKIPackPKCSReq(
    PKICONTEXT *ctx,
    unsigned char *buf,
    size_t buflen,
    PKIPKCSReq *asnstruct,
    int *erret);
size_t PKIUnpackPKCSReq(
    PKICONTEXT *ctx,
    PKIPKCSReq **asnstruct,
    const unsigned char *buf,
    size_t buflen,
    int *erret);

PKIGetCertInitial *PKINewGetCertInitial(
    PKICONTEXT *ctx);
void PKIFreeGetCertInitial(
    PKICONTEXT *ctx,
    PKIGetCertInitial *f);
size_t PKISizeofGetCertInitial (
    PKICONTEXT *ctx,
    PKIGetCertInitial *asnstruct,
    int outerSizeFlag);
size_t PKIPackGetCertInitial(
    PKICONTEXT *ctx,
    unsigned char *buf,
    size_t buflen,
    PKIGetCertInitial *asnstruct,
    int *erret);
size_t PKIUnpackGetCertInitial(
    PKICONTEXT *ctx,
    PKIGetCertInitial **asnstruct,
    const unsigned char *buf,
    size_t buflen,
    int *erret);

#endif /* pkcsreq_ASN_H_ */
