return SECSuccess;
return PR_SUCCESS;
pk11ListCertCallback(NSSCertificate *c, void *arg){    struct listCertsStr *listCertP = (struct listCertsStr *)arg;    CERTCertificate *newCert = NULL;    PK11CertListType type = listCertP->type;    CERTCertList *certList = listCertP->certList;    CERTCertTrust *trust;    PRBool isUnique = PR_FALSE;    PRBool isCA = PR_FALSE;    char *nickname = NULL;    unsigned int certType;    if ((type == PK11CertListUnique) || (type == PK11CertListRootUnique)) {	isUnique = PR_TRUE;    }    if ((type == PK11CertListCA) || (type == PK11CertListRootUnique)) {	isCA = PR_TRUE;    }    /* if we want user certs and we don't have one skip this cert */    if ((type == PK11CertListUser) && 		!NSSCertificate_IsPrivateKeyAvailable(c, NULL,NULL)) {	return SECSuccess;    }    /* if we want root certs, skip the user certs */    if ((type == PK11CertListRootUnique) && 		NSSCertificate_IsPrivateKeyAvailable(c, NULL,NULL)) {	return SECSuccess;    }    /* if we want Unique certs and we already have it on our list, skip it */    if ( isUnique && isOnList(certList,c) ) {	return SECSuccess;    }    newCert = STAN_GetCERTCertificate(c);    if (!newCert) {	return SECSuccess;    }    /* if we want CA certs and it ain't one, skip it */    if( isCA  && (!CERT_IsCACert(newCert, &certType)) ) {	return SECSuccess;    }    CERT_DupCertificate(newCert);    nickname = STAN_GetCERTCertificateName(c);    /* put slot certs at the end */    if (newCert->slot && !PK11_IsInternal(newCert->slot)) {    	CERT_AddCertToListTailWithData(certList,newCert,nickname);    } else {    	CERT_AddCertToListHeadWithData(certList,newCert,nickname);    }    return SECSuccess;}