mirror of
https://github.com/ckaczor/sqltoolsservice.git
synced 2026-01-13 17:23:02 -05:00
50 lines
1.5 KiB
C#
50 lines
1.5 KiB
C#
//
|
|
// Copyright (c) Microsoft. All rights reserved.
|
|
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
//
|
|
|
|
#nullable disable
|
|
|
|
using System;
|
|
using System.Runtime.InteropServices;
|
|
|
|
namespace Microsoft.SqlTools.Credentials
|
|
{
|
|
|
|
#if !WINDOWS_ONLY_BUILD
|
|
|
|
internal static partial class Interop
|
|
{
|
|
internal static partial class Sys
|
|
{
|
|
[DllImport(Libraries.SystemNative, EntryPoint = "SystemNative_ChMod", SetLastError = true)]
|
|
internal static extern int ChMod(string path, int mode);
|
|
|
|
internal struct Passwd
|
|
{
|
|
internal IntPtr Name; // char*
|
|
internal IntPtr Password; // char*
|
|
internal uint UserId;
|
|
internal uint GroupId;
|
|
internal IntPtr UserInfo; // char*
|
|
internal IntPtr HomeDirectory; // char*
|
|
internal IntPtr Shell; // char*
|
|
};
|
|
|
|
[DllImport(Libraries.SystemNative, EntryPoint = "SystemNative_GetPwUidR", SetLastError = false)]
|
|
internal static extern int GetPwUidR(uint uid, out Passwd pwd, IntPtr buf, int bufLen);
|
|
|
|
[DllImport(Libraries.SystemNative, EntryPoint = "SystemNative_GetEUid")]
|
|
internal static extern uint GetEUid();
|
|
|
|
private static partial class Libraries
|
|
{
|
|
internal const string SystemNative = "System.Native";
|
|
}
|
|
}
|
|
}
|
|
|
|
#endif
|
|
|
|
}
|