Azure.Identity.MacosNativeMethods
namespace Azure.Identity
{
internal static class MacosNativeMethods
{
public static class Imports
{
public static extern void CFRelease(IntPtr cfRef);
public static extern int SecKeychainFindGenericPassword(IntPtr keychainOrArray, int serviceNameLength, byte[] serviceName, int accountNameLength, byte[] accountName, out int passwordLength, out IntPtr passwordData, out IntPtr itemRef);
public static extern int SecKeychainAddGenericPassword(IntPtr keychain, int serviceNameLength, byte[] serviceName, int accountNameLength, byte[] accountName, int passwordLength, byte[] passwordData, out IntPtr itemRef);
public static extern int SecKeychainItemDelete(IntPtr itemRef);
public static extern int SecKeychainItemFreeContent(IntPtr attrList, IntPtr data);
public static extern IntPtr SecCopyErrorMessageString(int status, IntPtr reserved);
}
public const int SecStatusCodeSuccess = 0;
public const int SecStatusCodeNoSuchKeychain = -25294;
public const int SecStatusCodeInvalidKeychain = -25295;
public const int SecStatusCodeAuthFailed = -25293;
public const int SecStatusCodeDuplicateItem = -25299;
public const int SecStatusCodeItemNotFound = -25300;
public const int SecStatusCodeInteractionNotAllowed = -25308;
public const int SecStatusCodeInteractionRequired = -25315;
public const int SecStatusCodeNoSuchAttr = -25303;
public static void SecKeychainFindGenericPassword(IntPtr keychainOrArray, string serviceName, string accountName, out int passwordLength, out IntPtr credentialsPtr, out IntPtr itemRef);
public static void SecKeychainAddGenericPassword(IntPtr keychainOrArray, string serviceName, string accountName, string password, out IntPtr itemRef);
public static void SecKeychainItemDelete(IntPtr itemRef);
public static void SecKeychainItemFreeContent(IntPtr attrList, IntPtr data);
public static void CFRelease(IntPtr cfRef);
}
}