/*
Реализация среды исполнения языка программирования
Объектно-ориентированный продвинутый векторный транслятор
Copyright © 2021, 2024, 2026 Малик Разработчик
Это свободная программа: вы можете перераспространять ее и/или изменять
ее на условиях Меньшей Стандартной общественной лицензии GNU в том виде,
в каком она была опубликована Фондом свободного программного обеспечения;
либо версии 3 лицензии, либо (по вашему выбору) любой более поздней версии.
Эта программа распространяется в надежде, что она будет полезной,
но БЕЗО ВСЯКИХ ГАРАНТИЙ; даже без неявной гарантии ТОВАРНОГО ВИДА
или ПРИГОДНОСТИ ДЛЯ ОПРЕДЕЛЕННЫХ ЦЕЛЕЙ. Подробнее см. в Меньшей Стандартной
общественной лицензии GNU.
Вы должны были получить копию Меньшей Стандартной общественной лицензии GNU
вместе с этой программой. Если это не так, см.
<https://www.gnu.org/licenses/>.
*/
package platform.dependent.mswindows.kernel;
public struct KUSER_SHARED_DATA(Struct)
{
int tickCountLowDeprecated;
int tickCountMultiplier;
long interruptTime; int;
long systemTime; int;
long timeZoneBias; int;
short imageNumberLow;
short imageNumberHigh;
char[260] ntSystemRoot;
int maxStackTraceDepth;
int cryptoExponent;
int timeZoneId;
int largePageMinimum;
int aitSamplingValue;
int appCompatFlag;
long rngSeedVersion;
int globalValidationRunlevel;
int timeZoneBiasStamp;
int ntBuildNumber;
int ntProductType;
boolean productTypeIsValid; boolean;
short nativeProcessorArchitecture;
int ntMajorVersion;
int ntMinorVersion;
boolean[64] processorFeatures; int; int;
int timeSlip;
int alternativeArchitecture;
int bootId;
long systemExpirationDate;
int suiteMask;
boolean kdDebuggerEnabled;
byte mitigationPolicies;
short cyclesPerYield;
int activeConsoleId;
int dismountCount;
int comPlusPackage;
int lastSystemRITEventTickCount;
int numberOfPhysicalPages;
boolean safeBootMode;
byte virtualizationFlags; byte[2];
int sharedDataFlags;
int dataFlagsPad;
long testRetInstruction;
long qpcFrequency;
int systemCall; int;
long[2] systemCallPad;
union {
long tickCount;
long tickCountQuad;
struct {
int[3] reservedTickCountOverlay;
int tickCountPad;
}
}
int cookie;
int cookiePad;
long consoleSessionForegroundProcessId;
long timeUpdateLock;
long baselineSystemTimeQpc;
long baselineInterruptTimeQpc;
long qpcSystemTimeIncrement;
long qpcInterruptTimeIncrement;
byte qpcSystemTimeIncrementShift;
byte qpcInterruptTimeIncrementShift;
short unparkedProcessorCount;
int[4] enclaveFeatureMask;
int telemetryCoverageRound;
short[16] userModeGlobalLogger;
int imageFileExecutionOptions;
int langGenerationCount; long;
long interruptTimeBias;
long qpcBias;
int activeProcessorCount;
byte activeGroupCount; byte;
union {
struct {
byte qpcBypassEnabled;
byte qpcShift;
}
short qpcData;
}
long timeZoneBiasEffectiveStart;
long timeZoneBiasEffectiveEnd;
long xstateEnabledFeatures;
long xstateEnabledVolatileFeatures;
int xstateSize;
int xstateControlFlags;
int2[64] xstateFeatures;
long xstateEnabledSupervisorFeatures;
long xstateAlignedFeatures;
int xstateAllFeatureSize;
int[64] xstateAllFeatures;
long featureConfigurationChangeStamp; int;
int spare;
}
public struct ACL(Struct)
{
byte aclRevision;
byte sbz1;
short aclSize;
short aceCount;
short sbz2;
}
public struct CriticalSection(Struct)
{
long debugInfo;
int lockCount;
int recursionCount;
long owningThread;
long lockSemaphore;
long spinCount;
}
public struct FileTime(Struct)
{
long ftFileTime;
}
public struct MemoryBasicInfo(Struct)
{
long baseAddress;
long allocationBase;
int allocationProtect;
short partitionId; short;
long regionSize;
int state;
int protect;
int type;
int;
}
public struct Overlapped(Struct)
{
long2 internal; /* int128 */
long offset;
long hEvent;
}
public struct ProcessEntry32(Struct)
{
int dwSize;
int cntUsage;
int th32ProcessId; int;
long th32DefaultHeapId;
int th32ModuleId;
int cntThreads;
int th32ParentProcessId;
int pcPriClassBase;
int dwFlags;
char[262] szExeFile;
}
public struct ProcessInfo(Struct)
{
long hProcess;
long hThread;
int dwProcessId;
int dwThreadId;
}
public struct SecurityAttributes(Struct)
{
int nLength; int;
long lpSecurityDescriptor; /* → SecurityDescriptor */
int bInheritHandle; int;
}
public struct SecurityDescriptor(Struct)
{
byte revision;
byte sbz1;
short control; int;
long owner; /* → SID */
long group; /* → SID */
long sacl; /* → ACL */
long dacl; /* → ACL */
}
public struct SID(Struct)
{
byte revision;
byte subAuthorityCount;
byte[6] identifierAuthority;
int[255] subAuthority; int;
}
public struct StartupInfo(Struct)
{
int dwSize; int;
long lpReserved1; /* → char[] */
long lpDesktop; /* → char[] */
long lpTitle; /* → char[] */
int2 dwWindowPos;
int2 dwWindowSize;
int2 dwCountChars;
int dwFillAttribute;
int dwFlags;
short wShowWindow;
short cbReserved2; int;
long lpReserved2; /* → byte[] */
long hStdInput;
long hStdOutput;
long hStdError;
}
public struct SystemInfo(Struct)
{
short wProcessorArchitecture; short;
int dwPageSize;
long lpMinimumApplicationAddress;
long lpMaximumApplicationAddress;
long dwActiveProcessorMask;
int dwNumberOfProcessors;
int dwProcessorType;
int dwAllocationGranularity;
short wProcessorLevel;
short wProcessorRevision;
}
public struct SystemTime(Struct)
{
short year;
short month;
short dayOfWeek;
short dayOfMonth;
short hour;
short minute;
short second;
short millisecond;
}
public struct ThreadEntry32(Struct)
{
int dwSize;
int cntUsage;
int th32ThreadID;
int th32OwnerProcessID;
int tpBasePriority;
int tpDeltaPriority;
int dwFlags;
}
public struct TimeZoneInfo(Struct)
{
int bias;
char[32] standardName;
short[8] standardDate;
int standardBias;
char[32] daylightName;
short[8] daylightDate;
int daylightBias;
}
public struct Win32FindData(Struct)
{
int dwFileAttributes;
long ftCreationTime;
long ftLastAccessTime;
long ftLastWriteTime;
int nFileSizeHigh;
int nFileSizeLow; int; int;
char[260] cFileName;
char[14] cAlternateFileName;
int dwFileType;
int dwCreatorType;
short wFinderFlags;
}