#ifndef TokenLogin_h
#define TokenLogin_h
#include <CoreFoundation/CoreFoundation.h>
#ifdef __cplusplus
extern "C" {
#endif
OSStatus TokenLoginGetContext(const void *base64TokenLoginData, UInt32 base64TokenLoginDataLength, CFDictionaryRef *context);
OSStatus TokenLoginGetLoginData(CFDictionaryRef context, CFDictionaryRef *loginData);
OSStatus TokenLoginGetPin(CFDictionaryRef context, CFStringRef *pin);
OSStatus TokenLoginCreateLoginData(CFStringRef tokenId, CFDataRef pubKeyHash, CFDataRef pubKeyHashWrap, CFDataRef unlockKey, CFDataRef scBlob);
OSStatus TokenLoginUpdateUnlockData(CFDictionaryRef context, CFStringRef password);
OSStatus TokenLoginStoreUnlockData(CFDictionaryRef context, CFDictionaryRef loginData);
OSStatus TokenLoginDeleteUnlockData(CFDataRef pubKeyHash);
OSStatus TokenLoginGetUnlockKey(CFDictionaryRef context, CFDataRef *unlockKey);
OSStatus TokenLoginGetScBlob(CFDataRef pubKeyHash, CFStringRef tokenId, CFStringRef password, CFDataRef *scBlob);
OSStatus TokenLoginUnlockKeybag(CFDictionaryRef context, CFDictionaryRef loginData);
#ifdef __cplusplus
}
#endif
#endif