Module type Pkcs11.LOW_LEVEL_BINDINGS
Low-level bindings directly wrap the Ctypes function calls. The only functions available are the ones in the PKCS#11 interface specification. Functions expect to be passed and return CK_* types, and argument types exactly reflect those in the PKCS#11 specification.
val c_GetFunctionList : CK_FUNCTION_LIST.t Ctypes.ptr Ctypes.ptr -> CK_RV.tval c_Initialize : CK_VOID.t Ctypes.ptr -> CK_RV.tval c_Finalize : CK_VOID.t Ctypes.ptr -> CK_RV.tval c_GetInfo : CK_INFO.t Ctypes.ptr -> CK_RV.tval c_GetTokenInfo : CK_SLOT_ID.t -> CK_TOKEN_INFO.t Ctypes.ptr -> CK_RV.tval c_GetSlotList : CK_BBOOL.t -> CK_SLOT_ID.t Ctypes.ptr -> CK_ULONG.t Ctypes.ptr -> CK_RV.tval c_GetSlotInfo : CK_SLOT_ID.t -> CK_SLOT_INFO.t Ctypes.ptr -> CK_RV.tval c_GetMechanismList : CK_SLOT_ID.t -> CK_MECHANISM_TYPE.t Ctypes.ptr -> CK_ULONG.t Ctypes.ptr -> CK_RV.tval c_GetMechanismInfo : CK_SLOT_ID.t -> CK_MECHANISM_TYPE.t -> CK_MECHANISM_INFO.t Ctypes.ptr -> CK_RV.tval c_InitToken : CK_SLOT_ID.t -> CK_UTF8CHAR.t Ctypes.ptr -> CK_ULONG.t -> CK_UTF8CHAR.t Ctypes.ptr -> CK_RV.tval c_InitPIN : CK_SESSION_HANDLE.t -> CK_UTF8CHAR.t Ctypes.ptr -> CK_ULONG.t -> CK_RV.tval c_SetPIN : CK_SESSION_HANDLE.t -> CK_UTF8CHAR.t Ctypes.ptr -> CK_ULONG.t -> CK_UTF8CHAR.t Ctypes.ptr -> CK_ULONG.t -> CK_RV.tval c_OpenSession : CK_SLOT_ID.t -> CK_FLAGS.t -> CK_VOID.t Ctypes.ptr -> CK_NOTIFY.t -> CK_SESSION_HANDLE.t Ctypes.ptr -> CK_RV.tval c_CloseSession : CK_SESSION_HANDLE.t -> CK_RV.tval c_CloseAllSessions : CK_SLOT_ID.t -> CK_RV.tval c_GetSessionInfo : CK_SESSION_HANDLE.t -> CK_SESSION_INFO.t Ctypes.ptr -> CK_RV.tval c_GetOperationState : CK_SESSION_HANDLE.t -> CK_BYTE.t Ctypes.ptr -> CK_ULONG.t Ctypes.ptr -> CK_RV.tval c_SetOperationState : CK_SESSION_HANDLE.t -> CK_BYTE.t Ctypes.ptr -> CK_ULONG.t -> CK_OBJECT_HANDLE.t -> CK_OBJECT_HANDLE.t -> CK_RV.tval c_Login : CK_SESSION_HANDLE.t -> CK_USER_TYPE.t -> CK_UTF8CHAR.t Ctypes.ptr -> CK_ULONG.t -> CK_RV.tval c_Logout : CK_SESSION_HANDLE.t -> CK_RV.tval c_CreateObject : CK_SESSION_HANDLE.t -> CK_ATTRIBUTE.t Ctypes.ptr -> CK_ULONG.t -> CK_OBJECT_HANDLE.t Ctypes.ptr -> CK_RV.tval c_CopyObject : CK_SESSION_HANDLE.t -> CK_OBJECT_HANDLE.t -> CK_ATTRIBUTE.t Ctypes.ptr -> CK_ULONG.t -> CK_OBJECT_HANDLE.t Ctypes.ptr -> CK_RV.tval c_DestroyObject : CK_SESSION_HANDLE.t -> CK_OBJECT_HANDLE.t -> CK_RV.tval c_GetObjectSize : CK_SESSION_HANDLE.t -> CK_OBJECT_HANDLE.t -> CK_ULONG.t Ctypes.ptr -> CK_RV.tval c_GetAttributeValue : CK_SESSION_HANDLE.t -> CK_OBJECT_HANDLE.t -> CK_ATTRIBUTE.t Ctypes.ptr -> CK_ULONG.t -> CK_RV.tval c_SetAttributeValue : CK_SESSION_HANDLE.t -> CK_OBJECT_HANDLE.t -> CK_ATTRIBUTE.t Ctypes.ptr -> CK_ULONG.t -> CK_RV.tval c_FindObjectsInit : CK_SESSION_HANDLE.t -> CK_ATTRIBUTE.t Ctypes.ptr -> CK_ULONG.t -> CK_RV.tval c_FindObjects : CK_SESSION_HANDLE.t -> CK_OBJECT_HANDLE.t Ctypes.ptr -> CK_ULONG.t -> CK_ULONG.t Ctypes.ptr -> CK_RV.tval c_FindObjectsFinal : CK_SESSION_HANDLE.t -> CK_RV.tval c_EncryptInit : CK_SESSION_HANDLE.t -> CK_MECHANISM.t Ctypes.ptr -> CK_OBJECT_HANDLE.t -> CK_RV.tval c_Encrypt : CK_SESSION_HANDLE.t -> CK_BYTE.t Ctypes.ptr -> CK_ULONG.t -> CK_BYTE.t Ctypes.ptr -> CK_ULONG.t Ctypes.ptr -> CK_RV.tval c_EncryptUpdate : CK_SESSION_HANDLE.t -> CK_BYTE.t Ctypes.ptr -> CK_ULONG.t -> CK_BYTE.t Ctypes.ptr -> CK_ULONG.t Ctypes.ptr -> CK_RV.tval c_EncryptFinal : CK_SESSION_HANDLE.t -> CK_BYTE.t Ctypes.ptr -> CK_ULONG.t Ctypes.ptr -> CK_RV.tval c_DecryptInit : CK_SESSION_HANDLE.t -> CK_MECHANISM.t Ctypes.ptr -> CK_OBJECT_HANDLE.t -> CK_RV.tval c_Decrypt : CK_SESSION_HANDLE.t -> CK_BYTE.t Ctypes.ptr -> CK_ULONG.t -> CK_BYTE.t Ctypes.ptr -> CK_ULONG.t Ctypes.ptr -> CK_RV.tval c_DecryptUpdate : CK_SESSION_HANDLE.t -> CK_BYTE.t Ctypes.ptr -> CK_ULONG.t -> CK_BYTE.t Ctypes.ptr -> CK_ULONG.t Ctypes.ptr -> CK_RV.tval c_DecryptFinal : CK_SESSION_HANDLE.t -> CK_BYTE.t Ctypes.ptr -> CK_ULONG.t Ctypes.ptr -> CK_RV.tval c_DigestInit : CK_SESSION_HANDLE.t -> CK_MECHANISM.t Ctypes.ptr -> CK_RV.tval c_Digest : CK_SESSION_HANDLE.t -> CK_BYTE.t Ctypes.ptr -> CK_ULONG.t -> CK_BYTE.t Ctypes.ptr -> CK_ULONG.t Ctypes.ptr -> CK_RV.tval c_DigestUpdate : CK_SESSION_HANDLE.t -> CK_BYTE.t Ctypes.ptr -> CK_ULONG.t -> CK_RV.tval c_DigestKey : CK_SESSION_HANDLE.t -> CK_OBJECT_HANDLE.t -> CK_RV.tval c_DigestFinal : CK_SESSION_HANDLE.t -> CK_BYTE.t Ctypes.ptr -> CK_ULONG.t Ctypes.ptr -> CK_RV.tval c_SignInit : CK_SESSION_HANDLE.t -> CK_MECHANISM.t Ctypes.ptr -> CK_OBJECT_HANDLE.t -> CK_RV.tval c_Sign : CK_SESSION_HANDLE.t -> CK_BYTE.t Ctypes.ptr -> CK_ULONG.t -> CK_BYTE.t Ctypes.ptr -> CK_ULONG.t Ctypes.ptr -> CK_RV.tval c_SignUpdate : CK_SESSION_HANDLE.t -> CK_BYTE.t Ctypes.ptr -> CK_ULONG.t -> CK_RV.tval c_SignFinal : CK_SESSION_HANDLE.t -> CK_BYTE.t Ctypes.ptr -> CK_ULONG.t Ctypes.ptr -> CK_RV.tval c_SignRecoverInit : CK_SESSION_HANDLE.t -> CK_MECHANISM.t Ctypes.ptr -> CK_OBJECT_HANDLE.t -> CK_RV.tval c_SignRecover : CK_SESSION_HANDLE.t -> CK_BYTE.t Ctypes.ptr -> CK_ULONG.t -> CK_BYTE.t Ctypes.ptr -> CK_ULONG.t Ctypes.ptr -> CK_RV.tval c_VerifyInit : CK_SESSION_HANDLE.t -> CK_MECHANISM.t Ctypes.ptr -> CK_OBJECT_HANDLE.t -> CK_RV.tval c_Verify : CK_SESSION_HANDLE.t -> CK_BYTE.t Ctypes.ptr -> CK_ULONG.t -> CK_BYTE.t Ctypes.ptr -> CK_ULONG.t -> CK_RV.tval c_VerifyUpdate : CK_SESSION_HANDLE.t -> CK_BYTE.t Ctypes.ptr -> CK_ULONG.t -> CK_RV.tval c_VerifyFinal : CK_SESSION_HANDLE.t -> CK_BYTE.t Ctypes.ptr -> CK_ULONG.t -> CK_RV.tval c_VerifyRecoverInit : CK_SESSION_HANDLE.t -> CK_MECHANISM.t Ctypes.ptr -> CK_OBJECT_HANDLE.t -> CK_RV.tval c_VerifyRecover : CK_SESSION_HANDLE.t -> CK_BYTE.t Ctypes.ptr -> CK_ULONG.t -> CK_BYTE.t Ctypes.ptr -> CK_ULONG.t Ctypes.ptr -> CK_RV.tval c_DigestEncryptUpdate : CK_SESSION_HANDLE.t -> CK_BYTE.t Ctypes.ptr -> CK_ULONG.t -> CK_BYTE.t Ctypes.ptr -> CK_ULONG.t Ctypes.ptr -> CK_RV.tval c_DecryptDigestUpdate : CK_SESSION_HANDLE.t -> CK_BYTE.t Ctypes.ptr -> CK_ULONG.t -> CK_BYTE.t Ctypes.ptr -> CK_ULONG.t Ctypes.ptr -> CK_RV.tval c_SignEncryptUpdate : CK_SESSION_HANDLE.t -> CK_BYTE.t Ctypes.ptr -> CK_ULONG.t -> CK_BYTE.t Ctypes.ptr -> CK_ULONG.t Ctypes.ptr -> CK_RV.tval c_DecryptVerifyUpdate : CK_SESSION_HANDLE.t -> CK_BYTE.t Ctypes.ptr -> CK_ULONG.t -> CK_BYTE.t Ctypes.ptr -> CK_ULONG.t Ctypes.ptr -> CK_RV.tval c_GenerateKey : CK_SESSION_HANDLE.t -> CK_MECHANISM.t Ctypes.ptr -> CK_ATTRIBUTE.t Ctypes.ptr -> CK_ULONG.t -> CK_OBJECT_HANDLE.t Ctypes.ptr -> CK_RV.tval c_GenerateKeyPair : CK_SESSION_HANDLE.t -> CK_MECHANISM.t Ctypes.ptr -> CK_ATTRIBUTE.t Ctypes.ptr -> CK_ULONG.t -> CK_ATTRIBUTE.t Ctypes.ptr -> CK_ULONG.t -> CK_OBJECT_HANDLE.t Ctypes.ptr -> CK_OBJECT_HANDLE.t Ctypes.ptr -> CK_RV.tval c_WrapKey : CK_SESSION_HANDLE.t -> CK_MECHANISM.t Ctypes.ptr -> CK_OBJECT_HANDLE.t -> CK_OBJECT_HANDLE.t -> CK_BYTE.t Ctypes.ptr -> CK_ULONG.t Ctypes.ptr -> CK_RV.tval c_UnwrapKey : CK_SESSION_HANDLE.t -> CK_MECHANISM.t Ctypes.ptr -> CK_OBJECT_HANDLE.t -> CK_BYTE.t Ctypes.ptr -> CK_ULONG.t -> CK_ATTRIBUTE.t Ctypes.ptr -> CK_ULONG.t -> CK_OBJECT_HANDLE.t Ctypes.ptr -> CK_RV.tval c_DeriveKey : CK_SESSION_HANDLE.t -> CK_MECHANISM.t Ctypes.ptr -> CK_OBJECT_HANDLE.t -> CK_ATTRIBUTE.t Ctypes.ptr -> CK_ULONG.t -> CK_OBJECT_HANDLE.t Ctypes.ptr -> CK_RV.tval c_SeedRandom : CK_SESSION_HANDLE.t -> CK_BYTE.t Ctypes.ptr -> CK_ULONG.t -> CK_RV.tval c_GenerateRandom : CK_SESSION_HANDLE.t -> CK_BYTE.t Ctypes.ptr -> CK_ULONG.t -> CK_RV.tval c_GetFunctionStatus : CK_SESSION_HANDLE.t -> CK_RV.tval c_CancelFunction : CK_SESSION_HANDLE.t -> CK_RV.tval c_WaitForSlotEvent : CK_FLAGS.t -> CK_SLOT_ID.t Ctypes.ptr -> CK_VOID.t Ctypes.ptr -> CK_RV.t