Back to index

lightning-sunbird  0.9+nobinonly
Functions | Variables
bobject.c File Reference
#include "builtins.h"

Go to the source code of this file.

Functions

static CK_RV builtins_mdObject_Destroy (NSSCKMDObject *mdObject, NSSCKFWObject *fwObject, NSSCKMDSession *mdSession, NSSCKFWSession *fwSession, NSSCKMDToken *mdToken, NSSCKFWToken *fwToken, NSSCKMDInstance *mdInstance, NSSCKFWInstance *fwInstance)
static CK_BBOOL builtins_mdObject_IsTokenObject (NSSCKMDObject *mdObject, NSSCKFWObject *fwObject, NSSCKMDSession *mdSession, NSSCKFWSession *fwSession, NSSCKMDToken *mdToken, NSSCKFWToken *fwToken, NSSCKMDInstance *mdInstance, NSSCKFWInstance *fwInstance)
static CK_ULONG builtins_mdObject_GetAttributeCount (NSSCKMDObject *mdObject, NSSCKFWObject *fwObject, NSSCKMDSession *mdSession, NSSCKFWSession *fwSession, NSSCKMDToken *mdToken, NSSCKFWToken *fwToken, NSSCKMDInstance *mdInstance, NSSCKFWInstance *fwInstance, CK_RV *pError)
static CK_RV builtins_mdObject_GetAttributeTypes (NSSCKMDObject *mdObject, NSSCKFWObject *fwObject, NSSCKMDSession *mdSession, NSSCKFWSession *fwSession, NSSCKMDToken *mdToken, NSSCKFWToken *fwToken, NSSCKMDInstance *mdInstance, NSSCKFWInstance *fwInstance, CK_ATTRIBUTE_TYPE_PTR typeArray, CK_ULONG ulCount)
static CK_ULONG builtins_mdObject_GetAttributeSize (NSSCKMDObject *mdObject, NSSCKFWObject *fwObject, NSSCKMDSession *mdSession, NSSCKFWSession *fwSession, NSSCKMDToken *mdToken, NSSCKFWToken *fwToken, NSSCKMDInstance *mdInstance, NSSCKFWInstance *fwInstance, CK_ATTRIBUTE_TYPE attribute, CK_RV *pError)
static NSSCKFWItem builtins_mdObject_GetAttribute (NSSCKMDObject *mdObject, NSSCKFWObject *fwObject, NSSCKMDSession *mdSession, NSSCKFWSession *fwSession, NSSCKMDToken *mdToken, NSSCKFWToken *fwToken, NSSCKMDInstance *mdInstance, NSSCKFWInstance *fwInstance, CK_ATTRIBUTE_TYPE attribute, CK_RV *pError)
static CK_ULONG builtins_mdObject_GetObjectSize (NSSCKMDObject *mdObject, NSSCKFWObject *fwObject, NSSCKMDSession *mdSession, NSSCKFWSession *fwSession, NSSCKMDToken *mdToken, NSSCKFWToken *fwToken, NSSCKMDInstance *mdInstance, NSSCKFWInstance *fwInstance, CK_RV *pError)
NSS_IMPLEMENT NSSCKMDObject * nss_builtins_CreateMDObject (NSSArena *arena, builtinsInternalObject *io, CK_RV *pError)

Variables

static const NSSCKMDObject builtins_prototype_mdObject

Function Documentation

static CK_RV builtins_mdObject_Destroy ( NSSCKMDObject *  mdObject,
NSSCKFWObject *  fwObject,
NSSCKMDSession *  mdSession,
NSSCKFWSession *  fwSession,
NSSCKMDToken *  mdToken,
NSSCKFWToken *  fwToken,
NSSCKMDInstance *  mdInstance,
NSSCKFWInstance *  fwInstance 
) [static]

Definition at line 64 of file bobject.c.

static NSSCKFWItem builtins_mdObject_GetAttribute ( NSSCKMDObject *  mdObject,
NSSCKFWObject *  fwObject,
NSSCKMDSession *  mdSession,
NSSCKFWSession *  fwSession,
NSSCKMDToken *  mdToken,
NSSCKFWToken *  fwToken,
NSSCKMDInstance *  mdInstance,
NSSCKFWInstance *  fwInstance,
CK_ATTRIBUTE_TYPE  attribute,
CK_RV pError 
) [static]

Definition at line 171 of file bobject.c.

{
  NSSCKFWItem mdItem;
  builtinsInternalObject *io = (builtinsInternalObject *)mdObject->etc;
  CK_ULONG i;

  mdItem.needsFreeing = PR_FALSE;
  mdItem.item = (NSSItem*) NULL;

  for( i = 0; i < io->n; i++ ) {
    if( attribute == io->types[i] ) {
      mdItem.item = (NSSItem*) &io->items[i];
      return mdItem;
    }
  }

  *pError = CKR_ATTRIBUTE_TYPE_INVALID;
  return mdItem;
}
static CK_ULONG builtins_mdObject_GetAttributeCount ( NSSCKMDObject *  mdObject,
NSSCKFWObject *  fwObject,
NSSCKMDSession *  mdSession,
NSSCKFWSession *  fwSession,
NSSCKMDToken *  mdToken,
NSSCKFWToken *  fwToken,
NSSCKMDInstance *  mdInstance,
NSSCKFWInstance *  fwInstance,
CK_RV pError 
) [static]

Definition at line 96 of file bobject.c.

{
  builtinsInternalObject *io = (builtinsInternalObject *)mdObject->etc;
  return io->n;
}
static CK_ULONG builtins_mdObject_GetAttributeSize ( NSSCKMDObject *  mdObject,
NSSCKFWObject *  fwObject,
NSSCKMDSession *  mdSession,
NSSCKFWSession *  fwSession,
NSSCKMDToken *  mdToken,
NSSCKFWToken *  fwToken,
NSSCKMDInstance *  mdInstance,
NSSCKFWInstance *  fwInstance,
CK_ATTRIBUTE_TYPE  attribute,
CK_RV pError 
) [static]

Definition at line 143 of file bobject.c.

{
  builtinsInternalObject *io = (builtinsInternalObject *)mdObject->etc;
  CK_ULONG i;

  for( i = 0; i < io->n; i++ ) {
    if( attribute == io->types[i] ) {
      return (CK_ULONG)(io->items[i].size);
    }
  }

  *pError = CKR_ATTRIBUTE_TYPE_INVALID;
  return 0;
}
static CK_RV builtins_mdObject_GetAttributeTypes ( NSSCKMDObject *  mdObject,
NSSCKFWObject *  fwObject,
NSSCKMDSession *  mdSession,
NSSCKFWSession *  fwSession,
NSSCKMDToken *  mdToken,
NSSCKFWToken *  fwToken,
NSSCKMDInstance *  mdInstance,
NSSCKFWInstance *  fwInstance,
CK_ATTRIBUTE_TYPE_PTR  typeArray,
CK_ULONG  ulCount 
) [static]

Definition at line 114 of file bobject.c.

{
  builtinsInternalObject *io = (builtinsInternalObject *)mdObject->etc;
  CK_ULONG i;

  if( io->n != ulCount ) {
    return CKR_BUFFER_TOO_SMALL;
  }

  for( i = 0; i < io->n; i++ ) {
    typeArray[i] = io->types[i];
  }

  return CKR_OK;
}
static CK_ULONG builtins_mdObject_GetObjectSize ( NSSCKMDObject *  mdObject,
NSSCKFWObject *  fwObject,
NSSCKMDSession *  mdSession,
NSSCKFWSession *  fwSession,
NSSCKMDToken *  mdToken,
NSSCKFWToken *  fwToken,
NSSCKMDInstance *  mdInstance,
NSSCKFWInstance *  fwInstance,
CK_RV pError 
) [static]

Definition at line 204 of file bobject.c.

{
  builtinsInternalObject *io = (builtinsInternalObject *)mdObject->etc;
  CK_ULONG i;
  CK_ULONG rv = sizeof(CK_ULONG);

  for( i = 0; i < io->n; i++ ) {
    rv += sizeof(CK_ATTRIBUTE_TYPE) + sizeof(NSSItem) + io->items[i].size;
  }

  return rv;
}
static CK_BBOOL builtins_mdObject_IsTokenObject ( NSSCKMDObject *  mdObject,
NSSCKFWObject *  fwObject,
NSSCKMDSession *  mdSession,
NSSCKFWSession *  fwSession,
NSSCKMDToken *  mdToken,
NSSCKFWToken *  fwToken,
NSSCKMDInstance *  mdInstance,
NSSCKFWInstance *  fwInstance 
) [static]

Definition at line 80 of file bobject.c.

{
  return CK_TRUE;
}
NSS_IMPLEMENT NSSCKMDObject* nss_builtins_CreateMDObject ( NSSArena *  arena,
builtinsInternalObject *  io,
CK_RV pError 
)

Definition at line 245 of file bobject.c.

{
  if ( (void*)NULL == io->mdObject.etc) {
    (void) nsslibc_memcpy(&io->mdObject,&builtins_prototype_mdObject,
                                   sizeof(builtins_prototype_mdObject));
    io->mdObject.etc = (void *)io;
  }

  return &io->mdObject;
}

Here is the caller graph for this function:


Variable Documentation

const NSSCKMDObject builtins_prototype_mdObject [static]