| File: src\runtime\src\libraries\System.Private.CoreLib\src\System\Environment.Unix.cs | Web Access |
| Project: System.Private.CoreLib.csproj (System.Private.CoreLib) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using System.Diagnostics; using System.IO; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Text; using System.Threading; namespace System { public static partial class Environment { public static string[] GetLogicalDrives() => Interop.Sys.GetAllMountPoints(); public static string MachineName { get { string hostName = Interop.Sys.GetHostName(); int dotPos = hostName.IndexOf('.'); return dotPos < 0 ? hostName : hostName.Substring(0, dotPos); } } public static string UserName => Interop.Sys.GetUserNameFromPasswd(Interop.Sys.GetEUid()); private static bool IsPrivilegedProcessCore() => Interop.Sys.GetEUid() == 0; [MethodImplAttribute(MethodImplOptions.NoInlining)] // Avoid inlining PInvoke frame into the hot path private static int GetProcessId() => Interop.Sys.GetPid(); [MethodImplAttribute(MethodImplOptions.NoInlining)] // Avoid inlining PInvoke frame into the hot path private static string? GetProcessPath() => Interop.Sys.GetProcessPath(); private static string[] GetCommandLineArgsNative() { // This is only used for delegate created from native host // Consider to use /proc/self/cmdline to get command line return []; } } }