85 assert(
isWritePtr( valuePtr,
sizeof(
int ) ) );
96 *valuePtr = keysetInfoPtr->errorType;
100 *valuePtr = keysetInfoPtr->errorLocus;
127 if( errorInfo->errorStringLength > 0 )
129 return( attributeCopy( msgData, errorInfo->errorString,
130 errorInfo->errorStringLength ) );
133 return( exitErrorNotFound( keysetInfoPtr,
137 case CRYPT_IATTRIBUTE_CONFIGDATA:
138 case CRYPT_IATTRIBUTE_USERINDEX:
139 case CRYPT_IATTRIBUTE_USERINFO:
140 case CRYPT_IATTRIBUTE_TRUSTEDCERT:
141 case CRYPT_IATTRIBUTE_TRUSTEDCERT_NEXT:
147 return( keysetInfoPtr->getSpecialItemFunction( keysetInfoPtr,
148 attribute, msgData->data, msgData->length,
149 &msgData->length ) );
177 case CRYPT_IATTRIBUTE_HWSTORAGE:
181 return( keysetInfoPtr->setSpecialItemFunction( keysetInfoPtr,
182 CRYPT_IATTRIBUTE_HWSTORAGE,
183 &value,
sizeof(
int ) ) );
212 REQUIRES( keysetInfoPtr->setSpecialItemFunction != NULL );
213 REQUIRES( keysetInfoPtr->isBusyFunction != NULL );
217 if( keysetInfoPtr->isBusyFunction( keysetInfoPtr ) && \
218 ( dataLength != 6 ||
strCompare( data,
"cancel", 6 ) ) )
219 return( exitErrorIncomplete( keysetInfoPtr, attribute ) );
222 return( keysetInfoPtr->setSpecialItemFunction( keysetInfoPtr,
223 attribute, data, dataLength ) );
226 case CRYPT_IATTRIBUTE_CONFIGDATA:
227 case CRYPT_IATTRIBUTE_USERINDEX:
228 case CRYPT_IATTRIBUTE_USERID:
229 case CRYPT_IATTRIBUTE_USERINFO:
235 status = keysetInfoPtr->setSpecialItemFunction( keysetInfoPtr,
236 attribute, data, dataLength );
238 attribute != CRYPT_IATTRIBUTE_USERID )