Changeset 716


Ignore:
Timestamp:
Sep 21, 2003, 2:08:24 AM (22 years ago)
Author:
bird
Message:

#668,#562: Added large file support apis. Added some other 'new' Dos apis and their defines and structs.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/emx/include/os2emx.h

    • Property cvs2svn:cvs-rev changed from 1.5 to 1.6
    r715 r716  
    231231typedef unsigned long ULONG;
    232232typedef ULONG *PULONG;
     233
     234#ifndef INCL_LONGLONG_STRUCTS
     235
     236typedef long long LONGLONG;
     237typedef LONGLONG *PLONGLONG;
     238
     239typedef unsigned long long ULONGLONG;
     240typedef ULONGLONG *PULONGLONG;
     241
     242#else
     243
     244typedef struct _LONGLONG
     245{
     246    ULONG   ulLo;
     247    LONG    ulHi;
     248} LONGLONG;
     249typedef LONGLONG *PLONGLONG;
     250
     251typedef struct _ULONGLONG
     252{
     253    ULONG   ulLo;
     254    ULONG   ulHi;
     255} ULONGLONG;
     256typedef ULONGLONG *PULONGLONG;
     257
     258#endif
    233259
    234260typedef VOID *PVOID;
     
    11651191#define fSET                    (fPERM|PAG_COMMIT|PAG_DECOMMIT|PAG_DEFAULT)
    11661192
     1193ULONG APIENTRY DosAliasMem (CPVOID pv, ULONG cb, PPVOID ppvAlias, ULONG fl);
    11671194ULONG APIENTRY DosAllocMem (PPVOID pBaseAddress, ULONG ulObjectSize,
    11681195    ULONG ulAllocationFlags);
     
    11771204ULONG APIENTRY DosQueryMem (CPVOID pBaseAddress, PULONG pulRegionSize,
    11781205    PULONG pulAllocationFlags);
     1206ULONG APIENTRY DosQueryMemState (CPVOID pv, PULONG cb, PULONG pfl);
    11791207ULONG APIENTRY DosSetMem (CPVOID pBaseAddress, ULONG ulRegionSize,
    11801208    ULONG ulAttributeFlags);
     
    12371265#define FIL_QUERYEASIZE                 2
    12381266#define FIL_QUERYEASFROMLIST            3
     1267#define FIL_STANDARDL                   11
     1268#define FIL_QUERYEASIZEL                12
     1269#define FIL_QUERYEASFROMLISTL           13
    12391270#define FIL_QUERYFULLNAME               5 /* DosQueryPathInfo */
    12401271
     
    12421273#define FILE_CURRENT                    1
    12431274#define FILE_END                        2
     1275#define FILE_SECTOR                     0x8000
    12441276
    12451277#define FILE_NORMAL                     0x0000
     
    12971329#define HDIR_SYSTEM                     1
    12981330#define HDIR_CREATE                     ((HDIR)-1)
     1331
     1332#define LISTIO_READ                     0x0004
     1333#define LISTIO_WRITE                    0x0008
     1334
     1335#define LISTIO_ORDERED                  0x0001
     1336#define LISTIO_UNORDERED                0x0002
    12991337
    13001338#define MUST_HAVE_READONLY      (FILE_READONLY  | (FILE_READONLY  << 8))
     
    13291367#define OPEN_FLAGS_DASD                0x8000
    13301368#define OPEN_FLAGS_NONSPOOLED          0x40000
     1369#define OPEN_SHARE_DENYLEGACY          0x10000000
    13311370#define OPEN_FLAGS_PROTECTED_HANDLE    0x40000000
    13321371
     
    15571596typedef FILELOCK *PFILELOCK;
    15581597
     1598typedef struct _FILELOCKL     /* flock */
     1599{
     1600  LONGLONG lOffset;
     1601  LONGLONG lRange;
     1602} FILELOCKL;
     1603typedef FILELOCKL  *PFILELOCKL;
     1604
    15591605typedef struct _FILESTATUS
    15601606{
     
    16151661typedef FILESTATUS4 *PFILESTATUS4;
    16161662
     1663typedef struct _FILESTATUS3L
     1664{
     1665   FDATE    fdateCreation;
     1666   FTIME    ftimeCreation;
     1667   FDATE    fdateLastAccess;
     1668   FTIME    ftimeLastAccess;
     1669   FDATE    fdateLastWrite;
     1670   FTIME    ftimeLastWrite;
     1671   LONGLONG cbFile;
     1672   LONGLONG cbFileAlloc;
     1673   ULONG    attrFile;
     1674} FILESTATUS3L;
     1675typedef FILESTATUS3L *PFILESTATUS3L;
     1676
     1677typedef struct _FILESTATUS4L
     1678{
     1679   FDATE    fdateCreation;
     1680   FTIME    ftimeCreation;
     1681   FDATE    fdateLastAccess;
     1682   FTIME    ftimeLastAccess;
     1683   FDATE    fdateLastWrite;
     1684   FTIME    ftimeLastWrite;
     1685   LONGLONG cbFile;
     1686   LONGLONG cbFileAlloc;
     1687   ULONG    attrFile;
     1688   ULONG    cbList;
     1689} FILESTATUS4L;
     1690typedef FILESTATUS4L  *PFILESTATUS4L;
     1691
    16171692typedef struct _FSALLOCATE
    16181693{
     
    16711746typedef FSINFO *PFSINFO;
    16721747
     1748typedef struct _LISTIO_CB
     1749{
     1750  HFILE    hFile;
     1751  ULONG    CmdFlag;
     1752  LONG     Offset;
     1753  PVOID    pBuffer;
     1754  ULONG    NumBytes;
     1755  ULONG    Actual;
     1756  ULONG    RetCode;
     1757  ULONG    Reserved;
     1758  ULONG    Reserved2[3];
     1759  ULONG    Reserved3[2];
     1760} LISTIO;
     1761typedef LISTIO *PLISTIO;
     1762
     1763typedef struct _LISTIO_CBL
     1764{
     1765  HFILE     hFile;
     1766  ULONG     CmdFlag;
     1767  LONGLONG  Offset;
     1768  PVOID     pBuffer;
     1769  ULONG     NumBytes;
     1770  ULONG     Actual;
     1771  ULONG     RetCode;
     1772  ULONG     Reserved;
     1773  ULONG     Reserved2[3];
     1774  ULONG     Reserved3[2];
     1775} LISTIOL;
     1776typedef LISTIOL *PLISTIOL;
    16731777
    16741778ULONG APIENTRY DosCancelLockRequest (HFILE hFile, __const__ FILELOCK *pfl);
     1779ULONG APIENTRY DosCancelLockRequestL (HFILE hFile, __const__ FILELOCKL *pfl);
    16751780ULONG APIENTRY DosClose (HFILE hFile);
    16761781ULONG APIENTRY DosCopy (PCSZ pszSource, PCSZ pszTarget, ULONG ulOption);
     
    16951800    PVOID pParmList, ULONG ulParmLengthMax, PULONG pulParmLength,
    16961801    ULONG ulFunction, PCSZ pszRouteName, HFILE hFile, ULONG ulMethod);
     1802ULONG APIENTRY DosListIO (ULONG ulCmdMode, ULONG cEntries, PLISTIO pListIO);
     1803ULONG APIENTRY DosListIOL (ULONG ulCmdMode, ULONG cEntries, PLISTIOL pListIO);
    16971804ULONG APIENTRY DosMove (PCSZ pszOldName, PCSZ pszNewName);
    16981805ULONG APIENTRY DosOpen (PCSZ pszFileName, PHFILE phFile, PULONG pulAction,
    16991806    ULONG ulFileSize, ULONG ulAttribute, ULONG ulOpenFlags, ULONG ulOpenMode,
     1807    PEAOP2 pEABuf);
     1808ULONG APIENTRY DosOpenL (PCSZ pszFileName, PHFILE phFile, PULONG pulAction,
     1809    LONGLONG llFileSize, ULONG ulAttribute, ULONG ulOpenFlags, ULONG ulOpenMode,
    17001810    PEAOP2 pEABuf);
    17011811ULONG APIENTRY DosProtectClose (HFILE hFile, FHLOCK fhFileHandleLockID);
     
    17041814    ULONG ulInfoLevel, FHLOCK fhFileHandleLockID);
    17051815ULONG APIENTRY DosProtectOpen (PCSZ pszFileName, PHFILE phFile, PULONG pulAction,
    1706     ULONG ulFileSize, ULONG ulAttribute, ULONG ulOpenFlags, ULONG ulOpenMode,
     1816    ULONG cbFile, ULONG ulAttribute, ULONG ulOpenFlags, ULONG ulOpenMode,
    17071817    PEAOP2 pEABuf, PFHLOCK pfhFileHandleLockID);
     1818ULONG APIENTRY DosProtectOpenL (PCSZ pszFileName, PHFILE phFile, PULONG pulAction,
     1819    LONGLONG cbFile, ULONG ulAttribute, ULONG flOpenFlags, ULONG flOpenMode,
     1820    PEAOP2 peaop2, PFHLOCK pfhFileHandleLockID);
    17081821ULONG APIENTRY DosProtectQueryFHState (HFILE hFile, PULONG pulMode,
    17091822    FHLOCK fhFileHandleLockID);
     
    17171830    ULONG ulInfoLength, FHLOCK fhFileHandleLockID);
    17181831ULONG APIENTRY DosProtectSetFileLocks (HFILE hFile, __const__ FILELOCK *pflUnlock,
    1719     __const__ FILELOCK *pflLock, ULONG ulTimeout, ULONG ulFlags,
     1832    __const__ FILELOCK *pflLock, ULONG ulTimeout, ULONG flFlags,
     1833    FHLOCK fhFileHandleLockID);
     1834ULONG APIENTRY DosProtectSetFileLocksL (HFILE hFile, __const__ FILELOCKL *pflUnlock,
     1835    __const__ FILELOCKL *pflLock, ULONG ulTimeout, ULONG flFlags,
    17201836    FHLOCK fhFileHandleLockID);
    17211837ULONG APIENTRY DosProtectSetFilePtr (HFILE hFile, LONG lOffset, ULONG ulOrigin,
    17221838    PULONG pulPos, FHLOCK fhFileHandleLockID);
    1723 ULONG APIENTRY DosProtectSetFileSize (HFILE hFile, ULONG ulSize,
     1839ULONG APIENTRY DosProtectSetFilePtrL (HFILE hFile, LONGLONG llOffset, ULONG ulOrigin,
     1840    PLONGLONG pllPos, FHLOCK fhFileHandleLockID);
     1841ULONG APIENTRY DosProtectSetFileSize (HFILE hFile, ULONG cbSize,
     1842    FHLOCK fhFileHandleLockID);
     1843ULONG APIENTRY DosProtectSetFileSizeL (HFILE hFile, LONGLONG cbSize,
    17241844    FHLOCK fhFileHandleLockID);
    17251845ULONG APIENTRY DosProtectWrite (HFILE hFile, CPVOID pBuffer, ULONG ulLength,
     
    17481868ULONG APIENTRY DosSetFileLocks (HFILE hFile, __const__ FILELOCK *pflUnlock,
    17491869    __const__ FILELOCK *pflLock, ULONG ulTimeout, ULONG ulFlags);
     1870ULONG APIENTRY DosSetFileLocksL (HFILE hFile, __const__ FILELOCKL *pflUnlock,
     1871    __const__ FILELOCKL *pflLock, ULONG ulTimeout, ULONG flFlags);
    17501872ULONG APIENTRY DosSetFilePtr (HFILE hFile, LONG lOffset, ULONG ulOrigin, PULONG pulPos);
    1751 ULONG APIENTRY DosSetFileSize (HFILE hFile, ULONG ulSize);
     1873ULONG APIENTRY DosSetFilePtrL (HFILE hFile, LONGLONG llOffset, ULONG ulOrigin, PLONGLONG pllPos);
     1874ULONG APIENTRY DosSetFileSize (HFILE hFile, ULONG cbSize);
     1875ULONG APIENTRY DosSetFileSizeL (HFILE hFile, LONGLONG cbSize);
    17521876ULONG APIENTRY DosSetFSInfo (ULONG ulDrive, ULONG ulInfoLevel, PVOID pBuf,
    17531877    ULONG ulBufLength);
     
    25762700#if defined (INCL_DOSPROCESS)
    25772701
     2702#define AFNTY_THREAD            0
     2703#define AFNTY_SYSTEM            1
     2704
    25782705#define CREATE_READY            0
    25792706#define CREATE_SUSPENDED        1
     
    26772804typedef FNEXITLIST *PFNEXITLIST;
    26782805
     2806typedef struct _MPAFFINITY
     2807{
     2808  ULONG         mask[2];
     2809} MPAFFINITY;
     2810typedef MPAFFINITY *PMPAFFINITY;
     2811
     2812typedef struct _THREADCREATE
     2813{
     2814  ULONG         cbSize;
     2815  PTID          pTid;
     2816  PFNTHREAD     pfnStart;
     2817  ULONG         lParam;
     2818  ULONG         lFlag;
     2819  PBYTE         pStack;
     2820  ULONG         cbStack;
     2821} THREADCREATE;
     2822typedef THREADCREATE *PTHREADCREATE;
    26792823
    26802824ULONG APIENTRY DosAllocThreadLocalMemory (ULONG cb, PULONG *p);
    26812825ULONG APIENTRY DosCreateThread (PTID ptidThreadID, PFNTHREAD pfnThreadAddr,
    26822826    ULONG ulThreadArg, ULONG ulFlags, ULONG ulStackSize);
     2827ULONG APIENTRY DosCreateThread2 (PTHREADCREATE ptc);
    26832828ULONG APIENTRY DosEnterCritSec (VOID);
    26842829ULONG APIENTRY DosExecPgm (PCHAR pObjname, LONG lObjnameLength, ULONG ulFlagS,
     
    26902835ULONG APIENTRY DosKillProcess (ULONG ulAction, PID pid);
    26912836ULONG APIENTRY DosKillThread (TID tid);
     2837ULONG APIENTRY DosQueryThreadAffinity (ULONG ulScope, PMPAFFINITY pAffinity);
    26922838ULONG APIENTRY DosResumeThread (TID tid);
    26932839ULONG APIENTRY DosSetPriority (ULONG ulScope, ULONG ulClass, LONG lDelta, ULONG ulID);
     2840ULONG APIENTRY DosSetThreadAffinity (PMPAFFINITY pAffinity);
    26942841ULONG APIENTRY DosSleep (ULONG ulInterval);
    26952842ULONG APIENTRY DosSuspendThread (TID tid);
     
    27242871                                   FAPPTYP_PHYSDRV | FAPPTYP_VIRTDRV | \
    27252872                                   FAPPTYP_PROTDLL | FAPPTYP_32BIT))
     2873
     2874#ifdef INCL_DOSFILEMGR
     2875
     2876#define EAT_APPTYP_PMAPI        0
     2877#define EAT_APPTYP_DOS          1
     2878#define EAT_APPTYP_PMW          2
     2879#define EAT_APPTYP_NOPMW        3
     2880#define EAT_APPTYP_EXETYPE      3
     2881#define EAT_APPTYP_RESERVED     ~(EAT_APPTYP_EXETYPE)
     2882
     2883#endif /* INCL_DOSFILEMGR */
    27262884
    27272885#endif /* INCL_DOSSESMGR || INCL_DOSFILEMGR */
     
    28182976#define DCMW_WAIT_ANY           0x02
    28192977#define DCMW_WAIT_ALL           0x04
     2978#define DCE_POSTONE             0x0800
     2979#define DCE_AUTORESET           0x1000
    28202980
    28212981#define SEM_INDEFINITE_WAIT     ((ULONG)-1)
     
    31953355#endif /* INCL_DOSMISC */
    31963356
    3197 /* ---------------------------- TIMERS ------------------------------------ */
     3357/* ----------------------------- TIME ------------------------------------- */
    31983358
    31993359#if defined (INCL_DOSDATETIME) || !defined (INCL_NOCOMMON)
     
    32323392#if defined (INCL_DOSPROFILE)
    32333393
     3394#define PROF_ORDINAL                133
     3395
     3396#define PROF_SYSTEM                 0
     3397#define PROF_USER                   1
     3398#define PROF_USEDD                  2
     3399#define PROF_KERNEL                 4
     3400#define PROF_VERBOSE                8
     3401#define PROF_ENABLE                 16
     3402
     3403#define PROF_ALLOC                  0
     3404#define PROF_CLEAR                  1
     3405#define PROF_ON                     2
     3406#define PROF_OFF                    3
     3407#define PROF_DUMP                   4
     3408#define PROF_FREE                   5
     3409
     3410#define PROF_SHIFT                  2
     3411
     3412#define PROF_MOD_NAME_SIZE          10
     3413
     3414#define PROF_END_OF_DATA            13
     3415
     3416#define PADSHORT                    USHORT pad_sh
     3417#define PADCHAR                     UCHAR  pad_ch
     3418
     3419#define QS_PROCESS                  0x0001
     3420#define QS_SEMAPHORE                0x0002
     3421#define QS_MTE                      0x0004
     3422#define QS_FILESYS                  0x0008
     3423#define QS_SHMEMORY                 0x0010
     3424#define QS_DISK                     0x0020
     3425#define QS_HWCONFIG                 0x0040
     3426#define QS_NAMEDPIPE                0x0080
     3427#define QS_THREAD                   0x0100
     3428#define QS_MODVER                   0x0200
     3429#define QS_SUPPORTED                (QS_PROCESS|QS_SEMAPHORE|QS_MTE|QS_FILESYS|QS_SHMEMORY|QS_MODVER)
     3430
     3431#define QS_END                      0L
     3432
     3433#define QS_SYSSEM_WAITING           0x01
     3434#define QS_SYSSEM_MUXWAITING        0x02
     3435#define QS_SYSSEM_OWNER_DIED        0x04
     3436#define QS_SYSSEM_EXCLUSIVE         0x08
     3437#define QS_SYSSEM_NAME_CLEANUP      0x10
     3438#define QS_SYSSEM_THREAD_OWNER_DIED 0x20
     3439#define QS_SYSSEM_EXITLIST_OWNER    0x40
     3440
     3441#define QS_DC_SEM_SHARED            0x0001
     3442#define QS_DCMW_WAIT_ANY            0x0002
     3443#define QS_DCMW_WAIT_ALL            0x0004
     3444#define QS_DCM_MUTEX_SEM            0x0008
     3445#define QS_DCE_EVENT_SEM            0x0010
     3446#define QS_DCMW_MUX_SEM             0x0020
     3447#define QS_DC_SEM_PM                0x0040
     3448#define QS_DE_POSTED                0x0040
     3449#define QS_DM_OWNER_DIED            0x0080
     3450#define QS_DMW_MTX_MUX              0x0100
     3451#define QS_DHO_SEM_OPEN             0x0200
     3452#define QS_DE_16BIT_MW              0x0400
     3453#define QS_DCE_POSTONE              0x0800
     3454#define QS_DCE_AUTORESET            0x1000
     3455
    32343456typedef struct _QWORD
    32353457{
     
    32393461typedef QWORD *PQWORD;
    32403462
     3463typedef struct _QSGREC
     3464{
     3465  ULONG         cThrds;
     3466  ULONG         c32SSem;
     3467  ULONG         cMFTNodes;
     3468} QSGREC;
     3469typedef QSGREC qsGrec_t;
     3470
     3471typedef struct _QSTREC
     3472{
     3473  ULONG         RecType;
     3474  USHORT        tid;
     3475  USHORT        slot;
     3476  ULONG         sleepid;
     3477  ULONG         priority;
     3478  ULONG         systime;
     3479  ULONG         usertime;
     3480  UCHAR         state;
     3481  PADCHAR;
     3482  PADSHORT;
     3483} QSTREC;
     3484typedef QSTREC qsTrec_t;
     3485
     3486typedef struct _QSPREC
     3487{
     3488  ULONG         RecType;
     3489  QSTREC       *pThrdRec;
     3490  USHORT        pid;
     3491  USHORT        ppid;
     3492  ULONG         type;
     3493  ULONG         stat;
     3494  ULONG         sgid;
     3495  USHORT        hMte;
     3496  USHORT        cTCB;
     3497  ULONG         c32PSem;
     3498  VOID         *p32SemRec;
     3499  USHORT        c16Sem;
     3500  USHORT        cLib;
     3501  USHORT        cShrMem;
     3502  USHORT        cFH;
     3503  USHORT       *p16SemRec;
     3504  USHORT       *pLibRec;
     3505  USHORT       *pShrMemRec;
     3506  USHORT       *pFSRec;
     3507} QSPREC;
     3508typedef QSPREC qsPrec_t;
     3509
     3510typedef struct _QSS16REC
     3511{
     3512  ULONG         NextRec;
     3513  USHORT        SysSemOwner;
     3514  UCHAR         SysSemFlag;
     3515  UCHAR         SysSemRefCnt;
     3516  UCHAR         SysSemProcCnt;
     3517  UCHAR         SysSemPad;
     3518  USHORT        pad_sh;
     3519  USHORT        SemPtr;
     3520  CHAR          SemName;
     3521} QSS16REC;
     3522typedef QSS16REC qsS16rec_t;
     3523
     3524typedef struct _QSS16HEADREC
     3525{
     3526  ULONG         SRecType;
     3527  ULONG         SpNextRec;
     3528  ULONG         S32SemRec;
     3529  ULONG         S16TblOff;
     3530  ULONG         pSem16Rec;
     3531} QSS16HEADREC;
     3532typedef QSS16HEADREC qsS16Headrec_t;
     3533
     3534typedef struct _QSMREC
     3535{
     3536  ULONG         MemNextRec;
     3537  USHORT        hmem;
     3538  USHORT        sel;
     3539  USHORT        refcnt;
     3540  CHAR          Memname;
     3541} QSMREC;
     3542typedef QSMREC qsMrec_t;
     3543
     3544typedef struct _QSOPENQ
     3545{
     3546  USHORT        pidOpener;
     3547  USHORT        OpenCt;
     3548} QSOPENQ;
     3549
     3550typedef struct _QSEVENT
     3551{
     3552  ULONG        *pMuxQ;
     3553  USHORT        PostCt;
     3554} QSEVENT;
     3555
     3556typedef struct _QSMUTEX
     3557{
     3558  ULONG        *pMuxQ;
     3559  USHORT        ReqCt;
     3560  USHORT        SlotNum;
     3561} QSMUTEX;
     3562
     3563typedef struct _QSMUX
     3564{
     3565  VOID         *pSemRec;
     3566  USHORT        cSemRec;
     3567  USHORT        WaitCt;
     3568} QSMUX;
     3569
     3570typedef union _QSHUN
     3571{
     3572  QSEVENT       qsSEvt;
     3573  QSMUTEX       qsSMtx;
     3574  QSMUX         qsSMux;
     3575} QSHUN;
     3576
     3577typedef struct _QSS32REC
     3578{
     3579  PVOID        *pNextRec;
     3580  USHORT        flags;
     3581  PADSHORT;
     3582  UCHAR        *pName;
     3583  QSHUN         qsh;
     3584  ULONG         blockid;
     3585  USHORT        index;
     3586  USHORT        OpenCt;
     3587  QSOPENQ       OpenQ[1];
     3588} QSS32REC;
     3589typedef QSS32REC qsS32rec_t;
     3590
     3591typedef struct _QSLOBJREC
     3592{
     3593  ULONG         oaddr;
     3594  ULONG         osize;
     3595  ULONG         oflags;
     3596} QSLOBJREC;
     3597typedef QSLOBJREC qsLObjrec_t;
     3598
     3599typedef struct _QSLREC
     3600{
     3601  PVOID        *pNextRec;
     3602  USHORT        hmte;
     3603  USHORT        fFlat;
     3604  ULONG         ctImpMod;
     3605  ULONG         ctObj;
     3606  QSLOBJREC    *pObjInfo;
     3607  UCHAR        *pName;
     3608} QSLREC;
     3609typedef QSLREC qsLrec_t;
     3610
     3611typedef struct _QSEXLREC
     3612{
     3613  struct _QSEXLREC *next;
     3614  USHORT        hndmod;
     3615  USHORT        pid;
     3616  USHORT        type;
     3617  ULONG         refcnt;
     3618  ULONG         segcnt;
     3619  VOID         *_reserved_;
     3620  UCHAR        *name;
     3621  ULONG         ModuleVersion;
     3622  UCHAR        *ShortModName;
     3623  ULONG         modref;
     3624} QSEXLREC;
     3625typedef QSEXLREC qsExLrec_t;
     3626
     3627#pragma pack(1)
     3628typedef struct _QSSFT
     3629{
     3630  USHORT        sfn;
     3631  USHORT        refcnt;
     3632  USHORT        flags;
     3633  USHORT        flags2;
     3634  USHORT        mode;
     3635  USHORT        mode2;
     3636  ULONG         size;
     3637  USHORT        hVPB;
     3638  USHORT        attr;
     3639  PADSHORT;
     3640} QSSFT;
     3641#pragma pack()
     3642typedef QSSFT qsSft_t;
     3643
     3644typedef struct _QSFREC
     3645{
     3646  ULONG         RecType;
     3647  PVOID        *pNextRec;
     3648  ULONG         ctSft;
     3649  QSSFT        *pSft;
     3650} QSFREC;
     3651typedef QSFREC qsFrec_t;
     3652
     3653typedef struct _QSPTRREC
     3654{
     3655  QSGREC       *pGlobalRec;
     3656  QSPREC       *pProcRec;
     3657  QSS16HEADREC *p16SemRec;
     3658  QSS32REC     *p32SemRec;
     3659  QSMREC       *pMemRec;
     3660  QSLREC       *pLibRec;
     3661  QSMREC       *pShrMemRec;
     3662  QSFREC       *pFSRec;
     3663} QSPTRREC;
     3664typedef QSPTRREC qsPtrRec_t;
     3665
     3666ULONG APIENTRY DosAliasPerfCtrs (ULONG ulRangeType, ULONG ulInfo,
     3667    PBYTE *ppbRangeStart, ULONG *pulRangeSize);
     3668ULONG APIENTRY DosConfigurePerf (ULONG ulEntityType, ULONG ulConfigType,
     3669    ULONG ulInfo1, ULONG ulInfo2, PCSZ  pszConfigSpec, BOOL32 fExclude);
     3670ULONG APIENTRY DosDeconPerf (VOID);
     3671ULONG APIENTRY DosPerfSysCall (ULONG ulCommand, ULONG ulParm1, ULONG ulParm2,
     3672    ULONG ulParm3);
     3673ULONG APIENTRY DosQuerySysState (ULONG ulEntityList, ULONG ulEntityLevel,
     3674    PID pid, TID tid, PVOID pvDataBuf, ULONG cbBuf);
     3675ULONG APIENTRY DosRegisterPerfCtrs (PBYTE pbDataBlk, PBYTE pbTextBlk, ULONG flFlags);
    32413676ULONG APIENTRY DosTmrQueryFreq (PULONG pulTmrFreq);
    32423677ULONG APIENTRY DosTmrQueryTime (PQWORD pqwTmrTime);
     
    32643699
    32653700#endif /* INCL_DOSMVDM */
     3701
     3702/* --------------------------- SPINLOCKS ---------------------------------- */
     3703
     3704#if defined(INCL_DOSSPINLOCK)
     3705
     3706#define PROC_OFFLINE            0
     3707#define PROC_ONLINE             1
     3708
     3709typedef ULONG HSPINLOCK;
     3710typedef HSPINLOCK  *PHSPINLOCK;
     3711
     3712ULONG APIENTRY DosCreateSpinLock (PHSPINLOCK pHandle);
     3713ULONG APIENTRY DosFreeSpinLock (HSPINLOCK hSpinLock);
     3714ULONG APIENTRY DosGetProcessorStatus (ULONG ulProcNum, PULONG pStatus);
     3715ULONG APIENTRY DosGetProcessorStatus (ULONG ulProcid, PULONG pulStatus);
     3716ULONG APIENTRY DosPerfSysCall (ULONG ulCommand, ULONG ulParm1, ULONG ulParm2, ULONG ulParm3);
     3717ULONG APIENTRY DosSetProcessorStatus (ULONG ulProcNum, ULONG pStatus);
     3718ULONG APIENTRY DosSetProcessorStatus (ULONG ulProcid, ULONG ulStatus);
     3719ULONG APIENTRY DosTestPSD (PCSZ pszPSDFileName);
     3720VOID  APIENTRY DosAcquireSpinLock (HSPINLOCK hSpinLock);
     3721VOID  APIENTRY DosReleaseSpinLock (HSPINLOCK hSpinLock);
     3722
     3723#endif
    32663724
    32673725/* --------------------------- DEBUGGING ---------------------------------- */
     
    33023760#define DBG_C_LinToSel                  30
    33033761#define DBG_C_SelToLin                  31
     3762#define DBG_C_RegisterSemList           32
     3763#define DBG_C_Attach                    33
     3764#define DBG_C_Detach                    34
     3765#define DBG_C_RegDebug                  35
     3766#define DBG_C_QueryDebug                36
    33043767
    33053768#define DBG_N_Success                   0
     
    33443807#define DBG_X_LAST_CHANCE               0x00000002
    33453808#define DBG_X_STACK_INVALID             0x00000003
     3809
     3810#define JIT_REG_INHERIT                 0x00010000
     3811#define JIT_REG_NOINHERIT               0x00020000
     3812#define JIT_REG_DETACH                  0x00030000
     3813#define JIT_REG_FG                      0x00040000
     3814
     3815#define DBGQ_JIT_GLOBAL                 0x10000000
     3816#define DBGQ_JIT_PERPROC                0x20000000
    33463817
    33473818typedef struct _TStat
     
    34393910#define SIS_MEC_TABLE                   1
    34403911#define SIS_SYS_LOG                     2
     3912#define SIS_PERF_MEC_TABLE              3
    34413913
    34423914#define SPU_DISABLESUPPRESSION          0
    34433915#define SPU_ENABLESUPPRESSION           1
     3916#define SPU_NOLOGCHANGE                 2
    34443917
    34453918ULONG APIENTRY DosDumpProcess (ULONG ulFlag, ULONG ulDrive, PID pid);
Note: See TracChangeset for help on using the changeset viewer.