RSA Security logo

RSA BSAFE Cert-C
API Reference

certlist.h

Go to the documentation of this file.
00001 /*
00002 * Copyright (c) RSA Security Inc., 1999-2003.  All rights reserved.
00003 * This work contains proprietary, confidential, and trade secret
00004 * information of RSA Security Inc.  Use, disclosure or reproduction
00005 * without the express written authorization of RSA Security Inc. is
00006 * prohibited.
00007 */
00008 
00009 #ifndef HEADER_BSAFE_CERTC_CERTLIST
00010 #define HEADER_BSAFE_CERTC_CERTLIST 1
00011 
00017 #include "basetype.h"
00018 #include "bsafe.h"
00019 
00020 #ifdef __cplusplus
00021 extern "C" {
00022 #endif
00023 
00031 typedef void (*VALUE_DESTRUCTOR) (
00032   POINTER           value);             /* value to be deleted */
00033 
00079 typedef struct LIST_OBJ_ENTRY_HANDLER {
00080   int (*AllocAndCopy) (
00081     POINTER *newValue,          /* (out) new copy of value */
00082     POINTER  value);            /* value to be copied */
00083   VALUE_DESTRUCTOR Destructor;
00084 } LIST_OBJ_ENTRY_HANDLER;
00085 
00086 extern LIST_OBJ_ENTRY_HANDLER C_CertEntryHandler;
00087 extern LIST_OBJ_ENTRY_HANDLER C_CertEntryHandlerNoCopy;
00088 extern LIST_OBJ_ENTRY_HANDLER C_CRLEntryHandler;
00089 extern LIST_OBJ_ENTRY_HANDLER C_CRLEntryHandlerNoCopy;
00090 extern LIST_OBJ_ENTRY_HANDLER C_KeyEntryHandler;
00091 extern LIST_OBJ_ENTRY_HANDLER C_SignerInfoEntryHandler;
00092 extern LIST_OBJ_ENTRY_HANDLER C_ItemEntryHandler;
00093 extern LIST_OBJ_ENTRY_HANDLER C_RecipientInfoEntryHandler;
00094 
00109 int C_CreateListObject (
00110   LIST_OBJ          *listObject);       /* (out) list object */
00111 
00130 int C_DeleteListObjectEntry (
00131   LIST_OBJ          listObject,         /* list object */
00132   unsigned int      entryIndex);        /* index of list entry */
00133 
00152 void C_DestroyListObject (
00153   LIST_OBJ          *listObject);       /* list object */
00154 
00188 int C_GetListObjectEntry (
00189   LIST_OBJ          listObject,         /* list object */
00190   unsigned int      entryIndex,         /* index of list entry */
00191   POINTER           *entry);            /* (out) list entry */
00192 
00206 int C_GetListObjectCount (
00207   LIST_OBJ          listObject,         /* list object */
00208   unsigned int      *count);            /* count of list entries */
00209 
00222 void C_ResetListObject (
00223   LIST_OBJ          listObject);        /* list object */
00224 
00266 int C_AddListObjectEntry (
00267   LIST_OBJ          listObject,         /* list object */
00268   POINTER           entry,              /* list entry */
00269   unsigned int      *entryIndex,        /* (out) list entry index */
00270   LIST_OBJ_ENTRY_HANDLER *handler);     /* list entry handler */
00271 
00315 int C_InsertListObjectEntry (
00316   LIST_OBJ          listObject,         /* list object */
00317   POINTER           entry,              /* list entry */
00318   unsigned int      entryIndex,         /* list entry index */
00319   LIST_OBJ_ENTRY_HANDLER *handler);     /* list entry handler */
00320 
00342 int C_AddCertToList (
00343   LIST_OBJ          listObject,         /* list object */
00344   CERT_OBJ          cert,               /* certificate to be added */
00345   unsigned int      *entryIndex);       /* (out) list entry index */
00346 
00372 int C_AddCertToListNoCopy (
00373   LIST_OBJ          listObject,         /* list object */
00374   CERT_OBJ          cert,               /* certificate to be added */
00375   unsigned int      *entryIndex);       /* (out) list entry index */
00376 
00402 int C_AddUniqueCertToList (
00403   LIST_OBJ          listObject,         /* list object */
00404   CERT_OBJ          cert,               /* certificate to be added */
00405   unsigned int      *entryIndex);       /* (out) list entry index */
00406 
00437 int C_AddUniqueCertToListNoCopy (
00438   LIST_OBJ          listObject,         /* list object */
00439   CERT_OBJ          cert,               /* certificate reference to be added */
00440   unsigned int      *entryIndex);       /* (out) list entry index */
00441 
00463 int C_InsertCertInList (
00464   LIST_OBJ          listObject,         /* list object */
00465   CERT_OBJ          cert,               /* certificate to be inserted */
00466   unsigned int      entryIndex);        /* list entry index */
00467 
00494 int C_InsertCertInListNoCopy (
00495   LIST_OBJ          listObject,         /* list object */
00496   CERT_OBJ          cert,               /* certificate reference to be inserted */
00497   unsigned int      entryIndex);        /* list entry index */
00498 
00520 int C_AddCRLToList (
00521   LIST_OBJ          listObject,         /* list object */
00522   CRL_OBJ           crl,                /* CRL to be added */
00523   unsigned int      *entryIndex);       /* (out) list entry index */
00524 
00552 int C_AddCRLToListNoCopy (
00553   LIST_OBJ          listObject,         /* list object */
00554   CRL_OBJ           crl,                /* CRL reference to be added */
00555   unsigned int      *entryIndex);       /* (out) list entry index */
00556  
00582 int C_AddUniqueCRLToList (
00583   LIST_OBJ          listObject,         /* list object */
00584   CRL_OBJ           crl,                /* CRL to be added */
00585   unsigned int      *entryIndex);       /* (out) list entry index */
00586 
00618 int C_AddUniqueCRLToListNoCopy (
00619   LIST_OBJ          listObject,         /* list object */
00620   CRL_OBJ           crl,                /* CRL reference to be added */
00621   unsigned int      *entryIndex);       /* (out) list entry index */
00622  
00644 int C_InsertCRLInList (
00645   LIST_OBJ     listObject,         /* list object */
00646   CRL_OBJ      crl,                /* CRL to be inserted */
00647   unsigned int entryIndex);        /* list entry index */
00648 
00676 int C_InsertCRLInListNoCopy (
00677   LIST_OBJ     listObject,         /* list object */
00678   CRL_OBJ      crl,                /* CRL reference to be inserted */
00679   unsigned int entryIndex);        /* list entry index */
00680 
00702 int C_AddPrivateKeyToList (
00703   LIST_OBJ      listObject,       /* list object */
00704   B_KEY_OBJ     privateKey,       /* key to be added */
00705   unsigned int *entryIndex);      /* (out) list entry index */
00706 
00728 int C_InsertPrivateKeyInList (
00729   LIST_OBJ     listObject,         /* list object */
00730   B_KEY_OBJ    privateKey,         /* key to be inserted */
00731   unsigned int entryIndex);        /* list entry index */
00732 
00754 int C_AddItemToList (
00755   LIST_OBJ      listObject,      /* list object */
00756   ITEM         *item,            /* item to be added */
00757   unsigned int *entryIndex);     /* (out) list entry index */
00758 
00780 int C_InsertItemInList (
00781   LIST_OBJ      listObject,      /* list object */
00782   ITEM         *item,            /* item to be inserted */
00783   unsigned int  entryIndex);     /* list entry index */
00784 
00811 int C_AddUniqueItemToList (
00812   LIST_OBJ      listObject,     /* list object */
00813   ITEM         *item,           /* item to be added */
00814   unsigned int *entryIndex);    /* (out) list entry index */
00815 
00816 #ifdef __cplusplus
00817 }
00818 #endif
00819 
00820 #endif /* HEADER_BSAFE_CERTC_CERTLIST */



RSA BSAFE® Cert-C 2.7 API Reference