!structure.avt

Переключить прокрутку окна
Загрузить этот исходный код

/*
    Реализация среды исполнения языка программирования
    Объектно-ориентированный продвинутый векторный транслятор

    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;
}