pub type ICredentialProvider = *mut c_void;