<PackageReference Include="Azure.Core" Version="1.53.0" />

Azure.Identity.MacosNativeMethods

static class 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); } }