internal static extern int bls_public_key_to_bbs_key(ByteBuffer *d_public_key, uint message_count, out ByteBuffer public_key, out ExternError err);
internal static extern int bbs_blind_commitment_context_add_message_bytes(ulong handle, uint index, ByteBuffer *message, out ExternError err);
internal static extern int bbs_verify_blind_commitment_context_set_proof(ulong handle, ByteBuffer *proof, out ExternError err);
internal static extern int bls_get_public_key(ByteBuffer *secret_key, out ByteBuffer public_key, out ExternError err);
internal static extern int bbs_create_proof_context_add_proof_message_prehashed(ulong handle, ByteBuffer *message, ProofMessageType xtype, ByteBuffer *blinding_factor, out ExternError err);
internal static extern int bbs_verify_blind_commitment_context_set_nonce_bytes(ulong handle, ByteBuffer *nonce, out ExternError err);
internal static extern int bbs_verify_proof_context_add_message_prehashed(ulong handle, ByteBuffer *message, out ExternError err);
internal static extern int bbs_blind_sign_context_add_message_prehashed(ulong handle, uint index, ByteBuffer *message, out ExternError err);
internal static extern int bbs_verify_context_add_message_bytes(ulong handle, ByteBuffer *message, out ExternError err);
internal static extern int bbs_verify_context_set_signature(ulong handle, ByteBuffer *signature, out ExternError err);
internal static extern int bbs_sign_context_set_secret_key(ulong handle, ByteBuffer *secret_key, out ExternError err);
internal static extern int bbs_create_proof_context_set_nonce_bytes(ulong handle, ByteBuffer *nonce, out ExternError err);
internal static extern int bbs_create_proof_context_set_signature(ulong handle, ByteBuffer *signature, out ExternError err);
internal static extern int bbs_blind_commitment_context_set_public_key(ulong handle, ByteBuffer *value, out ExternError err);
internal static extern int bbs_verify_proof_context_set_public_key(ulong handle, ByteBuffer *public_key, out ExternError err);
internal static extern int bbs_blind_commitment_context_set_nonce_prehashed(ulong handle, ByteBuffer *value, out ExternError err);
internal static extern int bbs_verify_proof_context_set_nonce_prehashed(ulong handle, ByteBuffer *nonce, out ExternError err);
internal static extern int bbs_blind_sign_context_set_public_key(ulong handle, ByteBuffer *public_key, out ExternError err);
internal static extern int bbs_unblind_signature(ByteBuffer *blind_signature, ByteBuffer *blinding_factor, out ByteBuffer unblind_signature, out ExternError err);