39 lines
1.2 KiB
Go
39 lines
1.2 KiB
Go
//go:build windows
|
|
|
|
package sysutils
|
|
|
|
/*
|
|
IDState on *NIX-like platforms collects information about the current running process.
|
|
|
|
However, it is only present as a sort of dummy on Windows to make cross-platform development easier.
|
|
Do not expect any sort of usefulness from this struct on Windows other than parsing an IDState generated on *NIX.
|
|
*/
|
|
type IDState struct {
|
|
// RUID: Real UID
|
|
RUID int
|
|
// EUID: Effective UID
|
|
EUID int
|
|
// SUID: Saved Set UID
|
|
SUID int
|
|
// RGID: Real GID
|
|
RGID int
|
|
// EGID: Effective GID
|
|
EGID int
|
|
// SGID: Saved Set GID
|
|
SGID int
|
|
// SudoEnvUser is true if SUDO_USER or SUDO_UID is set.
|
|
SudoEnvUser bool
|
|
// SudoEnvGroup is true if SUDO_GID is set.
|
|
SudoEnvGroup bool
|
|
// SudoEnvCmd is true if SUDO_COMMAND is set.
|
|
SudoEnvCmd bool
|
|
// SudoEnvHome is true if SUDO_HOME is set.
|
|
SudoEnvHome bool
|
|
// SudoEnvVars is true if any of the "well-known" sudo environment variables are set.
|
|
SudoEnvVars bool
|
|
// PPIDUidMatch is true if the parent PID UID matches the current process UID (mismatch usually indicates sudo invocation).
|
|
PPIDUidMatch bool
|
|
// PPIDGidMatch is true if the parent PID GID matches the current process GID (mismatch usually indicates sudo invocation).
|
|
PPIDGidMatch bool
|
|
}
|