/*
Реализация среды исполнения языка программирования
Объектно-ориентированный продвинутый векторный транслятор
Copyright © 2021, 2024 Малик Разработчик
Это свободная программа: вы можете перераспространять ее и/или изменять
ее на условиях Меньшей Стандартной общественной лицензии 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 ContextX8664(Struct)
{
long p1home;
long p2home;
long p3home;
long p4home;
long p5home;
long p6home;
int contextFlags;
int mxcsr;
short cs;
short ds;
short es;
short fs;
short gs;
short ss;
int eflags;
long dr0;
long dr1;
long dr2;
long dr3;
long dr6;
long dr7;
union {
struct {
union {
struct {
byte al;
byte ah;
}
byte r0b;
byte r0l;
byte r00b;
byte r00l;
short ax;
short r0w;
short r00w;
int eax;
int r0d;
int r00d;
long rax;
long r0;
long r00;
}
union {
struct {
byte cl;
byte ch;
}
byte r1b;
byte r1l;
byte r01b;
byte r01l;
short cx;
short r1w;
short r01w;
int ecx;
int r1d;
int r01d;
long rcx;
long r1;
long r01;
}
union {
struct {
byte dl;
byte dh;
}
byte r2b;
byte r2l;
byte r02b;
byte r02l;
short dx;
short r2w;
short r02w;
int edx;
int r2d;
int r02d;
long rdx;
long r2;
long r02;
}
union {
struct {
byte bl;
byte bh;
}
byte r3b;
byte r3l;
byte r03b;
byte r03l;
short bx;
short r3w;
short r03w;
int ebx;
int r3d;
int r03d;
long rbx;
long r3;
long r03;
}
union {
byte spl;
byte r4b;
byte r4l;
byte r04b;
byte r04l;
short sp;
short r4w;
short r04w;
int esp;
int r4d;
int r04d;
long rsp;
long r4;
long r04;
}
union {
byte bpl;
byte r5b;
byte r5l;
byte r05b;
byte r05l;
short bp;
short r5w;
short r05w;
int ebp;
int r5d;
int r05d;
long rbp;
long r5;
long r05;
}
union {
byte sil;
byte r6b;
byte r6l;
byte r06b;
byte r06l;
short si;
short r6w;
short r06w;
int esi;
int r6d;
int r06d;
long rsi;
long r6;
long r06;
}
union {
byte dil;
byte r7b;
byte r7l;
byte r07b;
byte r07l;
short di;
short r7w;
short r07w;
int edi;
int r7d;
int r07d;
long rdi;
long r7;
long r07;
}
union {
byte r8b;
byte r8l;
byte r08b;
byte r08l;
short r8w;
short r08w;
int r8d;
int r08d;
long r8;
long r08;
}
union {
byte r9b;
byte r9l;
byte r09b;
byte r09l;
short r9w;
short r09w;
int r9d;
int r09d;
long r9;
long r09;
}
union {
byte r10b;
byte r10l;
short r10w;
int r10d;
long r10;
}
union {
byte r11b;
byte r11l;
short r11w;
int r11d;
long r11;
}
union {
byte r12b;
byte r12l;
short r12w;
int r12d;
long r12;
}
union {
byte r13b;
byte r13l;
short r13w;
int r13d;
long r13;
}
union {
byte r14b;
byte r14l;
short r14w;
int r14d;
long r14;
}
union {
byte r15b;
byte r15l;
short r15w;
int r15d;
long r15;
}
}
long[16] r;
}
union {
short ip;
int eip;
long rip;
}
short fpuControlWord;
short fpuStatusWord;
byte fpuTagWord; byte;
short fpuOpcode;
int fpuCodeOffset;
short fpuCodeSelector; short;
int fpuDataOffset;
short fpuDataSelector; short;
int fpuMxcsr;
int fpuMxcsrMask;
real st0; short; int;
real st1; short; int;
real st2; short; int;
real st3; short; int;
real st4; short; int;
real st5; short; int;
real st6; short; int;
real st7; short; int;
union {
struct {
union {
byte8 xmm00b;
byte8 xmm0b;
short8 xmm00s;
short8 xmm0s;
int4 xmm00i;
int4 xmm0i;
long2 xmm00l;
long2 xmm0l;
long2 xmm00;
long2 xmm0;
}
union {
byte8 xmm01b;
byte8 xmm1b;
short8 xmm01s;
short8 xmm1s;
int4 xmm01i;
int4 xmm1i;
long2 xmm01l;
long2 xmm1l;
long2 xmm01;
long2 xmm1;
}
union {
byte8 xmm02b;
byte8 xmm2b;
short8 xmm02s;
short8 xmm2s;
int4 xmm02i;
int4 xmm2i;
long2 xmm02l;
long2 xmm2l;
long2 xmm02;
long2 xmm2;
}
union {
byte8 xmm03b;
byte8 xmm3b;
short8 xmm03s;
short8 xmm3s;
int4 xmm03i;
int4 xmm3i;
long2 xmm03l;
long2 xmm3l;
long2 xmm03;
long2 xmm3;
}
union {
byte8 xmm04b;
byte8 xmm4b;
short8 xmm04s;
short8 xmm4s;
int4 xmm04i;
int4 xmm4i;
long2 xmm04l;
long2 xmm4l;
long2 xmm04;
long2 xmm4;
}
union {
byte8 xmm05b;
byte8 xmm5b;
short8 xmm05s;
short8 xmm5s;
int4 xmm05i;
int4 xmm5i;
long2 xmm05l;
long2 xmm5l;
long2 xmm05;
long2 xmm5;
}
union {
byte8 xmm06b;
byte8 xmm6b;
short8 xmm06s;
short8 xmm6s;
int4 xmm06i;
int4 xmm6i;
long2 xmm06l;
long2 xmm6l;
long2 xmm06;
long2 xmm6;
}
union {
byte8 xmm07b;
byte8 xmm7b;
short8 xmm07s;
short8 xmm7s;
int4 xmm07i;
int4 xmm7i;
long2 xmm07l;
long2 xmm7l;
long2 xmm07;
long2 xmm7;
}
union {
byte8 xmm08b;
byte8 xmm8b;
short8 xmm08s;
short8 xmm8s;
int4 xmm08i;
int4 xmm8i;
long2 xmm08l;
long2 xmm8l;
long2 xmm08;
long2 xmm8;
}
union {
byte8 xmm09b;
byte8 xmm9b;
short8 xmm09s;
short8 xmm9s;
int4 xmm09i;
int4 xmm9i;
long2 xmm09l;
long2 xmm9l;
long2 xmm09;
long2 xmm9;
}
union {
byte8 xmm10b;
short8 xmm10s;
int4 xmm10i;
long2 xmm10l;
long2 xmm10;
}
union {
byte8 xmm11b;
short8 xmm11s;
int4 xmm11i;
long2 xmm11l;
long2 xmm11;
}
union {
byte8 xmm12b;
short8 xmm12s;
int4 xmm12i;
long2 xmm12l;
long2 xmm12;
}
union {
byte8 xmm13b;
short8 xmm13s;
int4 xmm13i;
long2 xmm13l;
long2 xmm13;
}
union {
byte8 xmm14b;
short8 xmm14s;
int4 xmm14i;
long2 xmm14l;
long2 xmm14;
}
union {
byte8 xmm15b;
short8 xmm15s;
int4 xmm15i;
long2 xmm15l;
long2 xmm15;
}
}
short8[16] xmms;
int4[16] xmmi;
long2[16] xmml;
long2[16] xmm;
}
byte[96];
long2[26] vectorRegister;
long vectorControl;
long debugControl;
long lastBranchToRIP;
long lastBranchFromRIP;
long lastExceptionToRIP;
long lastExceptionFromRIP;
}
public struct CriticalSection(Struct)
{
long debugInfo;
int lockCount;
int recursionCount;
long owningThread;
long lockSemaphore;
long spinCount;
}
public struct FileTime(Struct)
{
long ftFileTime;
}
public struct MemoryBasicInformation(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 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 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 TimeZoneInformation(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;
}