Back to index

openldap  2.4.31
crl.h
Go to the documentation of this file.
00001 
00002 #include "asn-incl.h"
00003 /*
00004  *    crl.h
00005  *    "CertificateRevokationList" ASN.1 module encode/decode/extracting/matching/free C src.
00006  *    This file was generated by modified eSMACC compiler Fri Jan 21 11:25:24 2005
00007  *    The generated files are strongly encouraged to be
00008  *    compiled as a module for OpenLDAP Software
00009  */
00010 
00011 #ifndef _crl_h_
00012 #define _crl_h_
00013 
00014 
00015 
00016 
00017 #ifdef __cplusplus
00018 extern "C" {
00019 #endif
00020 #ifdef _WIN32
00021 #pragma warning( disable : 4101 )
00022 #endif
00023 #include "componentlib.h"
00024 
00025 #define V1 0
00026 #define V2 1
00027 #define V3 2
00028 
00029 typedef ComponentInt ComponentVersion; /* INTEGER { V1 (0), V2 (1), V3 (2) }  */
00030 
00031 #define MatchingComponentVersion MatchingComponentInt
00032 
00033 #define ExtractingComponentVersion ExtractingComponentInt
00034 
00035 #define BDecComponentVersion BDecComponentInt
00036 
00037 #define GDecComponentVersion GDecComponentInt
00038 
00039 
00040 typedef ComponentInt ComponentCertificateSerialNumber; /* INTEGER */
00041 
00042 #define MatchingComponentCertificateSerialNumber MatchingComponentInt
00043 
00044 #define ExtractingComponentCertificateSerialNumber ExtractingComponentInt
00045 
00046 #define BDecComponentCertificateSerialNumber BDecComponentInt
00047 
00048 #define GDecComponentCertificateSerialNumber GDecComponentInt
00049 
00050 
00051 typedef ComponentOid ComponentAttributeType; /* OBJECT IDENTIFIER */
00052 
00053 #define MatchingComponentAttributeType MatchingComponentOid
00054 
00055 #define ExtractingComponentAttributeType ExtractingComponentOid
00056 
00057 #define BDecComponentAttributeType BDecComponentOid
00058 
00059 #define GDecComponentAttributeType GDecComponentOid
00060 
00061 
00062 typedef struct AlgorithmIdentifier /* SEQUENCE */
00063 {
00064        Syntax* syntax;
00065        ComponentDesc* comp_desc;
00066        struct berval identifier;
00067        char id_buf[MAX_IDENTIFIER_LEN];
00068        ComponentOid algorithm; /* OBJECT IDENTIFIER */
00069        ComponentAnyDefinedBy parameters; /* ANY DEFINED BY algorithm OPTIONAL */
00070 } ComponentAlgorithmIdentifier;
00071 
00072 int MatchingComponentAlgorithmIdentifier PROTO (( char *oid, ComponentSyntaxInfo *, ComponentSyntaxInfo *v2 ));
00073 
00074 
00075 void* ExtractingComponentAlgorithmIdentifier PROTO (( void* mem_op, ComponentReference *cr, ComponentAlgorithmIdentifier *comp ));
00076 
00077 
00078 int BDecComponentAlgorithmIdentifier PROTO ((void* mem_op, GenBuf * b, AsnTag tagId0, AsnLen elmtLen0, ComponentAlgorithmIdentifier **v, AsnLen *bytesDecoded, int mode));
00079 
00080 
00081 int GDecComponentAlgorithmIdentifier PROTO (( void* mem_op, GenBuf * b, ComponentAlgorithmIdentifier **v, AsnLen *bytesDecoded, int mode));
00082 
00083 
00084 
00085 typedef struct Time /* CHOICE */
00086 {
00087        Syntax* syntax;
00088        ComponentDesc* comp_desc;
00089        struct berval identifier;
00090        char id_buf[MAX_IDENTIFIER_LEN];
00091     enum TimeChoiceId
00092     {
00093         TIME_UTCTIME,
00094         TIME_GENERALIZEDTIME
00095     } choiceId;
00096     union TimeChoiceUnion
00097     {
00098        ComponentUTCTime* utcTime; /* < unknown type id ?! > */
00099        ComponentGeneralizedTime* generalizedTime; /* < unknown type id ?! > */
00100     } a;
00101 } ComponentTime;
00102 
00103 int MatchingComponentTime PROTO (( char *oid, ComponentSyntaxInfo *, ComponentSyntaxInfo *v2 ));
00104 
00105 
00106 void* ExtractingComponentTime PROTO (( void* mem_op, ComponentReference *cr, ComponentTime *comp ));
00107 
00108 
00109 int BDecComponentTime PROTO ((void* mem_op, GenBuf * b, AsnTag tagId0, AsnLen elmtLen0, ComponentTime **v, AsnLen *bytesDecoded, int mode));
00110 
00111 
00112 int GDecComponentTime PROTO (( void* mem_op, GenBuf * b, ComponentTime **v, AsnLen *bytesDecoded, int mode));
00113 
00114 
00115 
00116 typedef struct Extension /* SEQUENCE */
00117 {
00118        Syntax* syntax;
00119        ComponentDesc* comp_desc;
00120        struct berval identifier;
00121        char id_buf[MAX_IDENTIFIER_LEN];
00122        ComponentOid extnID; /* OBJECT IDENTIFIER */
00123        ComponentBool* critical; /* BOOLEAN DEFAULT FALSE */
00124        ComponentOcts extnValue; /* OCTET STRING */
00125 } ComponentExtension;
00126 
00127 int MatchingComponentExtension PROTO (( char *oid, ComponentSyntaxInfo *, ComponentSyntaxInfo *v2 ));
00128 
00129 
00130 void* ExtractingComponentExtension PROTO (( void* mem_op, ComponentReference *cr, ComponentExtension *comp ));
00131 
00132 
00133 int BDecComponentExtension PROTO ((void* mem_op, GenBuf * b, AsnTag tagId0, AsnLen elmtLen0, ComponentExtension **v, AsnLen *bytesDecoded, int mode));
00134 
00135 
00136 int GDecComponentExtension PROTO (( void* mem_op, GenBuf * b, ComponentExtension **v, AsnLen *bytesDecoded, int mode));
00137 
00138 
00139 
00140 typedef struct AttributeTypeAndValue /* SEQUENCE */
00141 {
00142        Syntax* syntax;
00143        ComponentDesc* comp_desc;
00144        struct berval identifier;
00145        char id_buf[MAX_IDENTIFIER_LEN];
00146        ComponentAttributeType type; /* AttributeType */
00147        ComponentAnyDefinedBy value; /* ANY DEFINED BY type */
00148 } ComponentAttributeTypeAndValue;
00149 
00150 int MatchingComponentAttributeTypeAndValue PROTO (( char *oid, ComponentSyntaxInfo *, ComponentSyntaxInfo *v2 ));
00151 
00152 
00153 void* ExtractingComponentAttributeTypeAndValue PROTO (( void* mem_op, ComponentReference *cr, ComponentAttributeTypeAndValue *comp ));
00154 
00155 
00156 int BDecComponentAttributeTypeAndValue PROTO ((void* mem_op, GenBuf * b, AsnTag tagId0, AsnLen elmtLen0, ComponentAttributeTypeAndValue **v, AsnLen *bytesDecoded, int mode));
00157 
00158 
00159 int GDecComponentAttributeTypeAndValue PROTO (( void* mem_op, GenBuf * b, ComponentAttributeTypeAndValue **v, AsnLen *bytesDecoded, int mode));
00160 
00161 
00162 
00163 typedef ComponentList ComponentExtensions; /* SEQUENCE SIZE 1..MAX OF Extension */
00164 
00165 int MatchingComponentExtensions PROTO (( char *oid, ComponentSyntaxInfo *, ComponentSyntaxInfo *v2 ));
00166 
00167 
00168 void* ExtractingComponentExtensions PROTO (( void* mem_op, ComponentReference *cr, ComponentExtensions *comp ));
00169 
00170 
00171 int BDecComponentExtensions PROTO ((void* mem_op, GenBuf * b, AsnTag tagId0, AsnLen elmtLen0, ComponentExtensions **v, AsnLen *bytesDecoded, int mode));
00172 
00173 
00174 int GDecComponentExtensions PROTO (( void* mem_op, GenBuf * b, ComponentExtensions **v, AsnLen *bytesDecoded, int mode));
00175 
00176 
00177 
00178 typedef struct TBSCertListSeqOfSeq /* SEQUENCE */
00179 {
00180        Syntax* syntax;
00181        ComponentDesc* comp_desc;
00182        struct berval identifier;
00183        char id_buf[MAX_IDENTIFIER_LEN];
00184        ComponentCertificateSerialNumber userCertificate; /* CertificateSerialNumber */
00185        ComponentTime* revocationDate; /* Time */
00186        ComponentExtensions* crlEntryExtensions; /* Extensions OPTIONAL */
00187 } ComponentTBSCertListSeqOfSeq;
00188 
00189 int MatchingComponentTBSCertListSeqOfSeq PROTO (( char *oid, ComponentSyntaxInfo *, ComponentSyntaxInfo *v2 ));
00190 
00191 
00192 void* ExtractingComponentTBSCertListSeqOfSeq PROTO (( void* mem_op, ComponentReference *cr, ComponentTBSCertListSeqOfSeq *comp ));
00193 
00194 
00195 int BDecComponentTBSCertListSeqOfSeq PROTO ((void* mem_op, GenBuf * b, AsnTag tagId0, AsnLen elmtLen0, ComponentTBSCertListSeqOfSeq **v, AsnLen *bytesDecoded, int mode));
00196 
00197 
00198 int GDecComponentTBSCertListSeqOfSeq PROTO (( void* mem_op, GenBuf * b, ComponentTBSCertListSeqOfSeq **v, AsnLen *bytesDecoded, int mode));
00199 
00200 
00201 
00202 typedef ComponentList ComponentTBSCertListSeqOf; /* SEQUENCE OF TBSCertListSeqOfSeq */
00203 
00204 int MatchingComponentTBSCertListSeqOf PROTO (( char *oid, ComponentSyntaxInfo *, ComponentSyntaxInfo *v2 ));
00205 
00206 
00207 void* ExtractingComponentTBSCertListSeqOf PROTO (( void* mem_op, ComponentReference *cr, ComponentTBSCertListSeqOf *comp ));
00208 
00209 
00210 int BDecComponentTBSCertListSeqOf PROTO ((void* mem_op, GenBuf * b, AsnTag tagId0, AsnLen elmtLen0, ComponentTBSCertListSeqOf **v, AsnLen *bytesDecoded, int mode));
00211 
00212 
00213 int GDecComponentTBSCertListSeqOf PROTO (( void* mem_op, GenBuf * b, ComponentTBSCertListSeqOf **v, AsnLen *bytesDecoded, int mode));
00214 
00215 
00216 
00217 typedef ComponentList ComponentRelativeDistinguishedName; /* SET OF AttributeTypeAndValue */
00218 
00219 int MatchingComponentRelativeDistinguishedName PROTO (( char *oid, ComponentSyntaxInfo *, ComponentSyntaxInfo *v2 ));
00220 
00221 
00222 void* ExtractingComponentRelativeDistinguishedName PROTO (( void* mem_op, ComponentReference *cr, ComponentRelativeDistinguishedName *comp ));
00223 
00224 
00225 int BDecComponentRelativeDistinguishedName PROTO ((void* mem_op, GenBuf * b, AsnTag tagId0, AsnLen elmtLen0, ComponentRelativeDistinguishedName **v, AsnLen *bytesDecoded, int mode));
00226 
00227 
00228 int GDecComponentRelativeDistinguishedName PROTO (( void* mem_op, GenBuf * b, ComponentRelativeDistinguishedName **v, AsnLen *bytesDecoded, int mode));
00229 
00230 
00231 
00232 typedef ComponentList ComponentRDNSequence; /* SEQUENCE OF RelativeDistinguishedName */
00233 
00234 int MatchingComponentRDNSequence PROTO (( char *oid, ComponentSyntaxInfo *, ComponentSyntaxInfo *v2 ));
00235 
00236 
00237 void* ExtractingComponentRDNSequence PROTO (( void* mem_op, ComponentReference *cr, ComponentRDNSequence *comp ));
00238 
00239 
00240 int BDecComponentRDNSequence PROTO ((void* mem_op, GenBuf * b, AsnTag tagId0, AsnLen elmtLen0, ComponentRDNSequence **v, AsnLen *bytesDecoded, int mode));
00241 
00242 
00243 int GDecComponentRDNSequence PROTO (( void* mem_op, GenBuf * b, ComponentRDNSequence **v, AsnLen *bytesDecoded, int mode));
00244 
00245 
00246 
00247 typedef struct Name /* CHOICE */
00248 {
00249        Syntax* syntax;
00250        ComponentDesc* comp_desc;
00251        struct berval identifier;
00252        char id_buf[MAX_IDENTIFIER_LEN];
00253     enum NameChoiceId
00254     {
00255         NAME_RDNSEQUENCE
00256     } choiceId;
00257     union NameChoiceUnion
00258     {
00259        ComponentRDNSequence* rdnSequence; /* RDNSequence */
00260     } a;
00261 } ComponentName;
00262 
00263 int MatchingComponentName PROTO (( char *oid, ComponentSyntaxInfo *, ComponentSyntaxInfo *v2 ));
00264 
00265 
00266 void* ExtractingComponentName PROTO (( void* mem_op, ComponentReference *cr, ComponentName *comp ));
00267 
00268 
00269 int BDecComponentName PROTO ((void* mem_op, GenBuf * b, AsnTag tagId0, AsnLen elmtLen0, ComponentName **v, AsnLen *bytesDecoded, int mode));
00270 
00271 
00272 int GDecComponentName PROTO (( void* mem_op, GenBuf * b, ComponentName **v, AsnLen *bytesDecoded, int mode));
00273 
00274 
00275 
00276 typedef struct TBSCertList /* SEQUENCE */
00277 {
00278        Syntax* syntax;
00279        ComponentDesc* comp_desc;
00280        struct berval identifier;
00281        char id_buf[MAX_IDENTIFIER_LEN];
00282        ComponentVersion* version; /* Version OPTIONAL */
00283        ComponentAlgorithmIdentifier* signature; /* AlgorithmIdentifier */
00284        ComponentName* issuer; /* Name */
00285        ComponentTime* thisUpdate; /* Time */
00286        ComponentTime* nextUpdate; /* Time OPTIONAL */
00287        ComponentTBSCertListSeqOf* revokedCertificates; /* TBSCertListSeqOf */
00288        ComponentExtensions* crlExtensions; /* [0] EXPLICIT Extensions OPTIONAL */
00289 } ComponentTBSCertList;
00290 
00291 int MatchingComponentTBSCertList PROTO (( char *oid, ComponentSyntaxInfo *, ComponentSyntaxInfo *v2 ));
00292 
00293 
00294 void* ExtractingComponentTBSCertList PROTO (( void* mem_op, ComponentReference *cr, ComponentTBSCertList *comp ));
00295 
00296 
00297 int BDecComponentTBSCertList PROTO ((void* mem_op, GenBuf * b, AsnTag tagId0, AsnLen elmtLen0, ComponentTBSCertList **v, AsnLen *bytesDecoded, int mode));
00298 
00299 
00300 int GDecComponentTBSCertList PROTO (( void* mem_op, GenBuf * b, ComponentTBSCertList **v, AsnLen *bytesDecoded, int mode));
00301 
00302 
00303 
00304 typedef struct CertificateList /* SEQUENCE */
00305 {
00306        Syntax* syntax;
00307        ComponentDesc* comp_desc;
00308        struct berval identifier;
00309        char id_buf[MAX_IDENTIFIER_LEN];
00310        ComponentTBSCertList* tbsCertList; /* TBSCertList */
00311        ComponentAlgorithmIdentifier* signatureAlgorithm; /* AlgorithmIdentifier */
00312        ComponentBits signature; /* BIT STRING */
00313 } ComponentCertificateList;
00314 
00315 int MatchingComponentCertificateList PROTO (( char *oid, ComponentSyntaxInfo *, ComponentSyntaxInfo *v2 ));
00316 
00317 
00318 void* ExtractingComponentCertificateList PROTO (( void* mem_op, ComponentReference *cr, ComponentCertificateList *comp ));
00319 
00320 
00321 int BDecComponentCertificateList PROTO ((void* mem_op, GenBuf * b, AsnTag tagId0, AsnLen elmtLen0, ComponentCertificateList **v, AsnLen *bytesDecoded, int mode));
00322 
00323 
00324 int GDecComponentCertificateList PROTO (( void* mem_op, GenBuf * b, ComponentCertificateList **v, AsnLen *bytesDecoded, int mode));
00325 
00326 
00327 
00328 typedef struct Validity /* SEQUENCE */
00329 {
00330        Syntax* syntax;
00331        ComponentDesc* comp_desc;
00332        struct berval identifier;
00333        char id_buf[MAX_IDENTIFIER_LEN];
00334        ComponentTime* notBefore; /* Time */
00335        ComponentTime* notAfter; /* Time */
00336 } ComponentValidity;
00337 
00338 int MatchingComponentValidity PROTO (( char *oid, ComponentSyntaxInfo *, ComponentSyntaxInfo *v2 ));
00339 
00340 
00341 void* ExtractingComponentValidity PROTO (( void* mem_op, ComponentReference *cr, ComponentValidity *comp ));
00342 
00343 
00344 int BDecComponentValidity PROTO ((void* mem_op, GenBuf * b, AsnTag tagId0, AsnLen elmtLen0, ComponentValidity **v, AsnLen *bytesDecoded, int mode));
00345 
00346 
00347 int GDecComponentValidity PROTO (( void* mem_op, GenBuf * b, ComponentValidity **v, AsnLen *bytesDecoded, int mode));
00348 
00349 
00350 
00351 /* ========== Object Declarations ========== */
00352 
00353 
00354 /* ========== Object Set Declarations ========== */
00355 #ifdef __cplusplus
00356 extern "C" {
00357 #endif
00358 
00359 #endif /* conditional include of crl.h */