From: Rafaël Carré Date: Mon, 10 Sep 2007 20:28:47 +0000 (+0000) Subject: Revert previous commit for loader as it is external to vlc X-Git-Tag: 0.9.0-test0~5690 X-Git-Url: https://git.sesse.net/?a=commitdiff_plain;h=dcfd2c71c6e196ca7228a1efaa311ebb464c4ec6;p=vlc Revert previous commit for loader as it is external to vlc --- diff --git a/libs/loader/afl.c b/libs/loader/afl.c index 5f6b59a26b..421414874a 100644 --- a/libs/loader/afl.c +++ b/libs/loader/afl.c @@ -33,7 +33,7 @@ Its content will be based mainly on wine/dlls/msacm32 actually, for audio decompression only the following functions are needed: - + acmStreamOpen ( takes formats of src and dest, returns stream handle ) acmStreamPrepareHeader ( takes stream handler and info on data ) acmStreamConvert ( the same as PrepareHeader ) @@ -41,13 +41,13 @@ acmStreamClose acmStreamSize maybe acmStreamReset - - In future I'll also add functions for format enumeration, + + In future I'll also add functions for format enumeration, but not right now. Modified for use with MPlayer, detailed CVS changelog at http://www.mplayerhq.hu/cgi-bin/cvsweb.cgi/main/ - + ***************************************************************************/ #include "config.h" @@ -82,30 +82,30 @@ static inline PWINE_ACMSTREAM ACM_GetStream(HACMSTREAM has) * acmDriverAddA (MSACM32.2) */ MMRESULT WINAPI acmDriverAddA(PHACMDRIVERID phadid, HINSTANCE hinstModule, - LPARAM lParam, DWORD dwPriority, DWORD fdwAdd) + LPARAM lParam, DWORD dwPriority, DWORD fdwAdd) { if (!phadid) - return MMSYSERR_INVALPARAM; - + return MMSYSERR_INVALPARAM; + /* Check if any unknown flags */ - if (fdwAdd & - ~(ACM_DRIVERADDF_FUNCTION|ACM_DRIVERADDF_NOTIFYHWND| - ACM_DRIVERADDF_GLOBAL)) - return MMSYSERR_INVALFLAG; - + if (fdwAdd & + ~(ACM_DRIVERADDF_FUNCTION|ACM_DRIVERADDF_NOTIFYHWND| + ACM_DRIVERADDF_GLOBAL)) + return MMSYSERR_INVALFLAG; + /* Check if any incompatible flags */ - if ((fdwAdd & ACM_DRIVERADDF_FUNCTION) && - (fdwAdd & ACM_DRIVERADDF_NOTIFYHWND)) - return MMSYSERR_INVALFLAG; - - /* FIXME: in fact, should GetModuleFileName(hinstModule) and do a + if ((fdwAdd & ACM_DRIVERADDF_FUNCTION) && + (fdwAdd & ACM_DRIVERADDF_NOTIFYHWND)) + return MMSYSERR_INVALFLAG; + + /* FIXME: in fact, should GetModuleFileName(hinstModule) and do a * LoadDriver on it, to be sure we can call SendDriverMessage on the * hDrvr handle. */ *phadid = (HACMDRIVERID) MSACM_RegisterDriver(NULL, 0, hinstModule); - + /* FIXME: lParam, dwPriority and fdwAdd ignored */ - + return MMSYSERR_NOERROR; } @@ -116,26 +116,26 @@ MMRESULT WINAPI acmDriverClose(HACMDRIVER had, DWORD fdwClose) { PWINE_ACMDRIVER p; PWINE_ACMDRIVER* tp; - + if (fdwClose) - return MMSYSERR_INVALFLAG; - + return MMSYSERR_INVALFLAG; + p = MSACM_GetDriver(had); if (!p) - return MMSYSERR_INVALHANDLE; + return MMSYSERR_INVALHANDLE; for (tp = &(p->obj.pACMDriverID->pACMDriverList); *tp; *tp = (*tp)->pNextACMDriver) { - if (*tp == p) { - *tp = (*tp)->pNextACMDriver; - break; + if (*tp == p) { + *tp = (*tp)->pNextACMDriver; + break; + } } - } - + if (p->hDrvr && !p->obj.pACMDriverID->pACMDriverList) - CloseDriver(p->hDrvr); - + CloseDriver(p->hDrvr); + HeapFree(MSACM_hHeap, 0, p); - + return MMSYSERR_NOERROR; } @@ -144,28 +144,28 @@ MMRESULT WINAPI acmDriverClose(HACMDRIVER had, DWORD fdwClose) */ MMRESULT WINAPI acmDriverEnum(ACMDRIVERENUMCB fnCallback, DWORD dwInstance, DWORD fdwEnum) { - PWINE_ACMDRIVERID p; - DWORD fdwSupport; + PWINE_ACMDRIVERID p; + DWORD fdwSupport; if (!fnCallback) { - return MMSYSERR_INVALPARAM; + return MMSYSERR_INVALPARAM; } - + if (fdwEnum && ~(ACM_DRIVERENUMF_NOLOCAL|ACM_DRIVERENUMF_DISABLED)) { - return MMSYSERR_INVALFLAG; + return MMSYSERR_INVALFLAG; } - + for (p = MSACM_pFirstACMDriverID; p; p = p->pNextACMDriverID) { - fdwSupport = ACMDRIVERDETAILS_SUPPORTF_CODEC; - if (!p->bEnabled) { - if (fdwEnum & ACM_DRIVERENUMF_DISABLED) - fdwSupport |= ACMDRIVERDETAILS_SUPPORTF_DISABLED; - else - continue; - } - (*fnCallback)((HACMDRIVERID) p, dwInstance, fdwSupport); + fdwSupport = ACMDRIVERDETAILS_SUPPORTF_CODEC; + if (!p->bEnabled) { + if (fdwEnum & ACM_DRIVERENUMF_DISABLED) + fdwSupport |= ACMDRIVERDETAILS_SUPPORTF_DISABLED; + else + continue; + } + (*fnCallback)((HACMDRIVERID) p, dwInstance, fdwSupport); } - + return MMSYSERR_NOERROR; } @@ -175,19 +175,19 @@ MMRESULT WINAPI acmDriverEnum(ACMDRIVERENUMCB fnCallback, DWORD dwInstance, DWOR MMRESULT WINAPI acmDriverID(HACMOBJ hao, PHACMDRIVERID phadid, DWORD fdwDriverID) { PWINE_ACMOBJ pao; - + pao = MSACM_GetObj(hao); if (!pao) - return MMSYSERR_INVALHANDLE; - + return MMSYSERR_INVALHANDLE; + if (!phadid) - return MMSYSERR_INVALPARAM; - + return MMSYSERR_INVALPARAM; + if (fdwDriverID) - return MMSYSERR_INVALFLAG; - + return MMSYSERR_INVALFLAG; + *phadid = (HACMDRIVERID) pao->pACMDriverID; - + return MMSYSERR_NOERROR; } @@ -200,13 +200,13 @@ LRESULT WINAPI acmDriverMessage(HACMDRIVER had, UINT uMsg, LPARAM lParam1, LPARA { PWINE_ACMDRIVER pad = MSACM_GetDriver(had); if (!pad) - return MMSYSERR_INVALPARAM; - + return MMSYSERR_INVALPARAM; + /* FIXME: Check if uMsg legal */ - + if (!SendDriverMessage(pad->hDrvr, uMsg, lParam1, lParam2)) - return MMSYSERR_NOTSUPPORTED; - + return MMSYSERR_NOTSUPPORTED; + return MMSYSERR_NOERROR; } @@ -216,43 +216,43 @@ LRESULT WINAPI acmDriverMessage(HACMDRIVER had, UINT uMsg, LPARAM lParam1, LPARA */ MMRESULT WINAPI acmDriverOpen(PHACMDRIVER phad, HACMDRIVERID hadid, DWORD fdwOpen) { - PWINE_ACMDRIVERID padid; - PWINE_ACMDRIVER pad; - ICOPEN icopen; - HDRVR hdrv; + PWINE_ACMDRIVERID padid; + PWINE_ACMDRIVER pad; + ICOPEN icopen; + HDRVR hdrv; TRACE("(%p, %x, %08lu)\n", phad, hadid, fdwOpen); if (!phad) - return MMSYSERR_INVALPARAM; - - padid = MSACM_GetDriverID(hadid); + return MMSYSERR_INVALPARAM; + + padid = MSACM_GetDriverID(hadid); if (!padid) - return MMSYSERR_INVALHANDLE; - + return MMSYSERR_INVALHANDLE; + if (fdwOpen) - return MMSYSERR_INVALFLAG; - + return MMSYSERR_INVALFLAG; + pad = (PWINE_ACMDRIVER) HeapAlloc(MSACM_hHeap, 0, sizeof(WINE_ACMDRIVER)); if (!pad) - return MMSYSERR_NOMEM; + return MMSYSERR_NOMEM; pad->obj.pACMDriverID = padid; - icopen.fccType = mmioFOURCC('a', 'u', 'd', 'c'); - icopen.fccHandler = (long)padid->pszFileName; - icopen.dwSize = sizeof(ICOPEN); - icopen.dwFlags = 0; + icopen.fccType = mmioFOURCC('a', 'u', 'd', 'c'); + icopen.fccHandler = (long)padid->pszFileName; + icopen.dwSize = sizeof(ICOPEN); + icopen.dwFlags = 0; icopen.pV1Reserved = padid->pszFileName; if (!padid->hInstModule) - pad->hDrvr = OpenDriverA((long)&icopen); + pad->hDrvr = OpenDriverA((long)&icopen); else - pad->hDrvr = padid->hInstModule; - + pad->hDrvr = padid->hInstModule; + if (!pad->hDrvr) { - HeapFree(MSACM_hHeap, 0, pad); - return MMSYSERR_ERROR; + HeapFree(MSACM_hHeap, 0, pad); + return MMSYSERR_ERROR; } pad->pfnDriverProc = GetProcAddress(pad->hDrvr, "DriverProc"); @@ -273,16 +273,16 @@ MMRESULT WINAPI acmDriverOpen(PHACMDRIVER phad, HACMDRIVERID hadid, DWORD fdwOpe MMRESULT WINAPI acmDriverRemove(HACMDRIVERID hadid, DWORD fdwRemove) { PWINE_ACMDRIVERID padid; - + padid = MSACM_GetDriverID(hadid); if (!padid) - return MMSYSERR_INVALHANDLE; - + return MMSYSERR_INVALHANDLE; + if (fdwRemove) - return MMSYSERR_INVALFLAG; - + return MMSYSERR_INVALFLAG; + MSACM_UnregisterDriver(padid); - + return MMSYSERR_NOERROR; } @@ -295,18 +295,18 @@ PWINE_ACMDRIVERID MSACM_pFirstACMDriverID = NULL; PWINE_ACMDRIVERID MSACM_pLastACMDriverID = NULL; /*********************************************************************** - * MSACM_RegisterDriver32() + * MSACM_RegisterDriver32() */ PWINE_ACMDRIVERID MSACM_RegisterDriver(const char* pszFileName, - WORD wFormatTag, - HINSTANCE hinstModule) + WORD wFormatTag, + HINSTANCE hinstModule) { PWINE_ACMDRIVERID padid; TRACE("('%s', '%x', 0x%08x)\n", pszFileName, wFormatTag, hinstModule); #ifndef WIN32_LOADER - MSACM_hHeap = GetProcessHeap(); + MSACM_hHeap = GetProcessHeap(); #endif padid = (PWINE_ACMDRIVERID) HeapAlloc(MSACM_hHeap, 0, sizeof(WINE_ACMDRIVERID)); padid->pszFileName = (char*)malloc(strlen(pszFileName)+1); @@ -319,11 +319,11 @@ PWINE_ACMDRIVERID MSACM_RegisterDriver(const char* pszFileName, padid->pNextACMDriverID = NULL; padid->pPrevACMDriverID = MSACM_pLastACMDriverID; if (MSACM_pLastACMDriverID) - MSACM_pLastACMDriverID->pNextACMDriverID = padid; + MSACM_pLastACMDriverID->pNextACMDriverID = padid; MSACM_pLastACMDriverID = padid; if (!MSACM_pFirstACMDriverID) - MSACM_pFirstACMDriverID = padid; - + MSACM_pFirstACMDriverID = padid; + return padid; } @@ -334,27 +334,27 @@ PWINE_ACMDRIVERID MSACM_RegisterDriver(const char* pszFileName, PWINE_ACMDRIVERID MSACM_UnregisterDriver(PWINE_ACMDRIVERID p) { PWINE_ACMDRIVERID pNextACMDriverID; - + while (p->pACMDriverList) - acmDriverClose((HACMDRIVER) p->pACMDriverList, 0); - + acmDriverClose((HACMDRIVER) p->pACMDriverList, 0); + if (p->pszFileName) - free(p->pszFileName); - + free(p->pszFileName); + if (p == MSACM_pFirstACMDriverID) - MSACM_pFirstACMDriverID = p->pNextACMDriverID; + MSACM_pFirstACMDriverID = p->pNextACMDriverID; if (p == MSACM_pLastACMDriverID) - MSACM_pLastACMDriverID = p->pPrevACMDriverID; + MSACM_pLastACMDriverID = p->pPrevACMDriverID; if (p->pPrevACMDriverID) - p->pPrevACMDriverID->pNextACMDriverID = p->pNextACMDriverID; + p->pPrevACMDriverID->pNextACMDriverID = p->pNextACMDriverID; if (p->pNextACMDriverID) - p->pNextACMDriverID->pPrevACMDriverID = p->pPrevACMDriverID; - + p->pNextACMDriverID->pPrevACMDriverID = p->pPrevACMDriverID; + pNextACMDriverID = p->pNextACMDriverID; - + HeapFree(MSACM_hHeap, 0, p); - + return pNextACMDriverID; } @@ -371,7 +371,7 @@ void MSACM_UnregisterAllDrivers(void) } /*********************************************************************** - * MSACM_GetDriverID32() + * MSACM_GetDriverID32() */ PWINE_ACMDRIVERID MSACM_GetDriverID(HACMDRIVERID hDriverID) { @@ -400,25 +400,25 @@ PWINE_ACMOBJ MSACM_GetObj(HACMOBJ hObj) * acmStreamOpen (MSACM32.40) */ MMRESULT WINAPI acmStreamOpen(PHACMSTREAM phas, HACMDRIVER had, PWAVEFORMATEX pwfxSrc, - PWAVEFORMATEX pwfxDst, PWAVEFILTER pwfltr, DWORD dwCallback, - DWORD dwInstance, DWORD fdwOpen) + PWAVEFORMATEX pwfxDst, PWAVEFILTER pwfltr, DWORD dwCallback, + DWORD dwInstance, DWORD fdwOpen) { - PWINE_ACMSTREAM was; - PWINE_ACMDRIVER wad; - MMRESULT ret; - int wfxSrcSize; - int wfxDstSize; - + PWINE_ACMSTREAM was; + PWINE_ACMDRIVER wad; + MMRESULT ret; + int wfxSrcSize; + int wfxDstSize; + TRACE("(%p, 0x%08x, %p, %p, %p, %ld, %ld, %ld)\n", - phas, had, pwfxSrc, pwfxDst, pwfltr, dwCallback, dwInstance, fdwOpen); + phas, had, pwfxSrc, pwfxDst, pwfltr, dwCallback, dwInstance, fdwOpen); - TRACE("src [wFormatTag=%u, nChannels=%u, nSamplesPerSec=%lu, nAvgBytesPerSec=%lu, nBlockAlign=%u, wBitsPerSample=%u, cbSize=%u]\n", - pwfxSrc->wFormatTag, pwfxSrc->nChannels, pwfxSrc->nSamplesPerSec, pwfxSrc->nAvgBytesPerSec, - pwfxSrc->nBlockAlign, pwfxSrc->wBitsPerSample, pwfxSrc->cbSize); + TRACE("src [wFormatTag=%u, nChannels=%u, nSamplesPerSec=%lu, nAvgBytesPerSec=%lu, nBlockAlign=%u, wBitsPerSample=%u, cbSize=%u]\n", + pwfxSrc->wFormatTag, pwfxSrc->nChannels, pwfxSrc->nSamplesPerSec, pwfxSrc->nAvgBytesPerSec, + pwfxSrc->nBlockAlign, pwfxSrc->wBitsPerSample, pwfxSrc->cbSize); - TRACE("dst [wFormatTag=%u, nChannels=%u, nSamplesPerSec=%lu, nAvgBytesPerSec=%lu, nBlockAlign=%u, wBitsPerSample=%u, cbSize=%u]\n", - pwfxDst->wFormatTag, pwfxDst->nChannels, pwfxDst->nSamplesPerSec, pwfxDst->nAvgBytesPerSec, - pwfxDst->nBlockAlign, pwfxDst->wBitsPerSample, pwfxDst->cbSize); + TRACE("dst [wFormatTag=%u, nChannels=%u, nSamplesPerSec=%lu, nAvgBytesPerSec=%lu, nBlockAlign=%u, wBitsPerSample=%u, cbSize=%u]\n", + pwfxDst->wFormatTag, pwfxDst->nChannels, pwfxDst->nSamplesPerSec, pwfxDst->nAvgBytesPerSec, + pwfxDst->nBlockAlign, pwfxDst->wBitsPerSample, pwfxDst->cbSize); #define SIZEOF_WFX(wfx) (sizeof(WAVEFORMATEX) + ((wfx->wFormatTag == WAVE_FORMAT_PCM) ? 0 : wfx->cbSize)) wfxSrcSize = SIZEOF_WFX(pwfxSrc); @@ -427,7 +427,7 @@ MMRESULT WINAPI acmStreamOpen(PHACMSTREAM phas, HACMDRIVER had, PWAVEFORMATEX pw was = (PWINE_ACMSTREAM) HeapAlloc(MSACM_hHeap, 0, sizeof(*was) + wfxSrcSize + wfxDstSize + ((pwfltr) ? sizeof(WAVEFILTER) : 0)); if (was == NULL) - return MMSYSERR_NOMEM; + return MMSYSERR_NOMEM; was->drvInst.cbStruct = sizeof(was->drvInst); was->drvInst.pwfxSrc = (PWAVEFORMATEX)((LPSTR)was + sizeof(*was)); memcpy(was->drvInst.pwfxSrc, pwfxSrc, wfxSrcSize); @@ -437,106 +437,106 @@ MMRESULT WINAPI acmStreamOpen(PHACMSTREAM phas, HACMDRIVER had, PWAVEFORMATEX pw was->drvInst.pwfxDst = (PWAVEFORMATEX)((LPSTR)was + sizeof(*was) + wfxSrcSize); memcpy(was->drvInst.pwfxDst, pwfxDst, wfxDstSize); if (pwfltr) { - was->drvInst.pwfltr = (PWAVEFILTER)((LPSTR)was + sizeof(*was) + wfxSrcSize + wfxDstSize); - memcpy(was->drvInst.pwfltr, pwfltr, sizeof(WAVEFILTER)); + was->drvInst.pwfltr = (PWAVEFILTER)((LPSTR)was + sizeof(*was) + wfxSrcSize + wfxDstSize); + memcpy(was->drvInst.pwfltr, pwfltr, sizeof(WAVEFILTER)); } else { - was->drvInst.pwfltr = NULL; + was->drvInst.pwfltr = NULL; } - was->drvInst.dwCallback = dwCallback; + was->drvInst.dwCallback = dwCallback; was->drvInst.dwInstance = dwInstance; was->drvInst.fdwOpen = fdwOpen; - was->drvInst.fdwDriver = 0L; - was->drvInst.dwDriver = 0L; + was->drvInst.fdwDriver = 0L; + was->drvInst.dwDriver = 0L; was->drvInst.has = (HACMSTREAM)was; - - if (had) { - if (!(wad = MSACM_GetDriver(had))) { - ret = MMSYSERR_INVALPARAM; - goto errCleanUp; - } - was->obj.pACMDriverID = wad->obj.pACMDriverID; - was->pDrv = wad; - was->hAcmDriver = 0; /* not to close it in acmStreamClose */ - - ret = SendDriverMessage(wad->hDrvr, ACMDM_STREAM_OPEN, (DWORD)&was->drvInst, 0L); - if (ret != MMSYSERR_NOERROR) - goto errCleanUp; + if (had) { + if (!(wad = MSACM_GetDriver(had))) { + ret = MMSYSERR_INVALPARAM; + goto errCleanUp; + } + + was->obj.pACMDriverID = wad->obj.pACMDriverID; + was->pDrv = wad; + was->hAcmDriver = 0; /* not to close it in acmStreamClose */ + + ret = SendDriverMessage(wad->hDrvr, ACMDM_STREAM_OPEN, (DWORD)&was->drvInst, 0L); + if (ret != MMSYSERR_NOERROR) + goto errCleanUp; } else { - PWINE_ACMDRIVERID wadi; - short drv_tag; - ret = ACMERR_NOTPOSSIBLE; -/* if(pwfxSrc->wFormatTag==1)//compression - drv_tag=pwfxDst->wFormatTag; - else - if(pwfxDst->wFormatTag==1)//decompression - drv_tag=pwfxSrc->wFormatTag; - else - goto errCleanUp; - - ret=acmDriverOpen2(drv_tag); - if (ret == MMSYSERR_NOERROR) { - if ((wad = MSACM_GetDriver(had)) != 0) { - was->obj.pACMDriverID = wad->obj.pACMDriverID; - was->pDrv = wad; - was->hAcmDriver = had; - - ret = SendDriverMessage(wad->hDrvr, ACMDM_STREAM_OPEN, (DWORD)&was->drvInst, 0L); - if (ret == MMSYSERR_NOERROR) { - if (fdwOpen & ACM_STREAMOPENF_QUERY) { - acmDriverClose(had, 0L); - } - break; - } - } - acmDriverClose(had, 0L);*/ - //if(MSACM_pFirstACMDriverID==NULL) - // MSACM_RegisterAllDrivers(); - - for (wadi = MSACM_pFirstACMDriverID; wadi; wadi = wadi->pNextACMDriverID) - { - /* Check Format */ - if ((int)wadi->wFormatTag != (int)pwfxSrc->wFormatTag) continue; - - ret = acmDriverOpen(&had, (HACMDRIVERID)wadi, 0L); - if (ret == MMSYSERR_NOERROR) { - if ((wad = MSACM_GetDriver(had)) != 0) { - was->obj.pACMDriverID = wad->obj.pACMDriverID; - was->pDrv = wad; - was->hAcmDriver = had; - - ret = SendDriverMessage(wad->hDrvr, ACMDM_STREAM_OPEN, (DWORD)&was->drvInst, 0L); - //lhacm - crash printf("RETOPEN %d\n", ret); + PWINE_ACMDRIVERID wadi; + short drv_tag; + ret = ACMERR_NOTPOSSIBLE; +/* if(pwfxSrc->wFormatTag==1)//compression + drv_tag=pwfxDst->wFormatTag; + else + if(pwfxDst->wFormatTag==1)//decompression + drv_tag=pwfxSrc->wFormatTag; + else + goto errCleanUp; + + ret=acmDriverOpen2(drv_tag); + if (ret == MMSYSERR_NOERROR) { + if ((wad = MSACM_GetDriver(had)) != 0) { + was->obj.pACMDriverID = wad->obj.pACMDriverID; + was->pDrv = wad; + was->hAcmDriver = had; + + ret = SendDriverMessage(wad->hDrvr, ACMDM_STREAM_OPEN, (DWORD)&was->drvInst, 0L); + if (ret == MMSYSERR_NOERROR) { + if (fdwOpen & ACM_STREAMOPENF_QUERY) { + acmDriverClose(had, 0L); + } + break; + } + } + acmDriverClose(had, 0L);*/ + //if(MSACM_pFirstACMDriverID==NULL) + // MSACM_RegisterAllDrivers(); + + for (wadi = MSACM_pFirstACMDriverID; wadi; wadi = wadi->pNextACMDriverID) + { + /* Check Format */ + if ((int)wadi->wFormatTag != (int)pwfxSrc->wFormatTag) continue; + + ret = acmDriverOpen(&had, (HACMDRIVERID)wadi, 0L); + if (ret == MMSYSERR_NOERROR) { + if ((wad = MSACM_GetDriver(had)) != 0) { + was->obj.pACMDriverID = wad->obj.pACMDriverID; + was->pDrv = wad; + was->hAcmDriver = had; + + ret = SendDriverMessage(wad->hDrvr, ACMDM_STREAM_OPEN, (DWORD)&was->drvInst, 0L); + //lhacm - crash printf("RETOPEN %d\n", ret); //ret = 0; - if (ret == MMSYSERR_NOERROR) { - if (fdwOpen & ACM_STREAMOPENF_QUERY) { - acmDriverClose(had, 0L); - } - break; - } - } - // no match, close this acm driver and try next one - acmDriverClose(had, 0L); - } - } - if (ret != MMSYSERR_NOERROR) { - ret = ACMERR_NOTPOSSIBLE; - goto errCleanUp; - } + if (ret == MMSYSERR_NOERROR) { + if (fdwOpen & ACM_STREAMOPENF_QUERY) { + acmDriverClose(had, 0L); + } + break; + } + } + // no match, close this acm driver and try next one + acmDriverClose(had, 0L); + } + } + if (ret != MMSYSERR_NOERROR) { + ret = ACMERR_NOTPOSSIBLE; + goto errCleanUp; + } } ret = MMSYSERR_NOERROR; if (!(fdwOpen & ACM_STREAMOPENF_QUERY)) { - if (phas) - *phas = (HACMSTREAM)was; - TRACE("=> (%d)\n", ret); + if (phas) + *phas = (HACMSTREAM)was; + TRACE("=> (%d)\n", ret); #ifdef WIN32_LOADER CodecAlloc(); #endif - return ret; + return ret; } -errCleanUp: +errCleanUp: if (phas) - *phas = (HACMSTREAM)0; + *phas = (HACMSTREAM)0; HeapFree(MSACM_hHeap, 0, was); TRACE("=> (%d)\n", ret); return ret; @@ -545,19 +545,19 @@ errCleanUp: MMRESULT WINAPI acmStreamClose(HACMSTREAM has, DWORD fdwClose) { - PWINE_ACMSTREAM was; - MMRESULT ret; - + PWINE_ACMSTREAM was; + MMRESULT ret; + TRACE("(0x%08x, %ld)\n", has, fdwClose); - + if ((was = ACM_GetStream(has)) == NULL) { - return MMSYSERR_INVALHANDLE; + return MMSYSERR_INVALHANDLE; } ret = SendDriverMessage(was->pDrv->hDrvr, ACMDM_STREAM_CLOSE, (DWORD)&was->drvInst, 0); if (ret == MMSYSERR_NOERROR) { - if (was->hAcmDriver) - acmDriverClose(was->hAcmDriver, 0L); - HeapFree(MSACM_hHeap, 0, was); + if (was->hAcmDriver) + acmDriverClose(was->hAcmDriver, 0L); + HeapFree(MSACM_hHeap, 0, was); #ifdef WIN32_LOADER CodecRelease(); #endif @@ -569,22 +569,22 @@ MMRESULT WINAPI acmStreamClose(HACMSTREAM has, DWORD fdwClose) /*********************************************************************** * acmStreamConvert (MSACM32.38) */ -MMRESULT WINAPI acmStreamConvert(HACMSTREAM has, PACMSTREAMHEADER pash, - DWORD fdwConvert) +MMRESULT WINAPI acmStreamConvert(HACMSTREAM has, PACMSTREAMHEADER pash, + DWORD fdwConvert) { - PWINE_ACMSTREAM was; - MMRESULT ret = MMSYSERR_NOERROR; - PACMDRVSTREAMHEADER padsh; + PWINE_ACMSTREAM was; + MMRESULT ret = MMSYSERR_NOERROR; + PACMDRVSTREAMHEADER padsh; TRACE("(0x%08x, %p, %ld)\n", has, pash, fdwConvert); if ((was = ACM_GetStream(has)) == NULL) - return MMSYSERR_INVALHANDLE; + return MMSYSERR_INVALHANDLE; if (!pash || pash->cbStruct < sizeof(ACMSTREAMHEADER)) - return MMSYSERR_INVALPARAM; + return MMSYSERR_INVALPARAM; if (!(pash->fdwStatus & ACMSTREAMHEADER_STATUSF_PREPARED)) - return ACMERR_UNPREPARED; + return ACMERR_UNPREPARED; /* Note: the ACMSTREAMHEADER and ACMDRVSTREAMHEADER structs are of same * size. some fields are private to msacm internals, and are exposed @@ -594,17 +594,17 @@ MMRESULT WINAPI acmStreamConvert(HACMSTREAM has, PACMSTREAMHEADER pash, /* check that pointers have not been modified */ if (padsh->pbPreparedSrc != padsh->pbSrc || - padsh->cbPreparedSrcLength < padsh->cbSrcLength || - padsh->pbPreparedDst != padsh->pbDst || - padsh->cbPreparedDstLength < padsh->cbDstLength) { - return MMSYSERR_INVALPARAM; - } + padsh->cbPreparedSrcLength < padsh->cbSrcLength || + padsh->pbPreparedDst != padsh->pbDst || + padsh->cbPreparedDstLength < padsh->cbDstLength) { + return MMSYSERR_INVALPARAM; + } padsh->fdwConvert = fdwConvert; ret = SendDriverMessage(was->pDrv->hDrvr, ACMDM_STREAM_CONVERT, (DWORD)&was->drvInst, (DWORD)padsh); if (ret == MMSYSERR_NOERROR) { - padsh->fdwStatus |= ACMSTREAMHEADER_STATUSF_DONE; + padsh->fdwStatus |= ACMSTREAMHEADER_STATUSF_DONE; } TRACE("=> (%d)\n", ret); return ret; @@ -614,24 +614,24 @@ MMRESULT WINAPI acmStreamConvert(HACMSTREAM has, PACMSTREAMHEADER pash, /*********************************************************************** * acmStreamPrepareHeader (MSACM32.41) */ -MMRESULT WINAPI acmStreamPrepareHeader(HACMSTREAM has, PACMSTREAMHEADER pash, - DWORD fdwPrepare) +MMRESULT WINAPI acmStreamPrepareHeader(HACMSTREAM has, PACMSTREAMHEADER pash, + DWORD fdwPrepare) { - PWINE_ACMSTREAM was; - MMRESULT ret = MMSYSERR_NOERROR; - PACMDRVSTREAMHEADER padsh; + PWINE_ACMSTREAM was; + MMRESULT ret = MMSYSERR_NOERROR; + PACMDRVSTREAMHEADER padsh; TRACE("(0x%08x, %p, %ld)\n", has, pash, fdwPrepare); - + if ((was = ACM_GetStream(has)) == NULL) - return MMSYSERR_INVALHANDLE; + return MMSYSERR_INVALHANDLE; if (!pash || pash->cbStruct < sizeof(ACMSTREAMHEADER)) - return MMSYSERR_INVALPARAM; + return MMSYSERR_INVALPARAM; if (fdwPrepare) - ret = MMSYSERR_INVALFLAG; + ret = MMSYSERR_INVALFLAG; if (pash->fdwStatus & ACMSTREAMHEADER_STATUSF_DONE) - return MMSYSERR_NOERROR; + return MMSYSERR_NOERROR; /* Note: the ACMSTREAMHEADER and ACMDRVSTREAMHEADER structs are of same * size. some fields are private to msacm internals, and are exposed @@ -652,22 +652,22 @@ MMRESULT WINAPI acmStreamPrepareHeader(HACMSTREAM has, PACMSTREAMHEADER pash, ret = SendDriverMessage(was->pDrv->hDrvr, ACMDM_STREAM_PREPARE, (DWORD)&was->drvInst, (DWORD)padsh); if (ret == MMSYSERR_NOERROR || ret == MMSYSERR_NOTSUPPORTED) { - ret = MMSYSERR_NOERROR; - padsh->fdwStatus &= ~(ACMSTREAMHEADER_STATUSF_DONE|ACMSTREAMHEADER_STATUSF_INQUEUE); - padsh->fdwStatus |= ACMSTREAMHEADER_STATUSF_PREPARED; - padsh->fdwPrepared = padsh->fdwStatus; - padsh->dwPrepared = 0; - padsh->pbPreparedSrc = padsh->pbSrc; - padsh->cbPreparedSrcLength = padsh->cbSrcLength; - padsh->pbPreparedDst = padsh->pbDst; - padsh->cbPreparedDstLength = padsh->cbDstLength; + ret = MMSYSERR_NOERROR; + padsh->fdwStatus &= ~(ACMSTREAMHEADER_STATUSF_DONE|ACMSTREAMHEADER_STATUSF_INQUEUE); + padsh->fdwStatus |= ACMSTREAMHEADER_STATUSF_PREPARED; + padsh->fdwPrepared = padsh->fdwStatus; + padsh->dwPrepared = 0; + padsh->pbPreparedSrc = padsh->pbSrc; + padsh->cbPreparedSrcLength = padsh->cbSrcLength; + padsh->pbPreparedDst = padsh->pbDst; + padsh->cbPreparedDstLength = padsh->cbDstLength; } else { - padsh->fdwPrepared = 0; - padsh->dwPrepared = 0; - padsh->pbPreparedSrc = 0; - padsh->cbPreparedSrcLength = 0; - padsh->pbPreparedDst = 0; - padsh->cbPreparedDstLength = 0; + padsh->fdwPrepared = 0; + padsh->dwPrepared = 0; + padsh->pbPreparedSrc = 0; + padsh->cbPreparedSrcLength = 0; + padsh->pbPreparedDst = 0; + padsh->cbPreparedDstLength = 0; } TRACE("=> (%d)\n", ret); return ret; @@ -678,17 +678,17 @@ MMRESULT WINAPI acmStreamPrepareHeader(HACMSTREAM has, PACMSTREAMHEADER pash, */ MMRESULT WINAPI acmStreamReset(HACMSTREAM has, DWORD fdwReset) { - PWINE_ACMSTREAM was; - MMRESULT ret = MMSYSERR_NOERROR; + PWINE_ACMSTREAM was; + MMRESULT ret = MMSYSERR_NOERROR; TRACE("(0x%08x, %ld)\n", has, fdwReset); if (fdwReset) { - ret = MMSYSERR_INVALFLAG; + ret = MMSYSERR_INVALFLAG; } else if ((was = ACM_GetStream(has)) == NULL) { - return MMSYSERR_INVALHANDLE; + return MMSYSERR_INVALHANDLE; } else if (was->drvInst.fdwOpen & ACM_STREAMOPENF_ASYNC) { - ret = SendDriverMessage(was->pDrv->hDrvr, ACMDM_STREAM_RESET, (DWORD)&was->drvInst, 0); + ret = SendDriverMessage(was->pDrv->hDrvr, ACMDM_STREAM_RESET, (DWORD)&was->drvInst, 0); } TRACE("=> (%d)\n", ret); return ret; @@ -697,50 +697,50 @@ MMRESULT WINAPI acmStreamReset(HACMSTREAM has, DWORD fdwReset) /*********************************************************************** * acmStreamSize (MSACM32.43) */ -MMRESULT WINAPI acmStreamSize(HACMSTREAM has, DWORD cbInput, - LPDWORD pdwOutputBytes, DWORD fdwSize) +MMRESULT WINAPI acmStreamSize(HACMSTREAM has, DWORD cbInput, + LPDWORD pdwOutputBytes, DWORD fdwSize) { - PWINE_ACMSTREAM was; - ACMDRVSTREAMSIZE adss; - MMRESULT ret; - + PWINE_ACMSTREAM was; + ACMDRVSTREAMSIZE adss; + MMRESULT ret; + TRACE("(0x%08x, %ld, %p, %ld)\n", has, cbInput, pdwOutputBytes, fdwSize); - + if ((was = ACM_GetStream(has)) == NULL) { - return MMSYSERR_INVALHANDLE; + return MMSYSERR_INVALHANDLE; } if ((fdwSize & ~ACM_STREAMSIZEF_QUERYMASK) != 0) { - return MMSYSERR_INVALFLAG; + return MMSYSERR_INVALFLAG; } *pdwOutputBytes = 0L; - + switch (fdwSize & ACM_STREAMSIZEF_QUERYMASK) { case ACM_STREAMSIZEF_DESTINATION: - adss.cbDstLength = cbInput; - adss.cbSrcLength = 0; - break; + adss.cbDstLength = cbInput; + adss.cbSrcLength = 0; + break; case ACM_STREAMSIZEF_SOURCE: - adss.cbSrcLength = cbInput; - adss.cbDstLength = 0; - break; - default: - return MMSYSERR_INVALFLAG; + adss.cbSrcLength = cbInput; + adss.cbDstLength = 0; + break; + default: + return MMSYSERR_INVALFLAG; } - + adss.cbStruct = sizeof(adss); adss.fdwSize = fdwSize; - ret = SendDriverMessage(was->pDrv->hDrvr, ACMDM_STREAM_SIZE, - (DWORD)&was->drvInst, (DWORD)&adss); + ret = SendDriverMessage(was->pDrv->hDrvr, ACMDM_STREAM_SIZE, + (DWORD)&was->drvInst, (DWORD)&adss); if (ret == MMSYSERR_NOERROR) { - switch (fdwSize & ACM_STREAMSIZEF_QUERYMASK) { - case ACM_STREAMSIZEF_DESTINATION: - *pdwOutputBytes = adss.cbSrcLength; - break; - case ACM_STREAMSIZEF_SOURCE: - *pdwOutputBytes = adss.cbDstLength; - break; - } + switch (fdwSize & ACM_STREAMSIZEF_QUERYMASK) { + case ACM_STREAMSIZEF_DESTINATION: + *pdwOutputBytes = adss.cbSrcLength; + break; + case ACM_STREAMSIZEF_SOURCE: + *pdwOutputBytes = adss.cbDstLength; + break; + } } TRACE("=> (%d) [%lu]\n", ret, *pdwOutputBytes); return ret; @@ -749,22 +749,22 @@ MMRESULT WINAPI acmStreamSize(HACMSTREAM has, DWORD cbInput, /*********************************************************************** * acmStreamUnprepareHeader (MSACM32.44) */ -MMRESULT WINAPI acmStreamUnprepareHeader(HACMSTREAM has, PACMSTREAMHEADER pash, - DWORD fdwUnprepare) +MMRESULT WINAPI acmStreamUnprepareHeader(HACMSTREAM has, PACMSTREAMHEADER pash, + DWORD fdwUnprepare) { - PWINE_ACMSTREAM was; - MMRESULT ret = MMSYSERR_NOERROR; - PACMDRVSTREAMHEADER padsh; + PWINE_ACMSTREAM was; + MMRESULT ret = MMSYSERR_NOERROR; + PACMDRVSTREAMHEADER padsh; TRACE("(0x%08x, %p, %ld)\n", has, pash, fdwUnprepare); - + if ((was = ACM_GetStream(has)) == NULL) - return MMSYSERR_INVALHANDLE; + return MMSYSERR_INVALHANDLE; if (!pash || pash->cbStruct < sizeof(ACMSTREAMHEADER)) - return MMSYSERR_INVALPARAM; + return MMSYSERR_INVALPARAM; if (!(pash->fdwStatus & ACMSTREAMHEADER_STATUSF_PREPARED)) - return ACMERR_UNPREPARED; + return ACMERR_UNPREPARED; /* Note: the ACMSTREAMHEADER and ACMDRVSTREAMHEADER structs are of same * size. some fields are private to msacm internals, and are exposed @@ -774,18 +774,18 @@ MMRESULT WINAPI acmStreamUnprepareHeader(HACMSTREAM has, PACMSTREAMHEADER pash, /* check that pointers have not been modified */ if (padsh->pbPreparedSrc != padsh->pbSrc || - padsh->cbPreparedSrcLength < padsh->cbSrcLength || - padsh->pbPreparedDst != padsh->pbDst || - padsh->cbPreparedDstLength < padsh->cbDstLength) { - return MMSYSERR_INVALPARAM; - } + padsh->cbPreparedSrcLength < padsh->cbSrcLength || + padsh->pbPreparedDst != padsh->pbDst || + padsh->cbPreparedDstLength < padsh->cbDstLength) { + return MMSYSERR_INVALPARAM; + } padsh->fdwConvert = fdwUnprepare; ret = SendDriverMessage(was->pDrv->hDrvr, ACMDM_STREAM_UNPREPARE, (DWORD)&was->drvInst, (DWORD)padsh); if (ret == MMSYSERR_NOERROR || ret == MMSYSERR_NOTSUPPORTED) { - ret = MMSYSERR_NOERROR; - padsh->fdwStatus &= ~(ACMSTREAMHEADER_STATUSF_DONE|ACMSTREAMHEADER_STATUSF_INQUEUE|ACMSTREAMHEADER_STATUSF_PREPARED); + ret = MMSYSERR_NOERROR; + padsh->fdwStatus &= ~(ACMSTREAMHEADER_STATUSF_DONE|ACMSTREAMHEADER_STATUSF_INQUEUE|ACMSTREAMHEADER_STATUSF_PREPARED); } TRACE("=> (%d)\n", ret); return ret; diff --git a/libs/loader/com.h b/libs/loader/com.h index bdaaa184b0..a6472355d3 100644 --- a/libs/loader/com.h +++ b/libs/loader/com.h @@ -78,7 +78,7 @@ struct IClassFactory }; long CoCreateInstance(GUID* rclsid, struct IUnknown* pUnkOuter, - long dwClsContext, const GUID* riid, void** ppv); + long dwClsContext, const GUID* riid, void** ppv); #ifdef __cplusplus }; diff --git a/libs/loader/driver.c b/libs/loader/driver.c index 8e7c25f5e1..24c871511a 100644 --- a/libs/loader/driver.c +++ b/libs/loader/driver.c @@ -97,9 +97,9 @@ void SetCodecPath(const char* path) if(needs_free)free(def_path); if(path==0) { - def_path=WIN32_PATH; - needs_free=0; - return; + def_path=WIN32_PATH; + needs_free=0; + return; } def_path = (char*) malloc(strlen(path)+1); strcpy(def_path, path); @@ -109,7 +109,7 @@ void SetCodecPath(const char* path) static DWORD dwDrvID = 0; LRESULT WINAPI SendDriverMessage(HDRVR hDriver, UINT message, - LPARAM lParam1, LPARAM lParam2) + LPARAM lParam1, LPARAM lParam2) { DRVR* module=(DRVR*)hDriver; int result; @@ -146,21 +146,21 @@ void DrvClose(HDRVR hDriver) { if (hDriver) { - DRVR* d = (DRVR*)hDriver; - if (d->hDriverModule) - { + DRVR* d = (DRVR*)hDriver; + if (d->hDriverModule) + { #ifdef WIN32_LOADER - Setup_FS_Segment(); -#endif - if (d->DriverProc) - { - SendDriverMessage(hDriver, DRV_CLOSE, 0, 0); - d->dwDriverID = 0; - SendDriverMessage(hDriver, DRV_FREE, 0, 0); - } - FreeLibrary(d->hDriverModule); - } - free(d); + Setup_FS_Segment(); +#endif + if (d->DriverProc) + { + SendDriverMessage(hDriver, DRV_CLOSE, 0, 0); + d->dwDriverID = 0; + SendDriverMessage(hDriver, DRV_FREE, 0, 0); + } + FreeLibrary(d->hDriverModule); + } + free(d); } #ifdef WIN32_LOADER CodecRelease(); @@ -184,7 +184,7 @@ HDRVR DrvOpen(LPARAM lParam2) hDriver = (NPDRVR) malloc(sizeof(DRVR)); if (!hDriver) - return ((HDRVR) 0); + return ((HDRVR) 0); memset((void*)hDriver, 0, sizeof(DRVR)); #ifdef WIN32_LOADER @@ -195,18 +195,18 @@ HDRVR DrvOpen(LPARAM lParam2) hDriver->hDriverModule = LoadLibraryA(filename); if (!hDriver->hDriverModule) { - printf("Can't open library %s\n", filename); - DrvClose((HDRVR)hDriver); - return ((HDRVR) 0); + printf("Can't open library %s\n", filename); + DrvClose((HDRVR)hDriver); + return ((HDRVR) 0); } hDriver->DriverProc = (DRIVERPROC) GetProcAddress(hDriver->hDriverModule, - "DriverProc"); + "DriverProc"); if (!hDriver->DriverProc) { - printf("Library %s is not a valid VfW/ACM codec\n", filename); - DrvClose((HDRVR)hDriver); - return ((HDRVR) 0); + printf("Library %s is not a valid VfW/ACM codec\n", filename); + DrvClose((HDRVR)hDriver); + return ((HDRVR) 0); } TRACE("DriverProc == %X\n", hDriver->DriverProc); diff --git a/libs/loader/driver.h b/libs/loader/driver.h index 81b0156526..f7e369d534 100644 --- a/libs/loader/driver.h +++ b/libs/loader/driver.h @@ -5,7 +5,7 @@ */ #ifndef loader_driver_h -#define loader_driver_h +#define loader_driver_h #ifdef __cplusplus extern "C" { diff --git a/libs/loader/ext.c b/libs/loader/ext.c index 959037d36c..2a41830861 100644 --- a/libs/loader/ext.c +++ b/libs/loader/ext.c @@ -132,10 +132,10 @@ INT WINAPI lstrlenW(LPCWSTR s) { int l; if(!s) - return 0; + return 0; l=0; while(s[l]) - l++; + l++; return l; } LPSTR WINAPI lstrcpynWtoA(LPSTR dest, LPCWSTR src, INT count) @@ -143,15 +143,15 @@ LPSTR WINAPI lstrcpynWtoA(LPSTR dest, LPCWSTR src, INT count) LPSTR result = dest; int moved=0; if((dest==0) || (src==0)) - return 0; + return 0; while(moved0) { - if (((*s1 | *s2) & 0xff00) || toupper((char)*s1) != toupper((char)*s2)) - { - - if(*s1<*s2) - return -1; - else - if(*s1>*s2) - return 1; - else - if(*s1==0) - return 0; - } - s1++; - s2++; - n--; + if (((*s1 | *s2) & 0xff00) || toupper((char)*s1) != toupper((char)*s2)) + { + + if(*s1<*s2) + return -1; + else + if(*s1>*s2) + return 1; + else + if(*s1==0) + return 0; + } + s1++; + s2++; + n--; } return 0; } @@ -188,7 +188,7 @@ int wcsnicmp(const unsigned short* s1, const unsigned short* s2, int n) WIN_BOOL WINAPI IsBadReadPtr(LPCVOID data, UINT size) { if(size==0) - return 0; + return 0; if(data==NULL) return 1; return 0; @@ -205,11 +205,11 @@ LPWSTR HEAP_strdupAtoW(HANDLE heap, DWORD flags, LPCSTR string) int size, i; WCHAR* answer; if(string==0) - return 0; + return 0; size=strlen(string); answer = (WCHAR*) malloc(sizeof(WCHAR) * (size + 1)); for(i=0; i<=size; i++) - answer[i]=(short)string[i]; + answer[i]=(short)string[i]; return answer; } LPSTR HEAP_strdupWtoA(HANDLE heap, DWORD flags, LPCWSTR string) @@ -217,13 +217,13 @@ LPSTR HEAP_strdupWtoA(HANDLE heap, DWORD flags, LPCWSTR string) int size, i; char* answer; if(string==0) - return 0; + return 0; size=0; while(string[size]) size++; answer = (char*) malloc(size + 2); for(i=0; i<=size; i++) - answer[i]=(char)string[i]; + answer[i]=(char)string[i]; return answer; } @@ -249,7 +249,7 @@ LPVOID FILE_dommap( int unix_handle, LPVOID start, if (unix_handle == -1) { #ifdef MAP_ANON -// printf("Anonymous\n"); +// printf("Anonymous\n"); flags |= MAP_ANON; #else static int fdzero = -1; @@ -258,18 +258,18 @@ LPVOID FILE_dommap( int unix_handle, LPVOID start, { if ((fdzero = open( "/dev/zero", O_RDONLY )) == -1) { - perror( "Cannot open /dev/zero for READ. Check permissions! error: " ); + perror( "Cannot open /dev/zero for READ. Check permissions! error: " ); exit(1); } } fd = fdzero; #endif /* MAP_ANON */ - /* Linux EINVAL's on us if we don't pass MAP_PRIVATE to an anon mmap */ + /* Linux EINVAL's on us if we don't pass MAP_PRIVATE to an anon mmap */ #ifdef MAP_SHARED - flags &= ~MAP_SHARED; + flags &= ~MAP_SHARED; #endif #ifdef MAP_PRIVATE - flags |= MAP_PRIVATE; + flags |= MAP_PRIVATE; #endif } else fd = unix_handle; @@ -279,9 +279,9 @@ LPVOID FILE_dommap( int unix_handle, LPVOID start, if ((ret = mmap( start, size_low, prot, MAP_PRIVATE | MAP_FIXED, fd, offset_low )) != (LPVOID)-1) { -// printf("address %08x\n", *(int*)ret); -// printf("%x\n", ret); - return ret; +// printf("address %08x\n", *(int*)ret); +// printf("%x\n", ret); + return ret; } // printf("mmap %d\n", errno); @@ -296,10 +296,10 @@ LPVOID FILE_dommap( int unix_handle, LPVOID start, { /* We cannot fake shared write mappings */ #ifdef MAP_SHARED - if (flags & MAP_SHARED) return ret; + if (flags & MAP_SHARED) return ret; #endif #ifdef MAP_PRIVATE - if (!(flags & MAP_PRIVATE)) return ret; + if (!(flags & MAP_PRIVATE)) return ret; #endif } /* printf( "FILE_mmap: mmap failed (%d), faking it\n", errno );*/ @@ -308,13 +308,13 @@ LPVOID FILE_dommap( int unix_handle, LPVOID start, PROT_READ | PROT_WRITE, flags ); if (ret == (LPVOID)-1) // { -// perror( - return ret; +// perror( + return ret; /* Now read in the file */ if ((pos = lseek( fd, offset_low, SEEK_SET )) == -1) { FILE_munmap( ret, size_high, size_low ); -// printf("lseek\n"); +// printf("lseek\n"); return (LPVOID)-1; } read( fd, ret, size_low ); @@ -349,21 +349,21 @@ static file_mapping* fm=0; -#define PAGE_NOACCESS 0x01 -#define PAGE_READONLY 0x02 -#define PAGE_READWRITE 0x04 -#define PAGE_WRITECOPY 0x08 -#define PAGE_EXECUTE 0x10 -#define PAGE_EXECUTE_READ 0x20 -#define PAGE_EXECUTE_READWRITE 0x40 -#define PAGE_EXECUTE_WRITECOPY 0x80 -#define PAGE_GUARD 0x100 -#define PAGE_NOCACHE 0x200 +#define PAGE_NOACCESS 0x01 +#define PAGE_READONLY 0x02 +#define PAGE_READWRITE 0x04 +#define PAGE_WRITECOPY 0x08 +#define PAGE_EXECUTE 0x10 +#define PAGE_EXECUTE_READ 0x20 +#define PAGE_EXECUTE_READWRITE 0x40 +#define PAGE_EXECUTE_WRITECOPY 0x80 +#define PAGE_GUARD 0x100 +#define PAGE_NOCACHE 0x200 HANDLE WINAPI CreateFileMappingA(HANDLE handle, LPSECURITY_ATTRIBUTES lpAttr, - DWORD flProtect, - DWORD dwMaxHigh, DWORD dwMaxLow, - LPCSTR name) + DWORD flProtect, + DWORD dwMaxHigh, DWORD dwMaxLow, + LPCSTR name) { int hFile = (int)handle; unsigned int len; @@ -372,55 +372,55 @@ HANDLE WINAPI CreateFileMappingA(HANDLE handle, LPSECURITY_ATTRIBUTES lpAttr, int mmap_access=0; if(hFile<0) { - anon=1; - hFile=open("/dev/zero", O_RDWR); - if(hFile<0){ - perror( "Cannot open /dev/zero for READ+WRITE. Check permissions! error: " ); - return 0; - } + anon=1; + hFile=open("/dev/zero", O_RDWR); + if(hFile<0){ + perror( "Cannot open /dev/zero for READ+WRITE. Check permissions! error: " ); + return 0; + } } if(!anon) { len=lseek(hFile, 0, SEEK_END); - lseek(hFile, 0, SEEK_SET); + lseek(hFile, 0, SEEK_SET); } else len=dwMaxLow; if(flProtect & PAGE_READONLY) - mmap_access |=PROT_READ; + mmap_access |=PROT_READ; else - mmap_access |=PROT_READ|PROT_WRITE; + mmap_access |=PROT_READ|PROT_WRITE; answer=mmap(NULL, len, mmap_access, MAP_PRIVATE, hFile, 0); if(anon) close(hFile); if(answer!=(LPVOID)-1) { - if(fm==0) - { - fm = (file_mapping*) malloc(sizeof(file_mapping)); - fm->prev=NULL; - } - else - { - fm->next = (file_mapping*) malloc(sizeof(file_mapping)); - fm->next->prev=fm; - fm=fm->next; - } - fm->next=NULL; - fm->handle=answer; - if(name) - { - fm->name = (char*) malloc(strlen(name)+1); - strcpy(fm->name, name); - } - else - fm->name=NULL; - fm->mapping_size=len; - - if(anon) - close(hFile); - return (HANDLE)answer; + if(fm==0) + { + fm = (file_mapping*) malloc(sizeof(file_mapping)); + fm->prev=NULL; + } + else + { + fm->next = (file_mapping*) malloc(sizeof(file_mapping)); + fm->next->prev=fm; + fm=fm->next; + } + fm->next=NULL; + fm->handle=answer; + if(name) + { + fm->name = (char*) malloc(strlen(name)+1); + strcpy(fm->name, name); + } + else + fm->name=NULL; + fm->mapping_size=len; + + if(anon) + close(hFile); + return (HANDLE)answer; } return (HANDLE)0; } @@ -429,21 +429,21 @@ WIN_BOOL WINAPI UnmapViewOfFile(LPVOID handle) file_mapping* p; int result; if(fm==0) - return 0; + return 0; for(p=fm; p; p=p->next) { - if(p->handle==handle) - { - result=munmap((void*)handle, p->mapping_size); - if(p->next)p->next->prev=p->prev; - if(p->prev)p->prev->next=p->next; - if(p->name) - free(p->name); - if(p==fm) - fm=p->prev; - free(p); - return result; - } + if(p->handle==handle) + { + result=munmap((void*)handle, p->mapping_size); + if(p->next)p->next->prev=p->prev; + if(p->prev)p->prev->next=p->next; + if(p->name) + free(p->name); + if(p==fm) + fm=p->prev; + free(p); + return result; + } } return 0; } @@ -474,17 +474,17 @@ LPVOID WINAPI VirtualAlloc(LPVOID address, DWORD size, DWORD type, DWORD protec fd=open("/dev/zero", O_RDWR); if(fd<0){ perror( "Cannot open /dev/zero for READ+WRITE. Check permissions! error: " ); - return NULL; + return NULL; } if (type&MEM_RESERVE && (unsigned)address&0xffff) { - size += (unsigned)address&0xffff; - address = (unsigned)address&~0xffff; + size += (unsigned)address&0xffff; + address = (unsigned)address&~0xffff; } pgsz = sysconf(_SC_PAGESIZE); if (type&MEM_COMMIT && (unsigned)address%pgsz) { - size += (unsigned)address%pgsz; - address -= (unsigned)address%pgsz; + size += (unsigned)address%pgsz; + address -= (unsigned)address%pgsz; } if (type&MEM_RESERVE && size<0x10000) size = 0x10000; @@ -496,72 +496,72 @@ LPVOID WINAPI VirtualAlloc(LPVOID address, DWORD size, DWORD type, DWORD protec virt_alloc* str=vm; while(str) { - if((unsigned)address>=(unsigned)str->address+str->mapping_size) - { - str=str->prev; - continue; - } - if((unsigned)address+size<=(unsigned)str->address) - { - str=str->prev; - continue; - } - if(str->state==0) - { + if((unsigned)address>=(unsigned)str->address+str->mapping_size) + { + str=str->prev; + continue; + } + if((unsigned)address+size<=(unsigned)str->address) + { + str=str->prev; + continue; + } + if(str->state==0) + { #warning FIXME - if( ((unsigned)address >= (unsigned)str->address) - && ((unsigned)address+size<=(unsigned)str->address+str->mapping_size) - && (type & MEM_COMMIT)) - { - close(fd); - return address; //returning previously reserved memory - } - //printf(" VirtualAlloc(...) does not commit or not entirely within reserved, and\n"); - } - /*printf(" VirtualAlloc(...) (0x%08X, %u) overlaps with (0x%08X, %u, state=%d)\n", - (unsigned)address, size, (unsigned)str->address, str->mapping_size, str->state);*/ - close(fd); - return NULL; - } + if( ((unsigned)address >= (unsigned)str->address) + && ((unsigned)address+size<=(unsigned)str->address+str->mapping_size) + && (type & MEM_COMMIT)) + { + close(fd); + return address; //returning previously reserved memory + } + //printf(" VirtualAlloc(...) does not commit or not entirely within reserved, and\n"); + } + /*printf(" VirtualAlloc(...) (0x%08X, %u) overlaps with (0x%08X, %u, state=%d)\n", + (unsigned)address, size, (unsigned)str->address, str->mapping_size, str->state);*/ + close(fd); + return NULL; + } } answer=mmap(address, size, PROT_READ | PROT_WRITE | PROT_EXEC, - MAP_PRIVATE, fd, 0); + MAP_PRIVATE, fd, 0); // answer=FILE_dommap(-1, address, 0, size, 0, 0, -// PROT_READ | PROT_WRITE | PROT_EXEC, MAP_PRIVATE); +// PROT_READ | PROT_WRITE | PROT_EXEC, MAP_PRIVATE); close(fd); if (answer != (void *)-1 && address && answer != address) { - /* It is dangerous to try mmap() with MAP_FIXED since it does not - always detect conflicts or non-allocation and chaos ensues after - a successful call but an overlapping or non-allocated region. */ - munmap(answer, size); - answer = (void *) -1; - errno = EINVAL; - //printf(" VirtualAlloc(...) cannot satisfy requested address but address=NULL would work.\n"); + /* It is dangerous to try mmap() with MAP_FIXED since it does not + always detect conflicts or non-allocation and chaos ensues after + a successful call but an overlapping or non-allocated region. */ + munmap(answer, size); + answer = (void *) -1; + errno = EINVAL; + //printf(" VirtualAlloc(...) cannot satisfy requested address but address=NULL would work.\n"); } if(answer==(void*)-1) { - /*printf(" VirtualAlloc(...) mmap(0x%08X, %u, ...) failed with errno=%d (\"%s\")\n", - (unsigned)address, size, errno, strerror(errno));*/ - return NULL; + /*printf(" VirtualAlloc(...) mmap(0x%08X, %u, ...) failed with errno=%d (\"%s\")\n", + (unsigned)address, size, errno, strerror(errno));*/ + return NULL; } else { - virt_alloc *new_vm = (virt_alloc*) malloc(sizeof(virt_alloc)); - new_vm->mapping_size=size; - new_vm->address=(char*)answer; + virt_alloc *new_vm = (virt_alloc*) malloc(sizeof(virt_alloc)); + new_vm->mapping_size=size; + new_vm->address=(char*)answer; new_vm->prev=vm; - if(type == MEM_RESERVE) - new_vm->state=0; - else - new_vm->state=1; - if(vm) - vm->next=new_vm; - vm=new_vm; - vm->next=0; - //if(va_size!=0) - // printf("Multiple VirtualAlloc!\n"); - //printf(" VirtualAlloc(...) provides (0x%08X, %u)\n", (unsigned)answer, size); + if(type == MEM_RESERVE) + new_vm->state=0; + else + new_vm->state=1; + if(vm) + vm->next=new_vm; + vm=new_vm; + vm->next=0; + //if(va_size!=0) + // printf("Multiple VirtualAlloc!\n"); + //printf(" VirtualAlloc(...) provides (0x%08X, %u)\n", (unsigned)answer, size); return answer; } } @@ -574,18 +574,18 @@ WIN_BOOL WINAPI VirtualFree(LPVOID address, SIZE_T dwSize, DWORD dwFreeType)//n //printf("VirtualFree(0x%08X, %d, 0x%08X)\n", (unsigned)address, dwSize, dwFreeType); while(str) { - if(address!=str->address) - { - str=str->prev; - continue; - } - //printf(" VirtualFree(...) munmap(0x%08X, %d)\n", (unsigned)str->address, str->mapping_size); - answer=munmap(str->address, str->mapping_size); - if(str->next)str->next->prev=str->prev; - if(str->prev)str->prev->next=str->next; - if(vm==str)vm=str->prev; - free(str); - return 0; + if(address!=str->address) + { + str=str->prev; + continue; + } + //printf(" VirtualFree(...) munmap(0x%08X, %d)\n", (unsigned)str->address, str->mapping_size); + answer=munmap(str->address, str->mapping_size); + if(str->next)str->next->prev=str->prev; + if(str->prev)str->prev->next=str->next; + if(vm==str)vm=str->prev; + free(str); + return 0; } return -1; } @@ -595,31 +595,31 @@ INT WINAPI WideCharToMultiByte(UINT codepage, DWORD flags, LPCWSTR src, { int i; if(src==0) - return 0; + return 0; if ((srclen==-1)&&(dest==0)) return 0; if(srclen==-1){srclen=0; while(src[srclen++]);} // for(i=0; iprev) { - if(p->name==0) - continue; - if(strcmp(p->name, name)==0) - return (HANDLE)p->handle; + if(p->name==0) + continue; + if(strcmp(p->name, name)==0) + return (HANDLE)p->handle; } return 0; } diff --git a/libs/loader/ext.h b/libs/loader/ext.h index d1060d1af9..668219f5bc 100644 --- a/libs/loader/ext.h +++ b/libs/loader/ext.h @@ -10,9 +10,9 @@ #include "wine/windef.h" extern LPVOID FILE_dommap( int unix_handle, LPVOID start, - DWORD size_high, DWORD size_low, - DWORD offset_high, DWORD offset_low, - int prot, int flags ); + DWORD size_high, DWORD size_low, + DWORD offset_high, DWORD offset_low, + int prot, int flags ); extern int FILE_munmap( LPVOID start, DWORD size_high, DWORD size_low ); extern int wcsnicmp(const unsigned short* s1, const unsigned short* s2, int n); extern int __vprintf( const char *format, ... ); diff --git a/libs/loader/kludge.c b/libs/loader/kludge.c index 44ec008aba..a22af0a7e9 100644 --- a/libs/loader/kludge.c +++ b/libs/loader/kludge.c @@ -23,5 +23,5 @@ int dbg_printf(const char *format, ...) { - return 0; + return 0; } diff --git a/libs/loader/ldt_keeper.c b/libs/loader/ldt_keeper.c index 433a83a5ed..2cfae68b0f 100644 --- a/libs/loader/ldt_keeper.c +++ b/libs/loader/ldt_keeper.c @@ -146,8 +146,8 @@ void Setup_FS_Segment(void) unsigned int ldt_desc = LDT_SEL(fs_ldt); __asm__ __volatile__( - "movl %0,%%eax; movw %%ax, %%fs" : : "r" (ldt_desc) - :"eax" + "movl %0,%%eax; movw %%ax, %%fs" : : "r" (ldt_desc) + :"eax" ); } @@ -157,28 +157,28 @@ void Setup_FS_Segment(void) /* XXX: why is this routine from libc redefined here? */ /* NOTE: the redefined version ignores the count param, count is hardcoded as 16 */ static int LDT_Modify( int func, struct modify_ldt_ldt_s *ptr, - unsigned long count ) + unsigned long count ) { int res; #ifdef __PIC__ __asm__ __volatile__( "pushl %%ebx\n\t" - "movl %2,%%ebx\n\t" - "int $0x80\n\t" - "popl %%ebx" - : "=a" (res) - : "0" (__NR_modify_ldt), - "r" (func), - "c" (ptr), - "d"(16)//sizeof(*ptr) from kernel point of view - :"esi" ); + "movl %2,%%ebx\n\t" + "int $0x80\n\t" + "popl %%ebx" + : "=a" (res) + : "0" (__NR_modify_ldt), + "r" (func), + "c" (ptr), + "d"(16)//sizeof(*ptr) from kernel point of view + :"esi" ); #else __asm__ __volatile__("int $0x80" - : "=a" (res) - : "0" (__NR_modify_ldt), - "b" (func), - "c" (ptr), - "d"(16) - :"esi"); + : "=a" (res) + : "0" (__NR_modify_ldt), + "b" (func), + "c" (ptr), + "d"(16) + :"esi"); #endif /* __PIC__ */ if (res >= 0) return res; errno = -res; @@ -191,15 +191,15 @@ static int LDT_Modify( int func, struct modify_ldt_ldt_s *ptr, static void LDT_EntryToBytes( unsigned long *buffer, const struct modify_ldt_ldt_s *content ) { *buffer++ = ((content->base_addr & 0x0000ffff) << 16) | - (content->limit & 0x0ffff); + (content->limit & 0x0ffff); *buffer = (content->base_addr & 0xff000000) | - ((content->base_addr & 0x00ff0000)>>16) | - (content->limit & 0xf0000) | - (content->contents << 10) | - ((content->read_exec_only == 0) << 9) | - ((content->seg_32bit != 0) << 22) | - ((content->limit_in_pages != 0) << 23) | - 0xf000; + ((content->base_addr & 0x00ff0000)>>16) | + (content->limit & 0xf0000) | + (content->contents << 10) | + ((content->read_exec_only == 0) << 9) | + ((content->seg_32bit != 0) << 22) | + ((content->limit_in_pages != 0) << 23) | + 0xf000; } #endif @@ -212,22 +212,22 @@ ldt_fs_t* Setup_LDT_Keeper(void) ldt_fs_t* ldt_fs = (ldt_fs_t*) malloc(sizeof(ldt_fs_t)); if (!ldt_fs) - return NULL; + return NULL; ldt_fs->fd = open("/dev/zero", O_RDWR); if(ldt_fs->fd<0){ perror( "Cannot open /dev/zero for READ+WRITE. Check permissions! error: "); - return NULL; + return NULL; } fs_seg= ldt_fs->fs_seg = mmap(NULL, getpagesize(), PROT_READ | PROT_WRITE, MAP_PRIVATE, - ldt_fs->fd, 0); + ldt_fs->fd, 0); if (ldt_fs->fs_seg == (void*)-1) { - perror("ERROR: Couldn't allocate memory for fs segment"); + perror("ERROR: Couldn't allocate memory for fs segment"); close(ldt_fs->fd); free(ldt_fs); - return NULL; + return NULL; } *(void**)((char*)ldt_fs->fs_seg+0x18) = ldt_fs->fs_seg; memset(&array, 0, sizeof(array)); @@ -244,8 +244,8 @@ ldt_fs_t* Setup_LDT_Keeper(void) ret=modify_ldt(0x1, &array, sizeof(struct modify_ldt_ldt_s)); if(ret<0) { - perror("install_fs"); - printf("Couldn't install fs segment, expect segfault\n"); + perror("install_fs"); + printf("Couldn't install fs segment, expect segfault\n"); } #endif /*linux*/ @@ -264,7 +264,7 @@ ldt_fs_t* Setup_LDT_Keeper(void) if (ret < 0) { perror("install_fs"); - printf("Couldn't install fs segment, expect segfault\n"); + printf("Couldn't install fs segment, expect segfault\n"); printf("Did you reconfigure the kernel with \"options USER_LDT\"?\n"); } } @@ -272,18 +272,18 @@ ldt_fs_t* Setup_LDT_Keeper(void) #if defined(__svr4__) { - struct ssd ssd; - ssd.sel = LDT_SEL(TEB_SEL_IDX); - ssd.bo = array.base_addr; - ssd.ls = array.limit - array.base_addr; - ssd.acc1 = ((array.read_exec_only == 0) << 1) | - (array.contents << 2) | - 0xf0; /* P(resent) | DPL3 | S */ - ssd.acc2 = 0x4; /* byte limit, 32-bit segment */ - if (sysi86(SI86DSCR, &ssd) < 0) { - perror("sysi86(SI86DSCR)"); - printf("Couldn't install fs segment, expect segfault\n"); - } + struct ssd ssd; + ssd.sel = LDT_SEL(TEB_SEL_IDX); + ssd.bo = array.base_addr; + ssd.ls = array.limit - array.base_addr; + ssd.acc1 = ((array.read_exec_only == 0) << 1) | + (array.contents << 2) | + 0xf0; /* P(resent) | DPL3 | S */ + ssd.acc2 = 0x4; /* byte limit, 32-bit segment */ + if (sysi86(SI86DSCR, &ssd) < 0) { + perror("sysi86(SI86DSCR)"); + printf("Couldn't install fs segment, expect segfault\n"); + } } #endif @@ -298,9 +298,9 @@ ldt_fs_t* Setup_LDT_Keeper(void) void Restore_LDT_Keeper(ldt_fs_t* ldt_fs) { if (ldt_fs == NULL || ldt_fs->fs_seg == 0) - return; + return; if (ldt_fs->prev_struct) - free(ldt_fs->prev_struct); + free(ldt_fs->prev_struct); munmap((char*)ldt_fs->fs_seg, getpagesize()); ldt_fs->fs_seg = 0; close(ldt_fs->fd); diff --git a/libs/loader/loader.h b/libs/loader/loader.h index b4958141a7..ec29983d4b 100644 --- a/libs/loader/loader.h +++ b/libs/loader/loader.h @@ -42,9 +42,9 @@ extern "C" { unsigned int _GetPrivateProfileIntA(const char* appname, const char* keyname, int default_value, const char* filename); int _GetPrivateProfileStringA(const char* appname, const char* keyname, - const char* def_val, char* dest, unsigned int len, const char* filename); + const char* def_val, char* dest, unsigned int len, const char* filename); int _WritePrivateProfileStringA(const char* appname, const char* keyname, - const char* string, const char* filename); + const char* string, const char* filename); INT WINAPI LoadStringA( HINSTANCE instance, UINT resource_id, LPSTR buffer, INT buflen ); diff --git a/libs/loader/module.c b/libs/loader/module.c index e88b9f464e..2e42dff415 100644 --- a/libs/loader/module.c +++ b/libs/loader/module.c @@ -80,14 +80,14 @@ WINE_MODREF* MODULE_FindModule(LPCSTR m) modref_list* list=local_wm; TRACE("FindModule: Module %s request\n", m); if(list==NULL) - return NULL; + return NULL; // while(strcmp(m, list->wm->filename)) while(!strstr(list->wm->filename, m)) { - TRACE("%s: %x\n", list->wm->filename, list->wm->module); - list=list->prev; - if(list==NULL) - return NULL; + TRACE("%s: %x\n", list->wm->filename, list->wm->module); + list=list->prev; + if(list==NULL) + return NULL; } TRACE("Resolved to %s\n", list->wm->filename); return list->wm; @@ -97,29 +97,29 @@ static void MODULE_RemoveFromList(WINE_MODREF *mod) { modref_list* list=local_wm; if(list==0) - return; + return; if(mod==0) - return; + return; if((list->prev==NULL)&&(list->next==NULL)) { - free(list); - local_wm=NULL; -// uninstall_fs(); - return; + free(list); + local_wm=NULL; +// uninstall_fs(); + return; } for(;list;list=list->prev) { - if(list->wm==mod) - { - if(list->prev) - list->prev->next=list->next; - if(list->next) - list->next->prev=list->prev; - if(list==local_wm) - local_wm=list->prev; - free(list); - return; - } + if(list->wm==mod) + { + if(list->prev) + list->prev->next=list->next; + if(list->next) + list->next->prev=list->prev; + if(list==local_wm) + local_wm=list->prev; + free(list); + return; + } } } @@ -130,26 +130,26 @@ WINE_MODREF *MODULE32_LookupHMODULE(HMODULE m) TRACE("LookupHMODULE: Module %X request\n", m); if(list==NULL) { - TRACE("LookupHMODULE failed\n"); - return NULL; + TRACE("LookupHMODULE failed\n"); + return NULL; } while(m!=list->wm->module) { // printf("Checking list %X wm %X module %X\n", -// list, list->wm, list->wm->module); - list=list->prev; - if(list==NULL) - { - TRACE("LookupHMODULE failed\n"); - return NULL; - } +// list, list->wm, list->wm->module); + list=list->prev; + if(list==NULL) + { + TRACE("LookupHMODULE failed\n"); + return NULL; + } } TRACE("LookupHMODULE hit %p\n", list->wm); return list->wm; } /************************************************************************* - * MODULE_InitDll + * MODULE_InitDll */ static WIN_BOOL MODULE_InitDll( WINE_MODREF *wm, DWORD type, LPVOID lpReserved ) { @@ -195,7 +195,7 @@ static WIN_BOOL MODULE_InitDll( WINE_MODREF *wm, DWORD type, LPVOID lpReserved ) } /************************************************************************* - * MODULE_DllProcessAttach + * MODULE_DllProcessAttach * * Send the process attach notification to all DLLs the given module * depends on (recursively). This is somewhat complicated due to the fact that @@ -252,7 +252,7 @@ static WIN_BOOL MODULE_DllProcessAttach( WINE_MODREF *wm, LPVOID lpReserved ) //local_wm=wm; if(local_wm) { - local_wm->next = (modref_list*) malloc(sizeof(modref_list)); + local_wm->next = (modref_list*) malloc(sizeof(modref_list)); local_wm->next->prev=local_wm; local_wm->next->next=NULL; local_wm->next->wm=wm; @@ -260,9 +260,9 @@ static WIN_BOOL MODULE_DllProcessAttach( WINE_MODREF *wm, LPVOID lpReserved ) } else { - local_wm = (modref_list*)malloc(sizeof(modref_list)); - local_wm->next=local_wm->prev=NULL; - local_wm->wm=wm; + local_wm = (modref_list*)malloc(sizeof(modref_list)); + local_wm->next=local_wm->prev=NULL; + local_wm->wm=wm; } /* Remove recursion flag */ wm->flags &= ~WINE_MODREF_MARKER; @@ -281,7 +281,7 @@ static WIN_BOOL MODULE_DllProcessAttach( WINE_MODREF *wm, LPVOID lpReserved ) } /************************************************************************* - * MODULE_DllProcessDetach + * MODULE_DllProcessDetach * * Send DLL process detach notifications. See the comment about calling * sequence at MODULE_DllProcessAttach. Unless the bForceDetach flag @@ -295,15 +295,15 @@ static void MODULE_DllProcessDetach( WINE_MODREF* wm, WIN_BOOL bForceDetach, LPV MODULE_InitDll( wm, DLL_PROCESS_DETACH, lpReserved ); /* while (l) { - modref_list* f = l; - l = l->next; - free(f); + modref_list* f = l; + l = l->next; + free(f); } local_wm = 0;*/ } /*********************************************************************** - * MODULE_LoadLibraryExA (internal) + * MODULE_LoadLibraryExA (internal) * * Load a PE style module according to the load order. * @@ -315,38 +315,38 @@ static void MODULE_DllProcessDetach( WINE_MODREF* wm, WIN_BOOL bForceDetach, LPV */ static WINE_MODREF *MODULE_LoadLibraryExA( LPCSTR libname, HFILE hfile, DWORD flags ) { - DWORD err = GetLastError(); - WINE_MODREF *pwm; - int i; -// module_loadorder_t *plo; + DWORD err = GetLastError(); + WINE_MODREF *pwm; + int i; +// module_loadorder_t *plo; SetLastError( ERROR_FILE_NOT_FOUND ); - TRACE("Trying native dll '%s'\n", libname); - pwm = PE_LoadLibraryExA(libname, flags); + TRACE("Trying native dll '%s'\n", libname); + pwm = PE_LoadLibraryExA(libname, flags); #ifdef HAVE_LIBDL - if(!pwm) - { - TRACE("Trying ELF dll '%s'\n", libname); - pwm=(WINE_MODREF*)ELFDLL_LoadLibraryExA(libname, flags); - } + if(!pwm) + { + TRACE("Trying ELF dll '%s'\n", libname); + pwm=(WINE_MODREF*)ELFDLL_LoadLibraryExA(libname, flags); + } #endif -// printf("0x%08x\n", pwm); -// break; - if(pwm) - { - /* Initialize DLL just loaded */ - TRACE("Loaded module '%s' at 0x%08x, \n", libname, pwm->module); - /* Set the refCount here so that an attach failure will */ - /* decrement the dependencies through the MODULE_FreeLibrary call. */ - pwm->refCount++; +// printf("0x%08x\n", pwm); +// break; + if(pwm) + { + /* Initialize DLL just loaded */ + TRACE("Loaded module '%s' at 0x%08x, \n", libname, pwm->module); + /* Set the refCount here so that an attach failure will */ + /* decrement the dependencies through the MODULE_FreeLibrary call. */ + pwm->refCount++; SetLastError( err ); /* restore last error */ - return pwm; - } + return pwm; + } - WARN("Failed to load module '%s'; error=0x%08lx, \n", libname, GetLastError()); - return NULL; + WARN("Failed to load module '%s'; error=0x%08lx, \n", libname, GetLastError()); + return NULL; } /*********************************************************************** @@ -376,85 +376,85 @@ static WIN_BOOL MODULE_FreeLibrary( WINE_MODREF *wm ) */ HMODULE WINAPI LoadLibraryExA(LPCSTR libname, HANDLE hfile, DWORD flags) { - WINE_MODREF *wm = 0; - char* listpath[] = { "", "", "/usr/lib/win32", "/usr/local/lib/win32", "/usr/lib/codecs", "/usr/local/lib/codecs", 0 }; - extern char* def_path; - char path[512]; - char checked[2000]; + WINE_MODREF *wm = 0; + char* listpath[] = { "", "", "/usr/lib/win32", "/usr/local/lib/win32", "/usr/lib/codecs", "/usr/local/lib/codecs", 0 }; + extern char* def_path; + char path[512]; + char checked[2000]; int i = -1; checked[0] = 0; - if(!libname) - { - SetLastError(ERROR_INVALID_PARAMETER); - return 0; - } - - wm=MODULE_FindModule(libname); - if(wm) return wm->module; - -// if(fs_installed==0) -// install_fs(); - - while (wm == 0 && listpath[++i]) - { - if (i < 2) - { - if (i == 0) - /* check just original file name */ - strncpy(path, libname, 511); + if(!libname) + { + SetLastError(ERROR_INVALID_PARAMETER); + return 0; + } + + wm=MODULE_FindModule(libname); + if(wm) return wm->module; + +// if(fs_installed==0) +// install_fs(); + + while (wm == 0 && listpath[++i]) + { + if (i < 2) + { + if (i == 0) + /* check just original file name */ + strncpy(path, libname, 511); else - /* check default user path */ - strncpy(path, def_path, 300); - } - else if (strcmp(def_path, listpath[i])) + /* check default user path */ + strncpy(path, def_path, 300); + } + else if (strcmp(def_path, listpath[i])) /* path from the list */ - strncpy(path, listpath[i], 300); - else - continue; - - if (i > 0) - { - strcat(path, "/"); - strncat(path, libname, 100); - } - path[511] = 0; - wm = MODULE_LoadLibraryExA( path, hfile, flags ); - - if (!wm) - { - if (checked[0]) - strcat(checked, ", "); - strcat(checked, path); + strncpy(path, listpath[i], 300); + else + continue; + + if (i > 0) + { + strcat(path, "/"); + strncat(path, libname, 100); + } + path[511] = 0; + wm = MODULE_LoadLibraryExA( path, hfile, flags ); + + if (!wm) + { + if (checked[0]) + strcat(checked, ", "); + strcat(checked, path); checked[1500] = 0; - } - } - if ( wm ) - { - if ( !MODULE_DllProcessAttach( wm, NULL ) ) - { - WARN_(module)("Attach failed for module '%s', \n", libname); - MODULE_FreeLibrary(wm); - SetLastError(ERROR_DLL_INIT_FAILED); - MODULE_RemoveFromList(wm); - wm = NULL; - } - } - - if (!wm) - printf("Win32 LoadLibrary failed to load: %s\n", checked); - - if (strstr(libname,"vp31vfw.dll") && wm) - { - int i; - - // sse hack moved from patch dll into runtime patching + } + } + if ( wm ) + { + if ( !MODULE_DllProcessAttach( wm, NULL ) ) + { + WARN_(module)("Attach failed for module '%s', \n", libname); + MODULE_FreeLibrary(wm); + SetLastError(ERROR_DLL_INIT_FAILED); + MODULE_RemoveFromList(wm); + wm = NULL; + } + } + + if (!wm) + printf("Win32 LoadLibrary failed to load: %s\n", checked); + + if (strstr(libname,"vp31vfw.dll") && wm) + { + int i; + + // sse hack moved from patch dll into runtime patching if (PE_FindExportedFunction(wm, "DriverProc", TRUE)==(void*)0x10001000) { - fprintf(stderr, "VP3 DLL found\n"); - for (i=0;i<18;i++) ((char*)0x10004bd6)[i]=0x90; - } - } + fprintf(stderr, "VP3 DLL found\n"); + for (i=0;i<18;i++) ((char*)0x10004bd6)[i]=0x90; + } + } // remove a few divs in the VP codecs that make trouble if (strstr(libname,"vp5vfw.dll") && wm) @@ -508,78 +508,78 @@ HMODULE WINAPI LoadLibraryExA(LPCSTR libname, HANDLE hfile, DWORD flags) } } - if (strstr(libname,"QuickTime.qts") && wm) - { - void** ptr; - void *dispatch_addr; - int i; - -// dispatch_addr = GetProcAddress(wm->module, "theQuickTimeDispatcher", TRUE); - dispatch_addr = PE_FindExportedFunction(wm, "theQuickTimeDispatcher", TRUE); - if (dispatch_addr == (void *)0x62924c30) - { - fprintf(stderr, "QuickTime5 DLLs found\n"); - ptr = (void **)0x62b75ca4; // dispatch_ptr - for (i=0;i<5;i++) ((char*)0x6299e842)[i]=0x90; // make_new_region ? - for (i=0;i<28;i++) ((char*)0x6299e86d)[i]=0x90; // call__call_CreateCompatibleDC ? - for (i=0;i<5;i++) ((char*)0x6299e898)[i]=0x90; // jmp_to_call_loadbitmap ? - for (i=0;i<9;i++) ((char*)0x6299e8ac)[i]=0x90; // call__calls_OLE_shit ? - for (i=0;i<106;i++) ((char*)0x62a61b10)[i]=0x90; // disable threads + if (strstr(libname,"QuickTime.qts") && wm) + { + void** ptr; + void *dispatch_addr; + int i; + +// dispatch_addr = GetProcAddress(wm->module, "theQuickTimeDispatcher", TRUE); + dispatch_addr = PE_FindExportedFunction(wm, "theQuickTimeDispatcher", TRUE); + if (dispatch_addr == (void *)0x62924c30) + { + fprintf(stderr, "QuickTime5 DLLs found\n"); + ptr = (void **)0x62b75ca4; // dispatch_ptr + for (i=0;i<5;i++) ((char*)0x6299e842)[i]=0x90; // make_new_region ? + for (i=0;i<28;i++) ((char*)0x6299e86d)[i]=0x90; // call__call_CreateCompatibleDC ? + for (i=0;i<5;i++) ((char*)0x6299e898)[i]=0x90; // jmp_to_call_loadbitmap ? + for (i=0;i<9;i++) ((char*)0x6299e8ac)[i]=0x90; // call__calls_OLE_shit ? + for (i=0;i<106;i++) ((char*)0x62a61b10)[i]=0x90; // disable threads #if 0 - /* CreateThread callers */ - for (i=0;i<5;i++) ((char*)0x629487c5)[i]=0x90; - for (i=0;i<5;i++) ((char*)0x6294b275)[i]=0x90; - for (i=0;i<5;i++) ((char*)0x629a24b1)[i]=0x90; - for (i=0;i<5;i++) ((char*)0x629afc5a)[i]=0x90; - for (i=0;i<5;i++) ((char*)0x62af799c)[i]=0x90; - for (i=0;i<5;i++) ((char*)0x62af7efe)[i]=0x90; - for (i=0;i<5;i++) ((char*)0x62afa33e)[i]=0x90; + /* CreateThread callers */ + for (i=0;i<5;i++) ((char*)0x629487c5)[i]=0x90; + for (i=0;i<5;i++) ((char*)0x6294b275)[i]=0x90; + for (i=0;i<5;i++) ((char*)0x629a24b1)[i]=0x90; + for (i=0;i<5;i++) ((char*)0x629afc5a)[i]=0x90; + for (i=0;i<5;i++) ((char*)0x62af799c)[i]=0x90; + for (i=0;i<5;i++) ((char*)0x62af7efe)[i]=0x90; + for (i=0;i<5;i++) ((char*)0x62afa33e)[i]=0x90; #endif #if 0 - /* TerminateQTML fix */ - for (i=0;i<47;i++) ((char*)0x62afa3b8)[i]=0x90; // terminate thread - for (i=0;i<47;i++) ((char*)0x62af7f78)[i]=0x90; // terminate thread - for (i=0;i<77;i++) ((char*)0x629a13d5)[i]=0x90; - ((char *)0x6288e0ae)[0] = 0xc3; // font/dc remover - for (i=0;i<24;i++) ((char*)0x6287a1ad)[i]=0x90; // destroy window + /* TerminateQTML fix */ + for (i=0;i<47;i++) ((char*)0x62afa3b8)[i]=0x90; // terminate thread + for (i=0;i<47;i++) ((char*)0x62af7f78)[i]=0x90; // terminate thread + for (i=0;i<77;i++) ((char*)0x629a13d5)[i]=0x90; + ((char *)0x6288e0ae)[0] = 0xc3; // font/dc remover + for (i=0;i<24;i++) ((char*)0x6287a1ad)[i]=0x90; // destroy window #endif - } else if (dispatch_addr == (void *)0x6693b330) - { - fprintf(stderr, "QuickTime6 DLLs found\n"); - ptr = (void **)0x66bb9524; // dispatcher_ptr - for (i=0;i<5;i++) ((char *)0x66a730cc)[i]=0x90; // make_new_region - for (i=0;i<28;i++) ((char *)0x66a730f7)[i]=0x90; // call__call_CreateCompatibleDC - for (i=0;i<5;i++) ((char *)0x66a73122)[i]=0x90; // jmp_to_call_loadbitmap - for (i=0;i<9;i++) ((char *)0x66a73131)[i]=0x90; // call__calls_OLE_shit - for (i=0;i<96;i++) ((char *)0x66aac852)[i]=0x90; // disable threads - } else if (dispatch_addr == (void *)0x6693c3e0) - { - fprintf(stderr, "QuickTime6.3 DLLs found\n"); - ptr = (void **)0x66bca01c; // dispatcher_ptr - for (i=0;i<5;i++) ((char *)0x66a68f6c)[i]=0x90; // make_new_region - for (i=0;i<28;i++) ((char *)0x66a68f97)[i]=0x90; // call__call_CreateCompatibleDC - for (i=0;i<5;i++) ((char *)0x66a68fc2)[i]=0x90; // jmp_to_call_loadbitmap - for (i=0;i<9;i++) ((char *)0x66a68fd1)[i]=0x90; // call__calls_OLE_shit - for (i=0;i<96;i++) ((char *)0x66ab4722)[i]=0x90; // disable threads - } else - { - fprintf(stderr, "Unsupported QuickTime version (%p)\n", - dispatch_addr); - return 0; - } - - fprintf(stderr,"QuickTime.qts patched!!! old entry=%p\n",ptr[0]); + } else if (dispatch_addr == (void *)0x6693b330) + { + fprintf(stderr, "QuickTime6 DLLs found\n"); + ptr = (void **)0x66bb9524; // dispatcher_ptr + for (i=0;i<5;i++) ((char *)0x66a730cc)[i]=0x90; // make_new_region + for (i=0;i<28;i++) ((char *)0x66a730f7)[i]=0x90; // call__call_CreateCompatibleDC + for (i=0;i<5;i++) ((char *)0x66a73122)[i]=0x90; // jmp_to_call_loadbitmap + for (i=0;i<9;i++) ((char *)0x66a73131)[i]=0x90; // call__calls_OLE_shit + for (i=0;i<96;i++) ((char *)0x66aac852)[i]=0x90; // disable threads + } else if (dispatch_addr == (void *)0x6693c3e0) + { + fprintf(stderr, "QuickTime6.3 DLLs found\n"); + ptr = (void **)0x66bca01c; // dispatcher_ptr + for (i=0;i<5;i++) ((char *)0x66a68f6c)[i]=0x90; // make_new_region + for (i=0;i<28;i++) ((char *)0x66a68f97)[i]=0x90; // call__call_CreateCompatibleDC + for (i=0;i<5;i++) ((char *)0x66a68fc2)[i]=0x90; // jmp_to_call_loadbitmap + for (i=0;i<9;i++) ((char *)0x66a68fd1)[i]=0x90; // call__calls_OLE_shit + for (i=0;i<96;i++) ((char *)0x66ab4722)[i]=0x90; // disable threads + } else + { + fprintf(stderr, "Unsupported QuickTime version (%p)\n", + dispatch_addr); + return 0; + } + + fprintf(stderr,"QuickTime.qts patched!!! old entry=%p\n",ptr[0]); #ifdef EMU_QTX_API - report_entry = report_func; - report_ret = report_func_ret; - wrapper_target=ptr[0]; - ptr[0]=wrapper; + report_entry = report_func; + report_ret = report_func_ret; + wrapper_target=ptr[0]; + ptr[0]=wrapper; #endif - } + } - return wm ? wm->module : 0; + return wm ? wm->module : 0; } @@ -587,7 +587,7 @@ HMODULE WINAPI LoadLibraryExA(LPCSTR libname, HANDLE hfile, DWORD flags) * LoadLibraryA (KERNEL32) */ HMODULE WINAPI LoadLibraryA(LPCSTR libname) { - return LoadLibraryExA(libname,0,0); + return LoadLibraryExA(libname,0,0); } /*********************************************************************** @@ -603,7 +603,7 @@ WIN_BOOL WINAPI FreeLibrary(HINSTANCE hLibModule) if ( !wm || !hLibModule ) { SetLastError( ERROR_INVALID_HANDLE ); - return 0; + return 0; } else retv = MODULE_FreeLibrary( wm ); @@ -647,7 +647,7 @@ static void MODULE_DecRefCount( WINE_MODREF *wm ) } /*********************************************************************** - * GetProcAddress (KERNEL32.257) + * GetProcAddress (KERNEL32.257) */ FARPROC WINAPI GetProcAddress( HMODULE hModule, LPCSTR function ) { @@ -656,7 +656,7 @@ FARPROC WINAPI GetProcAddress( HMODULE hModule, LPCSTR function ) #ifdef DEBUG_QTX_API -/* +/* http://lists.apple.com/archives/quicktime-api/2003/Jan/msg00278.html */ @@ -722,23 +722,23 @@ static int dump_component(char* name,int type,void* _orig, ComponentParameters * fprintf(stderr,"%*sComponentCall: %s flags=0x%X size=%d what=0x%X %s\n",3*c_level,"",name,params->flags, params->paramSize, params->what, component_func(params->what)); for(i=0;iparamSize/4;i++) - fprintf(stderr,"%*s param[%d] = 0x%X\n",3*c_level,"",i,params->params[i]); + fprintf(stderr,"%*s param[%d] = 0x%X\n",3*c_level,"",i,params->params[i]); ++c_level; ret=orig(params,glob); --c_level; - + if(ret>=0x1000) - fprintf(stderr,"%*s return=0x%X\n",3*c_level,"",ret); + fprintf(stderr,"%*s return=0x%X\n",3*c_level,"",ret); else - fprintf(stderr,"%*s return=%d\n",3*c_level,"",ret); + fprintf(stderr,"%*s return=%d\n",3*c_level,"",ret); return ret; } #define DECL_COMPONENT(sname,name,type) \ static void* real_ ## sname = NULL; \ static int fake_ ## sname(ComponentParameters *params,void** glob){ \ - return dump_component(name,type,real_ ## sname, params, glob); \ + return dump_component(name,type,real_ ## sname, params, glob); \ } #include "qt_comp.h" @@ -764,47 +764,47 @@ static int report_func(void *stack_base, int stack_size, reg386_t *reg, uint32_t char* pname=NULL; int plen=-1; // find the code: - + dptr=0x62b67ae0;dptr+=2*((reg->eax>>16)&255); // printf("FUNC: flag=%d ptr=%p\n",dptr[0],dptr[1]); if(dptr[0]&255){ dptr=dptr[1];dptr+=4*(reg->eax&65535); // printf("FUNC: ptr2=%p eax=%p edx=%p\n",dptr[1],dptr[0],dptr[2]); - pwrapper=dptr[1]; pptr=dptr[0]; plen=dptr[2]; + pwrapper=dptr[1]; pptr=dptr[0]; plen=dptr[2]; } else { pwrapper=0x62924910; switch(dptr[1]){ case 0x629248d0: dptr=0x62b672c0;dptr+=2*(reg->eax&65535); // printf("FUNC: ptr2=%p eax=%p edx=%p\n",0x62924910,dptr[0],dptr[1]); - pptr=dptr[0]; plen=dptr[1]; - break; + pptr=dptr[0]; plen=dptr[1]; + break; case 0x62924e40: dptr=0x62b67c70;dptr+=2*(reg->eax&65535); // printf("FUNC: ptr2=%p eax=%p edx=%p\n",0x62924910,dptr[0],dptr[1]); - pptr=dptr[0]; plen=dptr[1]; - break; + pptr=dptr[0]; plen=dptr[1]; + break; case 0x62924e60: dptr=0x62b68108;if(reg->eax&0x8000) dptr+=2*(reg->eax|0xffff0000); else dptr+=2*(reg->eax&65535); // printf("FUNC: ptr2=%p eax=%p edx=%p\n",0x62924910,dptr[0],dptr[1]); - pptr=dptr[0]; plen=dptr[1]; - break; + pptr=dptr[0]; plen=dptr[1]; + break; case 0x62924e80: dptr=0x62b68108;if(reg->eax&0x8000) dptr+=2*(reg->eax|0xffff0000); else dptr+=2*(reg->eax&65535); // printf("FUNC: ptr2=%p eax=%p edx=%p\n",0x62924910,dptr[0],dptr[1]); - pptr=dptr[0]; plen=dptr[1]; - break; + pptr=dptr[0]; plen=dptr[1]; + break; default: printf("FUNC: unknown ptr & psize!\n"); - pwrapper=dptr[1]; + pwrapper=dptr[1]; } } for(i=0;qt_fv_list[i].name;i++){ if(qt_fv_list[i].id==reg->eax){ - pname=qt_fv_list[i].name; - break; - } + pname=qt_fv_list[i].name; + break; + } } printf("FUNC[%X/%s]: wrapper=%p func=%p len=%d\n",reg->eax, @@ -830,7 +830,7 @@ static int report_func(void *stack_base, int stack_size, reg386_t *reg, uint32_t fflush(stdout); #endif - + #if 1 // emulate some functions: switch(reg->eax){ @@ -914,22 +914,22 @@ static int report_func(void *stack_base, int stack_size, reg386_t *reg, uint32_t int i; for(i=0;qt_fv_list[i].name;i++){ if(qt_fv_list[i].id==reg->eax){ - printf("FUNC: %s\n",qt_fv_list[i].name); - break; - } + printf("FUNC: %s\n",qt_fv_list[i].name); + break; + } } } } - // print stack/reg information + // print stack/reg information printf("ENTER(%d) stack = %d bytes @ %p\n" - "eax = 0x%08x edx = 0x%08x ebx = 0x%08x ecx = 0x%08x\n" - "esp = 0x%08x ebp = 0x%08x esi = 0x%08x edi = 0x%08x\n" - "flags = 0x%08x\n", ret_i, - stack_size, stack_base, - reg->eax, reg->edx, reg->ebx, reg->ecx, - reg->esp, reg->ebp, reg->esi, reg->edi, - *flags); + "eax = 0x%08x edx = 0x%08x ebx = 0x%08x ecx = 0x%08x\n" + "esp = 0x%08x ebp = 0x%08x esi = 0x%08x edi = 0x%08x\n" + "flags = 0x%08x\n", ret_i, + stack_size, stack_base, + reg->eax, reg->edx, reg->ebx, reg->ecx, + reg->esp, reg->ebp, reg->esi, reg->edi, + *flags); #endif // save ret addr: @@ -937,15 +937,15 @@ static int report_func(void *stack_base, int stack_size, reg386_t *reg, uint32_t ++ret_i; #if 0 - // print first 7 longs in the stack (return address, arg[1], arg[2] ... ) + // print first 7 longs in the stack (return address, arg[1], arg[2] ... ) printf("stack[] = { "); for (i=0;i<7;i++) { printf("%08x ", ((uint32_t *)stack_base)[i]); } printf("}\n\n"); #endif - -// // mess with function parameters + +// // mess with function parameters // ((uint32_t *)stack_base)[1] = 0x66554433; // // mess with return address... @@ -971,19 +971,19 @@ static int report_func_ret(void *stack_base, int stack_size, reg386_t *reg, uint printf("\n"); fflush(stdout); #else - // print stack/reg information + // print stack/reg information printf("LEAVE(%d) stack = %d bytes @ %p\n" - "eax = 0x%08x edx = 0x%08x ebx = 0x%08x ecx = 0x%08x\n" - "esp = 0x%08x ebp = 0x%08x esi = 0x%08x edi = 0x%08x\n" - "flags = 0x%08x\n", ret_i, - stack_size, stack_base, - reg->eax, reg->edx, reg->ebx, reg->ecx, - reg->esp, reg->ebp, reg->esi, reg->edi, - *flags); + "eax = 0x%08x edx = 0x%08x ebx = 0x%08x ecx = 0x%08x\n" + "esp = 0x%08x ebp = 0x%08x esi = 0x%08x edi = 0x%08x\n" + "flags = 0x%08x\n", ret_i, + stack_size, stack_base, + reg->eax, reg->edx, reg->ebx, reg->ecx, + reg->esp, reg->ebp, reg->esi, reg->edi, + *flags); #endif #if 0 - // print first 7 longs in the stack (return address, arg[1], arg[2] ... ) + // print first 7 longs in the stack (return address, arg[1], arg[2] ... ) printf("stack[] = { "); for (i=0;i<7;i++) { printf("%08x ", ((uint32_t *)stack_base)[i]); @@ -992,8 +992,8 @@ static int report_func_ret(void *stack_base, int stack_size, reg386_t *reg, uint #endif #endif - -// // mess with function parameters + +// // mess with function parameters // ((uint32_t *)stack_base)[1] = 0x66554433; // // mess with return address... @@ -1004,48 +1004,48 @@ static int report_func_ret(void *stack_base, int stack_size, reg386_t *reg, uint #endif /*********************************************************************** - * MODULE_GetProcAddress (internal) + * MODULE_GetProcAddress (internal) */ FARPROC MODULE_GetProcAddress( - HMODULE hModule, /* [in] current module handle */ - LPCSTR function, /* [in] function to be looked up */ - WIN_BOOL snoop ) + HMODULE hModule, /* [in] current module handle */ + LPCSTR function, /* [in] function to be looked up */ + WIN_BOOL snoop ) { - WINE_MODREF *wm = MODULE32_LookupHMODULE( hModule ); + WINE_MODREF *wm = MODULE32_LookupHMODULE( hModule ); // WINE_MODREF *wm=local_wm; - FARPROC retproc; + FARPROC retproc; #ifdef DEBUG_QTX_API if (HIWORD(function)) - fprintf(stderr,"XXX GetProcAddress(%08lx,%s)\n",(DWORD)hModule,function); + fprintf(stderr,"XXX GetProcAddress(%08lx,%s)\n",(DWORD)hModule,function); else - fprintf(stderr,"XXX GetProcAddress(%08lx,%p)\n",(DWORD)hModule,function); + fprintf(stderr,"XXX GetProcAddress(%08lx,%p)\n",(DWORD)hModule,function); #endif -// TRACE_(win32)("(%08lx,%s)\n",(DWORD)hModule,function); +// TRACE_(win32)("(%08lx,%s)\n",(DWORD)hModule,function); // else -// TRACE_(win32)("(%08lx,%p)\n",(DWORD)hModule,function); +// TRACE_(win32)("(%08lx,%p)\n",(DWORD)hModule,function); if (!wm) { - SetLastError(ERROR_INVALID_HANDLE); + SetLastError(ERROR_INVALID_HANDLE); return (FARPROC)0; } switch (wm->type) { case MODULE32_PE: - retproc = PE_FindExportedFunction( wm, function, snoop ); - if (!retproc) SetLastError(ERROR_PROC_NOT_FOUND); - break; + retproc = PE_FindExportedFunction( wm, function, snoop ); + if (!retproc) SetLastError(ERROR_PROC_NOT_FOUND); + break; #ifdef HAVE_LIBDL case MODULE32_ELF: - retproc = (FARPROC) dlsym( (void*) wm->module, function); - if (!retproc) SetLastError(ERROR_PROC_NOT_FOUND); - return retproc; + retproc = (FARPROC) dlsym( (void*) wm->module, function); + if (!retproc) SetLastError(ERROR_PROC_NOT_FOUND); + return retproc; #endif default: - ERR("wine_modref type %d not handled.\n",wm->type); - SetLastError(ERROR_INVALID_HANDLE); - return (FARPROC)0; + ERR("wine_modref type %d not handled.\n",wm->type); + SetLastError(ERROR_INVALID_HANDLE); + return (FARPROC)0; } #ifdef EMU_QTX_API @@ -1054,8 +1054,8 @@ FARPROC MODULE_GetProcAddress( #ifdef DEBUG_QTX_API #define DECL_COMPONENT(sname,name,type) \ if(!strcmp(function,name)){ \ - fprintf(stderr,name "dispatcher catched -> %p\n",retproc); \ - real_ ## sname = retproc; retproc = fake_ ## sname; \ + fprintf(stderr,name "dispatcher catched -> %p\n",retproc); \ + real_ ## sname = retproc; retproc = fake_ ## sname; \ } #include "qt_comp.h" #undef DECL_COMPONENT @@ -1065,7 +1065,7 @@ FARPROC MODULE_GetProcAddress( // || !strcmp(function,"_CallComponentFunctionWithStorage") // || !strcmp(function,"_CallComponent") ){ - fprintf(stderr,"theQuickTimeDispatcher catched -> %p\n",retproc); + fprintf(stderr,"theQuickTimeDispatcher catched -> %p\n",retproc); report_entry = report_func; report_ret = report_func_ret; wrapper_target=(void(*)(void))retproc; @@ -1091,16 +1091,16 @@ void CodecRelease(void) //printf("**************CODEC RELEASE %d\n", acounter); if (acounter == 0) { - for (;;) - { - modref_list* list = local_wm; - if (!local_wm) - break; - //printf("CODECRELEASE %p\n", list); + for (;;) + { + modref_list* list = local_wm; + if (!local_wm) + break; + //printf("CODECRELEASE %p\n", list); MODULE_FreeLibrary(list->wm); - MODULE_RemoveFromList(list->wm); + MODULE_RemoveFromList(list->wm); if (local_wm == NULL) - my_garbagecollection(); - } + my_garbagecollection(); + } } } diff --git a/libs/loader/pe_image.c b/libs/loader/pe_image.c index 30d09fffe6..13465a77cc 100644 --- a/libs/loader/pe_image.c +++ b/libs/loader/pe_image.c @@ -1,15 +1,15 @@ /* * $Id$ * - * Copyright 1994 Eric Youndale & Erik Bos - * Copyright 1995 Martin von Löwis + * Copyright 1994 Eric Youndale & Erik Bos + * Copyright 1995 Martin von Löwis * Copyright 1996-98 Marcus Meissner * - * based on Eric Youndale's pe-test and: + * based on Eric Youndale's pe-test and: * - * ftp.microsoft.com:/pub/developer/MSDN/CD8/PEFILE.ZIP + * ftp.microsoft.com:/pub/developer/MSDN/CD8/PEFILE.ZIP * make that: - * ftp.microsoft.com:/developr/MSDN/OctCD/PEFILE.ZIP + * ftp.microsoft.com:/developr/MSDN/OctCD/PEFILE.ZIP * * Modified for use with MPlayer, detailed CVS changelog at * http://www.mplayerhq.hu/cgi-bin/cvsweb.cgi/main/ @@ -33,12 +33,12 @@ /* Notes: * Before you start changing something in this file be aware of the following: * - * - There are several functions called recursively. In a very subtle and + * - There are several functions called recursively. In a very subtle and * obscure way. DLLs can reference each other recursively etc. * - If you want to enhance, speed up or clean up something in here, think * twice WHY it is implemented in that strange way. There is usually a reason. * Though sometimes it might just be lazyness ;) - * - In PE_MapImage, right before fixup_imports() all external and internal + * - In PE_MapImage, right before fixup_imports() all external and internal * state MUST be correct since this function can be called with the SAME image * AGAIN. (Thats recursion for you.) That means MODREF.module and * NE_MODULE.module32. @@ -86,12 +86,12 @@ extern void* LookupExternal(const char* library, int ordinal); extern void* LookupExternalByName(const char* library, const char* name); static void dump_exports( HMODULE hModule ) -{ - char *Module; +{ + char *Module; unsigned int i, j; - u_short *ordinal; - u_long *function,*functions; - u_char **name; + u_short *ordinal; + u_long *function,*functions; + u_char **name; unsigned int load_addr = hModule; DWORD rva_start = PE_HEADER(hModule)->OptionalHeader @@ -102,7 +102,7 @@ static void dump_exports( HMODULE hModule ) Module = (char*)RVA(pe_exports->Name); TRACE("*******EXPORT DATA*******\n"); - TRACE("Module name is %s, %ld functions, %ld names\n", + TRACE("Module name is %s, %ld functions, %ld names\n", Module, pe_exports->NumberOfFunctions, pe_exports->NumberOfNames); ordinal=(u_short*) RVA(pe_exports->AddressOfNameOrdinals); @@ -112,78 +112,78 @@ static void dump_exports( HMODULE hModule ) TRACE(" Ord RVA Addr Name\n" ); for (i=0;iNumberOfFunctions;i++, function++) { - if (!*function) continue; + if (!*function) continue; if (TRACE_ON(win32)) { - DPRINTF( "%4ld %08lx %p", i + pe_exports->Base, *function, RVA(*function) ); - - for (j = 0; j < pe_exports->NumberOfNames; j++) + DPRINTF( "%4ld %08lx %p", i + pe_exports->Base, *function, RVA(*function) ); + + for (j = 0; j < pe_exports->NumberOfNames; j++) if (ordinal[j] == i) { DPRINTF( " %s", (char*)RVA(name[j]) ); break; } - if ((*function >= rva_start) && (*function <= rva_end)) - DPRINTF(" (forwarded -> %s)", (char *)RVA(*function)); - DPRINTF("\n"); + if ((*function >= rva_start) && (*function <= rva_end)) + DPRINTF(" (forwarded -> %s)", (char *)RVA(*function)); + DPRINTF("\n"); } } } /* Look up the specified function or ordinal in the exportlist: * If it is a string: - * - look up the name in the Name list. - * - look up the ordinal with that index. - * - use the ordinal as offset into the functionlist + * - look up the name in the Name list. + * - look up the ordinal with that index. + * - use the ordinal as offset into the functionlist * If it is a ordinal: - * - use ordinal-pe_export->Base as offset into the functionlist + * - use ordinal-pe_export->Base as offset into the functionlist */ -FARPROC PE_FindExportedFunction( - WINE_MODREF *wm, - LPCSTR funcName, +FARPROC PE_FindExportedFunction( + WINE_MODREF *wm, + LPCSTR funcName, WIN_BOOL snoop ) { - u_short * ordinals; - u_long * function; - u_char ** name; - const char *ename = NULL; - int i, ordinal; - PE_MODREF *pem = &(wm->binfmt.pe); - IMAGE_EXPORT_DIRECTORY *exports = pem->pe_export; - unsigned int load_addr = wm->module; - u_long rva_start, rva_end, addr; - char * forward; - - if (HIWORD(funcName)) - TRACE("(%s)\n",funcName); - else - TRACE("(%d)\n",(int)funcName); - if (!exports) { - /* Not a fatal problem, some apps do - * GetProcAddress(0,"RegisterPenApp") which triggers this - * case. - */ - WARN("Module %08x(%s)/MODREF %p doesn't have a exports table.\n",wm->module,wm->modname,pem); - return NULL; - } - ordinals= (u_short*) RVA(exports->AddressOfNameOrdinals); - function= (u_long*) RVA(exports->AddressOfFunctions); - name = (u_char **) RVA(exports->AddressOfNames); - forward = NULL; - rva_start = PE_HEADER(wm->module)->OptionalHeader - .DataDirectory[IMAGE_DIRECTORY_ENTRY_EXPORT].VirtualAddress; - rva_end = rva_start + PE_HEADER(wm->module)->OptionalHeader - .DataDirectory[IMAGE_DIRECTORY_ENTRY_EXPORT].Size; - - if (HIWORD(funcName)) + u_short * ordinals; + u_long * function; + u_char ** name; + const char *ename = NULL; + int i, ordinal; + PE_MODREF *pem = &(wm->binfmt.pe); + IMAGE_EXPORT_DIRECTORY *exports = pem->pe_export; + unsigned int load_addr = wm->module; + u_long rva_start, rva_end, addr; + char * forward; + + if (HIWORD(funcName)) + TRACE("(%s)\n",funcName); + else + TRACE("(%d)\n",(int)funcName); + if (!exports) { + /* Not a fatal problem, some apps do + * GetProcAddress(0,"RegisterPenApp") which triggers this + * case. + */ + WARN("Module %08x(%s)/MODREF %p doesn't have a exports table.\n",wm->module,wm->modname,pem); + return NULL; + } + ordinals= (u_short*) RVA(exports->AddressOfNameOrdinals); + function= (u_long*) RVA(exports->AddressOfFunctions); + name = (u_char **) RVA(exports->AddressOfNames); + forward = NULL; + rva_start = PE_HEADER(wm->module)->OptionalHeader + .DataDirectory[IMAGE_DIRECTORY_ENTRY_EXPORT].VirtualAddress; + rva_end = rva_start + PE_HEADER(wm->module)->OptionalHeader + .DataDirectory[IMAGE_DIRECTORY_ENTRY_EXPORT].Size; + + if (HIWORD(funcName)) { - + int min = 0, max = exports->NumberOfNames - 1; while (min <= max) { int res, pos = (min + max) / 2; - ename = (const char*) RVA(name[pos]); - if (!(res = strcmp( ename, funcName ))) + ename = (const char*) RVA(name[pos]); + if (!(res = strcmp( ename, funcName ))) { ordinal = ordinals[pos]; goto found; @@ -191,23 +191,23 @@ FARPROC PE_FindExportedFunction( if (res > 0) max = pos - 1; else min = pos + 1; } - - for (i = 0; i < exports->NumberOfNames; i++) + + for (i = 0; i < exports->NumberOfNames; i++) { - ename = (const char*) RVA(name[i]); + ename = (const char*) RVA(name[i]); if (!strcmp( ename, funcName )) { - ERR( "%s.%s required a linear search\n", wm->modname, funcName ); + ERR( "%s.%s required a linear search\n", wm->modname, funcName ); ordinal = ordinals[i]; goto found; } } return NULL; - } - else + } + else { ordinal = LOWORD(funcName) - exports->Base; - if (snoop && name) + if (snoop && name) { for (i = 0; i < exports->NumberOfNames; i++) if (ordinals[i] == ordinal) @@ -216,12 +216,12 @@ FARPROC PE_FindExportedFunction( break; } } - } + } found: if (ordinal >= exports->NumberOfFunctions) { - TRACE(" ordinal %ld out of range!\n", ordinal + exports->Base ); + TRACE(" ordinal %ld out of range!\n", ordinal + exports->Base ); return NULL; } addr = function[ordinal]; @@ -233,50 +233,50 @@ FARPROC PE_FindExportedFunction( { if (!ename) ename = "@"; // proc = SNOOP_GetProcAddress(wm->module,ename,ordinal,proc); - TRACE("SNOOP_GetProcAddress n/a\n"); - + TRACE("SNOOP_GetProcAddress n/a\n"); + } return proc; } - else + else { WINE_MODREF *wm; char *forward = RVA(addr); - char module[256]; - char *end = strchr(forward, '.'); + char module[256]; + char *end = strchr(forward, '.'); - if (!end) return NULL; + if (!end) return NULL; if (end - forward >= sizeof(module)) return NULL; memcpy( module, forward, end - forward ); - module[end-forward] = 0; + module[end-forward] = 0; if (!(wm = MODULE_FindModule( module ))) { ERR("module not found for forward '%s'\n", forward ); return NULL; } - return MODULE_GetProcAddress( wm->module, end + 1, snoop ); - } + return MODULE_GetProcAddress( wm->module, end + 1, snoop ); + } } static DWORD fixup_imports( WINE_MODREF *wm ) { - IMAGE_IMPORT_DESCRIPTOR *pe_imp; - PE_MODREF *pem; - unsigned int load_addr = wm->module; - int i,characteristics_detection=1; - char *modname; - + IMAGE_IMPORT_DESCRIPTOR *pe_imp; + PE_MODREF *pem; + unsigned int load_addr = wm->module; + int i,characteristics_detection=1; + char *modname; + assert(wm->type==MODULE32_PE); pem = &(wm->binfmt.pe); if (pem->pe_export) - modname = (char*) RVA(pem->pe_export->Name); + modname = (char*) RVA(pem->pe_export->Name); else modname = ""; - + TRACE("Dumping imports list\n"); - + pe_imp = pem->pe_import; if (!pe_imp) return 0; @@ -285,75 +285,75 @@ static DWORD fixup_imports( WINE_MODREF *wm ) * switch the detection off for them. */ for (i = 0; pe_imp->Name ; pe_imp++) { - if (!i && !pe_imp->u.Characteristics) - characteristics_detection = 0; - if (characteristics_detection && !pe_imp->u.Characteristics) - break; - i++; + if (!i && !pe_imp->u.Characteristics) + characteristics_detection = 0; + if (characteristics_detection && !pe_imp->u.Characteristics) + break; + i++; } - if (!i) return 0; + if (!i) return 0; - + wm->nDeps = i; wm->deps = HeapAlloc( GetProcessHeap(), 0, i*sizeof(WINE_MODREF *) ); - /* load the imported modules. They are automatically + /* load the imported modules. They are automatically * added to the modref list of the process. */ for (i = 0, pe_imp = pem->pe_import; pe_imp->Name ; pe_imp++) { - WINE_MODREF *wmImp; - IMAGE_IMPORT_BY_NAME *pe_name; - PIMAGE_THUNK_DATA import_list,thunk_list; - char *name = (char *) RVA(pe_imp->Name); + WINE_MODREF *wmImp; + IMAGE_IMPORT_BY_NAME *pe_name; + PIMAGE_THUNK_DATA import_list,thunk_list; + char *name = (char *) RVA(pe_imp->Name); - if (characteristics_detection && !pe_imp->u.Characteristics) - break; + if (characteristics_detection && !pe_imp->u.Characteristics) + break; //#warning FIXME: here we should fill imports TRACE("Loading imports for %s.dll\n", name); - - if (pe_imp->u.OriginalFirstThunk != 0) { - TRACE("Microsoft style imports used\n"); - import_list =(PIMAGE_THUNK_DATA) RVA(pe_imp->u.OriginalFirstThunk); - thunk_list = (PIMAGE_THUNK_DATA) RVA(pe_imp->FirstThunk); - - while (import_list->u1.Ordinal) { - if (IMAGE_SNAP_BY_ORDINAL(import_list->u1.Ordinal)) { - int ordinal = IMAGE_ORDINAL(import_list->u1.Ordinal); - -// TRACE("--- Ordinal %s,%d\n", name, ordinal); - - thunk_list->u1.Function=LookupExternal(name, ordinal); - } else { - pe_name = (PIMAGE_IMPORT_BY_NAME)RVA(import_list->u1.AddressOfData); -// TRACE("--- %s %s.%d\n", pe_name->Name, name, pe_name->Hint); - thunk_list->u1.Function=LookupExternalByName(name, pe_name->Name); - } - import_list++; - thunk_list++; - } - } else { - TRACE("Borland style imports used\n"); - thunk_list = (PIMAGE_THUNK_DATA) RVA(pe_imp->FirstThunk); - while (thunk_list->u1.Ordinal) { - if (IMAGE_SNAP_BY_ORDINAL(thunk_list->u1.Ordinal)) { - - int ordinal = IMAGE_ORDINAL(thunk_list->u1.Ordinal); - - TRACE("--- Ordinal %s.%d\n",name,ordinal); - thunk_list->u1.Function=LookupExternal( - name, ordinal); - } else { - pe_name=(PIMAGE_IMPORT_BY_NAME) RVA(thunk_list->u1.AddressOfData); - TRACE("--- %s %s.%d\n", - pe_name->Name,name,pe_name->Hint); - thunk_list->u1.Function=LookupExternalByName( - name, pe_name->Name); - } - thunk_list++; - } - } + + if (pe_imp->u.OriginalFirstThunk != 0) { + TRACE("Microsoft style imports used\n"); + import_list =(PIMAGE_THUNK_DATA) RVA(pe_imp->u.OriginalFirstThunk); + thunk_list = (PIMAGE_THUNK_DATA) RVA(pe_imp->FirstThunk); + + while (import_list->u1.Ordinal) { + if (IMAGE_SNAP_BY_ORDINAL(import_list->u1.Ordinal)) { + int ordinal = IMAGE_ORDINAL(import_list->u1.Ordinal); + +// TRACE("--- Ordinal %s,%d\n", name, ordinal); + + thunk_list->u1.Function=LookupExternal(name, ordinal); + } else { + pe_name = (PIMAGE_IMPORT_BY_NAME)RVA(import_list->u1.AddressOfData); +// TRACE("--- %s %s.%d\n", pe_name->Name, name, pe_name->Hint); + thunk_list->u1.Function=LookupExternalByName(name, pe_name->Name); + } + import_list++; + thunk_list++; + } + } else { + TRACE("Borland style imports used\n"); + thunk_list = (PIMAGE_THUNK_DATA) RVA(pe_imp->FirstThunk); + while (thunk_list->u1.Ordinal) { + if (IMAGE_SNAP_BY_ORDINAL(thunk_list->u1.Ordinal)) { + + int ordinal = IMAGE_ORDINAL(thunk_list->u1.Ordinal); + + TRACE("--- Ordinal %s.%d\n",name,ordinal); + thunk_list->u1.Function=LookupExternal( + name, ordinal); + } else { + pe_name=(PIMAGE_IMPORT_BY_NAME) RVA(thunk_list->u1.AddressOfData); + TRACE("--- %s %s.%d\n", + pe_name->Name,name,pe_name->Hint); + thunk_list->u1.Function=LookupExternalByName( + name, pe_name->Name); + } + thunk_list++; + } + } } return 0; } @@ -367,8 +367,8 @@ static int calc_vma_size( HMODULE hModule ) TRACE(" Name VSz Vaddr SzRaw Fileadr *Reloc *Lineum #Reloc #Linum Char\n"); for (i = 0; i< PE_HEADER(hModule)->FileHeader.NumberOfSections; i++) { - TRACE("%8s: %4.4lx %8.8lx %8.8lx %8.8lx %8.8lx %8.8lx %4.4x %4.4x %8.8lx\n", - pe_seg->Name, + TRACE("%8s: %4.4lx %8.8lx %8.8lx %8.8lx %8.8lx %8.8lx %4.4x %4.4x %8.8lx\n", + pe_seg->Name, pe_seg->Misc.VirtualSize, pe_seg->VirtualAddress, pe_seg->SizeOfRawData, @@ -388,62 +388,62 @@ static int calc_vma_size( HMODULE hModule ) static void do_relocations( unsigned int load_addr, IMAGE_BASE_RELOCATION *r ) { int delta = load_addr - PE_HEADER(load_addr)->OptionalHeader.ImageBase; - int hdelta = (delta >> 16) & 0xFFFF; - int ldelta = delta & 0xFFFF; - - if(delta == 0) - - return; - while(r->VirtualAddress) - { - char *page = (char*) RVA(r->VirtualAddress); - int count = (r->SizeOfBlock - 8)/2; - int i; - TRACE_(fixup)("%x relocations for page %lx\n", - count, r->VirtualAddress); - - for(i=0;iTypeOffset[i] & 0xFFF; - int type = r->TypeOffset[i] >> 12; -// TRACE_(fixup)("patching %x type %x\n", offset, type); - switch(type) - { - case IMAGE_REL_BASED_ABSOLUTE: break; - case IMAGE_REL_BASED_HIGH: - *(short*)(page+offset) += hdelta; - break; - case IMAGE_REL_BASED_LOW: - *(short*)(page+offset) += ldelta; - break; - case IMAGE_REL_BASED_HIGHLOW: - *(int*)(page+offset) += delta; - - break; - case IMAGE_REL_BASED_HIGHADJ: - FIXME("Don't know what to do with IMAGE_REL_BASED_HIGHADJ\n"); - break; - case IMAGE_REL_BASED_MIPS_JMPADDR: - FIXME("Is this a MIPS machine ???\n"); - break; - default: - FIXME("Unknown fixup type\n"); - break; - } - } - r = (IMAGE_BASE_RELOCATION*)((char*)r + r->SizeOfBlock); - } + int hdelta = (delta >> 16) & 0xFFFF; + int ldelta = delta & 0xFFFF; + + if(delta == 0) + + return; + while(r->VirtualAddress) + { + char *page = (char*) RVA(r->VirtualAddress); + int count = (r->SizeOfBlock - 8)/2; + int i; + TRACE_(fixup)("%x relocations for page %lx\n", + count, r->VirtualAddress); + + for(i=0;iTypeOffset[i] & 0xFFF; + int type = r->TypeOffset[i] >> 12; +// TRACE_(fixup)("patching %x type %x\n", offset, type); + switch(type) + { + case IMAGE_REL_BASED_ABSOLUTE: break; + case IMAGE_REL_BASED_HIGH: + *(short*)(page+offset) += hdelta; + break; + case IMAGE_REL_BASED_LOW: + *(short*)(page+offset) += ldelta; + break; + case IMAGE_REL_BASED_HIGHLOW: + *(int*)(page+offset) += delta; + + break; + case IMAGE_REL_BASED_HIGHADJ: + FIXME("Don't know what to do with IMAGE_REL_BASED_HIGHADJ\n"); + break; + case IMAGE_REL_BASED_MIPS_JMPADDR: + FIXME("Is this a MIPS machine ???\n"); + break; + default: + FIXME("Unknown fixup type\n"); + break; + } + } + r = (IMAGE_BASE_RELOCATION*)((char*)r + r->SizeOfBlock); + } } - + - - + + /********************************************************************** - * PE_LoadImage + * PE_LoadImage * Load one PE format DLL/EXE into memory - * - * Unluckily we can't just mmap the sections where we want them, for + * + * Unluckily we can't just mmap the sections where we want them, for * (at least) Linux does only support offsets which are page-aligned. * * BUT we have to map the whole image anyway, for Win32 programs sometimes @@ -451,22 +451,22 @@ static void do_relocations( unsigned int load_addr, IMAGE_BASE_RELOCATION *r ) */ HMODULE PE_LoadImage( int handle, LPCSTR filename, WORD *version ) { - HMODULE hModule; - HANDLE mapping; + HMODULE hModule; + HANDLE mapping; IMAGE_NT_HEADERS *nt; IMAGE_SECTION_HEADER *pe_sec; IMAGE_DATA_DIRECTORY *dir; BY_HANDLE_FILE_INFORMATION bhfi; - int i, rawsize, lowest_va, vma_size, file_size = 0; + int i, rawsize, lowest_va, vma_size, file_size = 0; DWORD load_addr = 0, aoep, reloc = 0; // struct get_read_fd_request *req = get_req_buffer(); int unix_handle = handle; int page_size = getpagesize(); - -// if ( GetFileInformationByHandle( hFile, &bhfi ) ) -// file_size = bhfi.nFileSizeLow; + +// if ( GetFileInformationByHandle( hFile, &bhfi ) ) +// file_size = bhfi.nFileSizeLow; file_size=lseek(handle, 0, SEEK_END); lseek(handle, 0, SEEK_SET); @@ -494,14 +494,14 @@ HMODULE PE_LoadImage( int handle, LPCSTR filename, WORD *version ) nt = PE_HEADER( hModule ); - + if ( nt->Signature != IMAGE_NT_SIGNATURE ) { WARN("%s image doesn't have PE signature, but 0x%08lx\n", filename, nt->Signature ); goto error; } - + if ( nt->FileHeader.Machine != IMAGE_FILE_MACHINE_I386 ) { MESSAGE("Trying to load PE image for unsupported architecture ("); @@ -520,29 +520,29 @@ HMODULE PE_LoadImage( int handle, LPCSTR filename, WORD *version ) goto error; } - + pe_sec = PE_SECTIONS( hModule ); rawsize = 0; lowest_va = 0x10000; - for (i = 0; i < nt->FileHeader.NumberOfSections; i++) + for (i = 0; i < nt->FileHeader.NumberOfSections; i++) { if (lowest_va > pe_sec[i].VirtualAddress) lowest_va = pe_sec[i].VirtualAddress; - if (pe_sec[i].Characteristics & IMAGE_SCN_CNT_UNINITIALIZED_DATA) - continue; - if (pe_sec[i].PointerToRawData+pe_sec[i].SizeOfRawData > rawsize) - rawsize = pe_sec[i].PointerToRawData+pe_sec[i].SizeOfRawData; + if (pe_sec[i].Characteristics & IMAGE_SCN_CNT_UNINITIALIZED_DATA) + continue; + if (pe_sec[i].PointerToRawData+pe_sec[i].SizeOfRawData > rawsize) + rawsize = pe_sec[i].PointerToRawData+pe_sec[i].SizeOfRawData; } - + if ( file_size && file_size < rawsize ) { ERR("PE module is too small (header: %d, filesize: %d), " - "probably truncated download?\n", + "probably truncated download?\n", rawsize, file_size ); goto error; } - + aoep = nt->OptionalHeader.AddressOfEntryPoint; if (aoep && (aoep < lowest_va)) FIXME("VIRUS WARNING: '%s' has an invalid entrypoint (0x%08lx) " @@ -563,11 +563,11 @@ HMODULE PE_LoadImage( int handle, LPCSTR filename, WORD *version ) if ( nt->OptionalHeader.ImageBase & 0x80000000 ) { - HMODULE sharedMod = (HMODULE)nt->OptionalHeader.ImageBase; + HMODULE sharedMod = (HMODULE)nt->OptionalHeader.ImageBase; IMAGE_NT_HEADERS *sharedNt = (PIMAGE_NT_HEADERS) ( (LPBYTE)sharedMod + ((LPBYTE)nt - (LPBYTE)hModule) ); - /* Well, this check is not really comprehensive, + /* Well, this check is not really comprehensive, but should be good enough for now ... */ if ( !IsBadReadPtr( (LPBYTE)sharedMod, sizeof(IMAGE_DOS_HEADER) ) && memcmp( (LPBYTE)sharedMod, (LPBYTE)hModule, sizeof(IMAGE_DOS_HEADER) ) == 0 @@ -580,21 +580,21 @@ HMODULE PE_LoadImage( int handle, LPCSTR filename, WORD *version ) } - + load_addr = nt->OptionalHeader.ImageBase; vma_size = calc_vma_size( hModule ); load_addr = (DWORD)VirtualAlloc( (void*)load_addr, vma_size, MEM_RESERVE | MEM_COMMIT, PAGE_EXECUTE_READWRITE ); - if (load_addr == 0) + if (load_addr == 0) { - + FIXME("We need to perform base relocations for %s\n", filename); - dir = nt->OptionalHeader.DataDirectory+IMAGE_DIRECTORY_ENTRY_BASERELOC; + dir = nt->OptionalHeader.DataDirectory+IMAGE_DIRECTORY_ENTRY_BASERELOC; if (dir->Size) reloc = dir->VirtualAddress; - else + else { FIXME( "FATAL: Need to relocate %s, but no relocation records present (%s). Try to run that file directly !\n", filename, @@ -611,13 +611,13 @@ HMODULE PE_LoadImage( int handle, LPCSTR filename, WORD *version ) ERR( "Forced to relocate system DLL (base > 2GB). This is not good.\n" ); load_addr = (DWORD)VirtualAlloc( NULL, vma_size, - MEM_RESERVE | MEM_COMMIT, - PAGE_EXECUTE_READWRITE ); - if (!load_addr) { + MEM_RESERVE | MEM_COMMIT, + PAGE_EXECUTE_READWRITE ); + if (!load_addr) { FIXME_(win32)( "FATAL: Couldn't load module %s (out of memory, %d needed)!\n", filename, vma_size); goto error; - } + } } TRACE("Load addr is %lx (base %lx), range %x\n", @@ -626,13 +626,13 @@ HMODULE PE_LoadImage( int handle, LPCSTR filename, WORD *version ) filename, load_addr, vma_size ); #if 0 - + *(PIMAGE_DOS_HEADER)load_addr = *(PIMAGE_DOS_HEADER)hModule; *PE_HEADER( load_addr ) = *nt; memcpy( PE_SECTIONS(load_addr), PE_SECTIONS(hModule), sizeof(IMAGE_SECTION_HEADER) * nt->FileHeader.NumberOfSections ); - + memcpy( load_addr, hModule, lowest_fa ); #endif @@ -640,11 +640,11 @@ HMODULE PE_LoadImage( int handle, LPCSTR filename, WORD *version ) 0, 0, PROT_EXEC | PROT_WRITE | PROT_READ, MAP_PRIVATE | MAP_FIXED ) != (void*)load_addr) { - ERR_(win32)( "Critical Error: failed to map PE header to necessary address.\n"); + ERR_(win32)( "Critical Error: failed to map PE header to necessary address.\n"); goto error; } - + pe_sec = PE_SECTIONS( hModule ); for (i = 0; i < nt->FileHeader.NumberOfSections; i++, pe_sec++) { @@ -657,7 +657,7 @@ HMODULE PE_LoadImage( int handle, LPCSTR filename, WORD *version ) PROT_EXEC | PROT_WRITE | PROT_READ, MAP_PRIVATE | MAP_FIXED ) != (void*)RVA(pe_sec->VirtualAddress)) { - + ERR_(win32)( "Critical Error: failed to map PE section to necessary address.\n"); goto error; } @@ -674,21 +674,21 @@ HMODULE PE_LoadImage( int handle, LPCSTR filename, WORD *version ) } } - + if ( reloc ) do_relocations( load_addr, (IMAGE_BASE_RELOCATION *)RVA(reloc) ); - + *version = ( (nt->OptionalHeader.MajorSubsystemVersion & 0xff) << 8 ) | (nt->OptionalHeader.MinorSubsystemVersion & 0xff); - + UnmapViewOfFile( (LPVOID)hModule ); return (HMODULE)load_addr; error: if (unix_handle != -1) close( unix_handle ); - if (load_addr) + if (load_addr) VirtualFree( (LPVOID)load_addr, 0, MEM_RELEASE ); UnmapViewOfFile( (LPVOID)hModule ); return 0; @@ -707,20 +707,20 @@ error: * Note: This routine must always be called in the context of the * process that is to own the module to be created. */ -WINE_MODREF *PE_CreateModule( HMODULE hModule, +WINE_MODREF *PE_CreateModule( HMODULE hModule, LPCSTR filename, DWORD flags, WIN_BOOL builtin ) { - DWORD load_addr = (DWORD)hModule; + DWORD load_addr = (DWORD)hModule; IMAGE_NT_HEADERS *nt = PE_HEADER(hModule); IMAGE_DATA_DIRECTORY *dir; IMAGE_IMPORT_DESCRIPTOR *pe_import = NULL; IMAGE_EXPORT_DIRECTORY *pe_export = NULL; IMAGE_RESOURCE_DIRECTORY *pe_resource = NULL; WINE_MODREF *wm; - int result; + int result; - + dir = nt->OptionalHeader.DataDirectory+IMAGE_DIRECTORY_ENTRY_EXPORT; if (dir->Size) @@ -740,8 +740,8 @@ WINE_MODREF *PE_CreateModule( HMODULE hModule, dir = nt->OptionalHeader.DataDirectory+IMAGE_DIRECTORY_ENTRY_SECURITY; if (dir->Size) FIXME("Security directory ignored\n" ); - - + + dir = nt->OptionalHeader.DataDirectory+IMAGE_DIRECTORY_ENTRY_DEBUG; if (dir->Size) TRACE("Debug directory ignored\n" ); @@ -752,7 +752,7 @@ WINE_MODREF *PE_CreateModule( HMODULE hModule, dir = nt->OptionalHeader.DataDirectory+IMAGE_DIRECTORY_ENTRY_GLOBALPTR; if (dir->Size) FIXME("Global Pointer (MIPS) ignored\n" ); - + dir = nt->OptionalHeader.DataDirectory+IMAGE_DIRECTORY_ENTRY_LOAD_CONFIG; if (dir->Size) FIXME("Load Configuration directory ignored\n" ); @@ -766,17 +766,17 @@ WINE_MODREF *PE_CreateModule( HMODULE hModule, dir = nt->OptionalHeader.DataDirectory+IMAGE_DIRECTORY_ENTRY_DELAY_IMPORT; if (dir->Size) { - TRACE("Delayed import, stub calls LoadLibrary\n" ); - /* - * Nothing to do here. - */ + TRACE("Delayed import, stub calls LoadLibrary\n" ); + /* + * Nothing to do here. + */ #ifdef ImgDelayDescr - /* - * This code is useful to observe what the heck is going on. - */ - { - ImgDelayDescr *pe_delay = NULL; + /* + * This code is useful to observe what the heck is going on. + */ + { + ImgDelayDescr *pe_delay = NULL; pe_delay = (PImgDelayDescr)RVA(dir->VirtualAddress); TRACE_(delayhlp)("pe_delay->grAttrs = %08x\n", pe_delay->grAttrs); TRACE_(delayhlp)("pe_delay->szName = %s\n", pe_delay->szName); @@ -787,8 +787,8 @@ WINE_MODREF *PE_CreateModule( HMODULE hModule, TRACE_(delayhlp)("pe_delay->pUnloadIAT = %08x\n", pe_delay->pUnloadIAT); TRACE_(delayhlp)("pe_delay->dwTimeStamp = %08x\n", pe_delay->dwTimeStamp); } -#endif - } +#endif + } dir = nt->OptionalHeader.DataDirectory+IMAGE_DIRECTORY_ENTRY_COM_DESCRIPTOR; if (dir->Size) FIXME("Unknown directory 14 ignored\n" ); @@ -797,13 +797,13 @@ WINE_MODREF *PE_CreateModule( HMODULE hModule, if (dir->Size) FIXME("Unknown directory 15 ignored\n" ); - + - wm = (WINE_MODREF *)HeapAlloc( GetProcessHeap(), + wm = (WINE_MODREF *)HeapAlloc( GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*wm) ); wm->module = hModule; - if ( builtin ) + if ( builtin ) wm->flags |= WINE_MODREF_INTERNAL; if ( flags & DONT_RESOLVE_DLL_REFERENCES ) wm->flags |= WINE_MODREF_DONT_RESOLVE_REFS; @@ -829,8 +829,8 @@ WINE_MODREF *PE_CreateModule( HMODULE hModule, if ( pe_import && !( wm->flags & WINE_MODREF_LOAD_AS_DATAFILE ) - && !( wm->flags & WINE_MODREF_DONT_RESOLVE_REFS ) - && fixup_imports( wm ) ) + && !( wm->flags & WINE_MODREF_DONT_RESOLVE_REFS ) + && fixup_imports( wm ) ) { /* remove entry from modref chain */ return NULL; @@ -842,45 +842,45 @@ WINE_MODREF *PE_CreateModule( HMODULE hModule, } /****************************************************************************** - * The PE Library Loader frontend. + * The PE Library Loader frontend. * FIXME: handle the flags. */ WINE_MODREF *PE_LoadLibraryExA (LPCSTR name, DWORD flags) { - HMODULE hModule32; - WINE_MODREF *wm; - char filename[256]; - int hFile; - WORD version = 0; - - - strncpy(filename, name, sizeof(filename)); - hFile=open(filename, O_RDONLY); - if(hFile==-1) - return NULL; - - - hModule32 = PE_LoadImage( hFile, filename, &version ); - if (!hModule32) - { - SetLastError( ERROR_OUTOFMEMORY ); - return NULL; - } - - if ( !(wm = PE_CreateModule( hModule32, filename, flags, FALSE )) ) - { - ERR( "can't load %s\n", filename ); - SetLastError( ERROR_OUTOFMEMORY ); - return NULL; - } - close(hFile); - //printf("^^^^^^^^^^^^^^^^Alloc VM1 %p\n", wm); - return wm; + HMODULE hModule32; + WINE_MODREF *wm; + char filename[256]; + int hFile; + WORD version = 0; + + + strncpy(filename, name, sizeof(filename)); + hFile=open(filename, O_RDONLY); + if(hFile==-1) + return NULL; + + + hModule32 = PE_LoadImage( hFile, filename, &version ); + if (!hModule32) + { + SetLastError( ERROR_OUTOFMEMORY ); + return NULL; + } + + if ( !(wm = PE_CreateModule( hModule32, filename, flags, FALSE )) ) + { + ERR( "can't load %s\n", filename ); + SetLastError( ERROR_OUTOFMEMORY ); + return NULL; + } + close(hFile); + //printf("^^^^^^^^^^^^^^^^Alloc VM1 %p\n", wm); + return wm; } /***************************************************************************** - * PE_UnloadLibrary + * PE_UnloadLibrary * * Unload the library unmapping the image and freeing the modref structure. */ @@ -889,9 +889,9 @@ void PE_UnloadLibrary(WINE_MODREF *wm) TRACE(" unloading %s\n", wm->filename); if (wm->filename) - free(wm->filename); + free(wm->filename); if (wm->short_filename) - free(wm->short_filename); + free(wm->short_filename); HeapFree( GetProcessHeap(), 0, wm->deps ); VirtualFree( (LPVOID)wm->module, 0, MEM_RELEASE ); HeapFree( GetProcessHeap(), 0, wm ); @@ -937,37 +937,37 @@ WIN_BOOL PE_InitDLL( WINE_MODREF *wm, DWORD type, LPVOID lpReserved ) WIN_BOOL retv = TRUE; assert( wm->type == MODULE32_PE ); - + if ((PE_HEADER(wm->module)->FileHeader.Characteristics & IMAGE_FILE_DLL) && (PE_HEADER(wm->module)->OptionalHeader.AddressOfEntryPoint) ) { - DLLENTRYPROC entry ; - entry = (void*)PE_FindExportedFunction(wm, "DllMain", 0); - if(entry==NULL) - entry = (void*)RVA_PTR( wm->module,OptionalHeader.AddressOfEntryPoint ); - - TRACE_(relay)("CallTo32(entryproc=%p,module=%08x,type=%ld,res=%p)\n", + DLLENTRYPROC entry ; + entry = (void*)PE_FindExportedFunction(wm, "DllMain", 0); + if(entry==NULL) + entry = (void*)RVA_PTR( wm->module,OptionalHeader.AddressOfEntryPoint ); + + TRACE_(relay)("CallTo32(entryproc=%p,module=%08x,type=%ld,res=%p)\n", entry, wm->module, type, lpReserved ); - - - TRACE("Entering DllMain("); - switch(type) - { - case DLL_PROCESS_DETACH: - TRACE("DLL_PROCESS_DETACH) "); - break; - case DLL_PROCESS_ATTACH: - TRACE("DLL_PROCESS_ATTACH) "); - break; - case DLL_THREAD_DETACH: - TRACE("DLL_THREAD_DETACH) "); - break; - case DLL_THREAD_ATTACH: - TRACE("DLL_THREAD_ATTACH) "); - break; - } - TRACE("for %s\n", wm->filename); - extend_stack_for_dll_alloca(); + + + TRACE("Entering DllMain("); + switch(type) + { + case DLL_PROCESS_DETACH: + TRACE("DLL_PROCESS_DETACH) "); + break; + case DLL_PROCESS_ATTACH: + TRACE("DLL_PROCESS_ATTACH) "); + break; + case DLL_THREAD_DETACH: + TRACE("DLL_THREAD_DETACH) "); + break; + case DLL_THREAD_ATTACH: + TRACE("DLL_THREAD_ATTACH) "); + break; + } + TRACE("for %s\n", wm->filename); + extend_stack_for_dll_alloca(); retv = entry( wm->module, type, lpReserved ); } @@ -976,12 +976,12 @@ WIN_BOOL PE_InitDLL( WINE_MODREF *wm, DWORD type, LPVOID lpReserved ) static LPVOID _fixup_address(PIMAGE_OPTIONAL_HEADER opt,int delta,LPVOID addr) { - if ( ((DWORD)addr>opt->ImageBase) && - ((DWORD)addrImageBase+opt->SizeOfImage) - ) - - return (LPVOID)(((DWORD)addr)+delta); - else - - return addr; + if ( ((DWORD)addr>opt->ImageBase) && + ((DWORD)addrImageBase+opt->SizeOfImage) + ) + + return (LPVOID)(((DWORD)addr)+delta); + else + + return addr; } diff --git a/libs/loader/pe_resource.c b/libs/loader/pe_resource.c index ff091b0295..5e54e5e711 100644 --- a/libs/loader/pe_resource.c +++ b/libs/loader/pe_resource.c @@ -45,86 +45,86 @@ #include "ext.h" /********************************************************************** - * HMODULE32toPE_MODREF + * HMODULE32toPE_MODREF * * small helper function to get a PE_MODREF from a passed HMODULE32 */ static PE_MODREF* HMODULE32toPE_MODREF(HMODULE hmod) { - WINE_MODREF *wm; + WINE_MODREF *wm; - wm = MODULE32_LookupHMODULE( hmod ); - if (!wm || wm->type!=MODULE32_PE) - return NULL; - return &(wm->binfmt.pe); + wm = MODULE32_LookupHMODULE( hmod ); + if (!wm || wm->type!=MODULE32_PE) + return NULL; + return &(wm->binfmt.pe); } /********************************************************************** - * GetResDirEntryW + * GetResDirEntryW * - * Helper function - goes down one level of PE resource tree + * Helper function - goes down one level of PE resource tree * */ PIMAGE_RESOURCE_DIRECTORY GetResDirEntryW(PIMAGE_RESOURCE_DIRECTORY resdirptr, - LPCWSTR name,DWORD root, - WIN_BOOL allowdefault) + LPCWSTR name,DWORD root, + WIN_BOOL allowdefault) { int entrynum; PIMAGE_RESOURCE_DIRECTORY_ENTRY entryTable; int namelen; if (HIWORD(name)) { - if (name[0]=='#') { - char buf[10]; - - lstrcpynWtoA(buf,name+1,10); - return GetResDirEntryW(resdirptr,(LPCWSTR)atoi(buf),root,allowdefault); - } - entryTable = (PIMAGE_RESOURCE_DIRECTORY_ENTRY) ( - (BYTE *) resdirptr + + if (name[0]=='#') { + char buf[10]; + + lstrcpynWtoA(buf,name+1,10); + return GetResDirEntryW(resdirptr,(LPCWSTR)atoi(buf),root,allowdefault); + } + entryTable = (PIMAGE_RESOURCE_DIRECTORY_ENTRY) ( + (BYTE *) resdirptr + sizeof(IMAGE_RESOURCE_DIRECTORY)); - namelen = lstrlenW(name); - for (entrynum = 0; entrynum < resdirptr->NumberOfNamedEntries; entrynum++) - { - PIMAGE_RESOURCE_DIR_STRING_U str = - (PIMAGE_RESOURCE_DIR_STRING_U) (root + - entryTable[entrynum].u1.s.NameOffset); - if(namelen != str->Length) - continue; - if(wcsnicmp(name,str->NameString,str->Length)==0) - return (PIMAGE_RESOURCE_DIRECTORY) ( - root + - entryTable[entrynum].u2.s.OffsetToDirectory); - } - return NULL; + namelen = lstrlenW(name); + for (entrynum = 0; entrynum < resdirptr->NumberOfNamedEntries; entrynum++) + { + PIMAGE_RESOURCE_DIR_STRING_U str = + (PIMAGE_RESOURCE_DIR_STRING_U) (root + + entryTable[entrynum].u1.s.NameOffset); + if(namelen != str->Length) + continue; + if(wcsnicmp(name,str->NameString,str->Length)==0) + return (PIMAGE_RESOURCE_DIRECTORY) ( + root + + entryTable[entrynum].u2.s.OffsetToDirectory); + } + return NULL; } else { - entryTable = (PIMAGE_RESOURCE_DIRECTORY_ENTRY) ( - (BYTE *) resdirptr + + entryTable = (PIMAGE_RESOURCE_DIRECTORY_ENTRY) ( + (BYTE *) resdirptr + sizeof(IMAGE_RESOURCE_DIRECTORY) + - resdirptr->NumberOfNamedEntries * sizeof(IMAGE_RESOURCE_DIRECTORY_ENTRY)); - for (entrynum = 0; entrynum < resdirptr->NumberOfIdEntries; entrynum++) - if ((DWORD)entryTable[entrynum].u1.Name == (DWORD)name) - return (PIMAGE_RESOURCE_DIRECTORY) ( - root + - entryTable[entrynum].u2.s.OffsetToDirectory); - /* just use first entry if no default can be found */ - if (allowdefault && !name && resdirptr->NumberOfIdEntries) - return (PIMAGE_RESOURCE_DIRECTORY) ( - root + - entryTable[0].u2.s.OffsetToDirectory); - return NULL; + resdirptr->NumberOfNamedEntries * sizeof(IMAGE_RESOURCE_DIRECTORY_ENTRY)); + for (entrynum = 0; entrynum < resdirptr->NumberOfIdEntries; entrynum++) + if ((DWORD)entryTable[entrynum].u1.Name == (DWORD)name) + return (PIMAGE_RESOURCE_DIRECTORY) ( + root + + entryTable[entrynum].u2.s.OffsetToDirectory); + /* just use first entry if no default can be found */ + if (allowdefault && !name && resdirptr->NumberOfIdEntries) + return (PIMAGE_RESOURCE_DIRECTORY) ( + root + + entryTable[0].u2.s.OffsetToDirectory); + return NULL; } } /********************************************************************** - * GetResDirEntryA + * GetResDirEntryA */ PIMAGE_RESOURCE_DIRECTORY GetResDirEntryA( PIMAGE_RESOURCE_DIRECTORY resdirptr, - LPCSTR name, DWORD root, - WIN_BOOL allowdefault ) + LPCSTR name, DWORD root, + WIN_BOOL allowdefault ) { PIMAGE_RESOURCE_DIRECTORY retv; - LPWSTR nameW = HIWORD(name)? HEAP_strdupAtoW( GetProcessHeap(), 0, name ) + LPWSTR nameW = HIWORD(name)? HEAP_strdupAtoW( GetProcessHeap(), 0, name ) : (LPWSTR)name; retv = GetResDirEntryW( resdirptr, nameW, root, allowdefault ); @@ -135,27 +135,27 @@ PIMAGE_RESOURCE_DIRECTORY GetResDirEntryA( PIMAGE_RESOURCE_DIRECTORY resdirptr, } /********************************************************************** - * PE_FindResourceEx32W + * PE_FindResourceEx32W */ HANDLE PE_FindResourceExW( - WINE_MODREF *wm,LPCWSTR name,LPCWSTR type,WORD lang + WINE_MODREF *wm,LPCWSTR name,LPCWSTR type,WORD lang ) { PIMAGE_RESOURCE_DIRECTORY resdirptr; DWORD root; HANDLE result; - PE_MODREF *pem = &(wm->binfmt.pe); + PE_MODREF *pem = &(wm->binfmt.pe); if (!pem || !pem->pe_resource) - return 0; + return 0; resdirptr = pem->pe_resource; root = (DWORD) resdirptr; if ((resdirptr = GetResDirEntryW(resdirptr, type, root, FALSE)) == NULL) - return 0; + return 0; if ((resdirptr = GetResDirEntryW(resdirptr, name, root, FALSE)) == NULL) - return 0; + return 0; result = (HANDLE)GetResDirEntryW(resdirptr, (LPCWSTR)(UINT)lang, root, FALSE); - /* Try LANG_NEUTRAL, too */ + /* Try LANG_NEUTRAL, too */ if(!result) return (HANDLE)GetResDirEntryW(resdirptr, (LPCWSTR)0, root, TRUE); return result; @@ -163,250 +163,250 @@ HANDLE PE_FindResourceExW( /********************************************************************** - * PE_LoadResource32 + * PE_LoadResource32 */ HANDLE PE_LoadResource( WINE_MODREF *wm, HANDLE hRsrc ) { if (!hRsrc || !wm || wm->type!=MODULE32_PE) - return 0; + return 0; return (HANDLE) (wm->module + ((PIMAGE_RESOURCE_DATA_ENTRY)hRsrc)->OffsetToData); } /********************************************************************** - * PE_SizeofResource32 + * PE_SizeofResource32 */ DWORD PE_SizeofResource( HINSTANCE hModule, HANDLE hRsrc ) { /* we don't need hModule */ if (!hRsrc) - return 0; + return 0; return ((PIMAGE_RESOURCE_DATA_ENTRY)hRsrc)->Size; } /********************************************************************** - * PE_EnumResourceTypes32A + * PE_EnumResourceTypes32A */ WIN_BOOL PE_EnumResourceTypesA(HMODULE hmod,ENUMRESTYPEPROCA lpfun,LONG lparam) { - PE_MODREF *pem = HMODULE32toPE_MODREF(hmod); - int i; - PIMAGE_RESOURCE_DIRECTORY resdir; - PIMAGE_RESOURCE_DIRECTORY_ENTRY et; - WIN_BOOL ret; - HANDLE heap = GetProcessHeap(); + PE_MODREF *pem = HMODULE32toPE_MODREF(hmod); + int i; + PIMAGE_RESOURCE_DIRECTORY resdir; + PIMAGE_RESOURCE_DIRECTORY_ENTRY et; + WIN_BOOL ret; + HANDLE heap = GetProcessHeap(); if (!pem || !pem->pe_resource) - return FALSE; + return FALSE; resdir = (PIMAGE_RESOURCE_DIRECTORY)pem->pe_resource; et =(PIMAGE_RESOURCE_DIRECTORY_ENTRY)((LPBYTE)resdir+sizeof(IMAGE_RESOURCE_DIRECTORY)); ret = FALSE; for (i=0;iNumberOfNamedEntries+resdir->NumberOfIdEntries;i++) { - LPSTR name; - - if (et[i].u1.s.NameIsString) - name = HEAP_strdupWtoA(heap,0,(LPWSTR)((LPBYTE)pem->pe_resource+et[i].u1.s.NameOffset)); - else - name = (LPSTR)(int)et[i].u1.Id; - ret = lpfun(hmod,name,lparam); - if (HIWORD(name)) - HeapFree(heap,0,name); - if (!ret) - break; + LPSTR name; + + if (et[i].u1.s.NameIsString) + name = HEAP_strdupWtoA(heap,0,(LPWSTR)((LPBYTE)pem->pe_resource+et[i].u1.s.NameOffset)); + else + name = (LPSTR)(int)et[i].u1.Id; + ret = lpfun(hmod,name,lparam); + if (HIWORD(name)) + HeapFree(heap,0,name); + if (!ret) + break; } return ret; } /********************************************************************** - * PE_EnumResourceTypes32W + * PE_EnumResourceTypes32W */ WIN_BOOL PE_EnumResourceTypesW(HMODULE hmod,ENUMRESTYPEPROCW lpfun,LONG lparam) { - PE_MODREF *pem = HMODULE32toPE_MODREF(hmod); - int i; - PIMAGE_RESOURCE_DIRECTORY resdir; - PIMAGE_RESOURCE_DIRECTORY_ENTRY et; - WIN_BOOL ret; + PE_MODREF *pem = HMODULE32toPE_MODREF(hmod); + int i; + PIMAGE_RESOURCE_DIRECTORY resdir; + PIMAGE_RESOURCE_DIRECTORY_ENTRY et; + WIN_BOOL ret; if (!pem || !pem->pe_resource) - return FALSE; + return FALSE; resdir = (PIMAGE_RESOURCE_DIRECTORY)pem->pe_resource; et =(PIMAGE_RESOURCE_DIRECTORY_ENTRY)((LPBYTE)resdir+sizeof(IMAGE_RESOURCE_DIRECTORY)); ret = FALSE; for (i=0;iNumberOfNamedEntries+resdir->NumberOfIdEntries;i++) { - LPWSTR type; - if (et[i].u1.s.NameIsString) - type = (LPWSTR)((LPBYTE)pem->pe_resource+et[i].u1.s.NameOffset); - else - type = (LPWSTR)(int)et[i].u1.Id; - - ret = lpfun(hmod,type,lparam); - if (!ret) - break; + LPWSTR type; + if (et[i].u1.s.NameIsString) + type = (LPWSTR)((LPBYTE)pem->pe_resource+et[i].u1.s.NameOffset); + else + type = (LPWSTR)(int)et[i].u1.Id; + + ret = lpfun(hmod,type,lparam); + if (!ret) + break; } return ret; } /********************************************************************** - * PE_EnumResourceNames32A + * PE_EnumResourceNames32A */ WIN_BOOL PE_EnumResourceNamesA( - HMODULE hmod,LPCSTR type,ENUMRESNAMEPROCA lpfun,LONG lparam + HMODULE hmod,LPCSTR type,ENUMRESNAMEPROCA lpfun,LONG lparam ) { - PE_MODREF *pem = HMODULE32toPE_MODREF(hmod); - int i; - PIMAGE_RESOURCE_DIRECTORY resdir; - PIMAGE_RESOURCE_DIRECTORY_ENTRY et; - WIN_BOOL ret; - HANDLE heap = GetProcessHeap(); - LPWSTR typeW; + PE_MODREF *pem = HMODULE32toPE_MODREF(hmod); + int i; + PIMAGE_RESOURCE_DIRECTORY resdir; + PIMAGE_RESOURCE_DIRECTORY_ENTRY et; + WIN_BOOL ret; + HANDLE heap = GetProcessHeap(); + LPWSTR typeW; if (!pem || !pem->pe_resource) - return FALSE; + return FALSE; resdir = (PIMAGE_RESOURCE_DIRECTORY)pem->pe_resource; if (HIWORD(type)) - typeW = HEAP_strdupAtoW(heap,0,type); + typeW = HEAP_strdupAtoW(heap,0,type); else - typeW = (LPWSTR)type; + typeW = (LPWSTR)type; resdir = GetResDirEntryW(resdir,typeW,(DWORD)pem->pe_resource,FALSE); if (HIWORD(typeW)) - HeapFree(heap,0,typeW); + HeapFree(heap,0,typeW); if (!resdir) - return FALSE; + return FALSE; et =(PIMAGE_RESOURCE_DIRECTORY_ENTRY)((LPBYTE)resdir+sizeof(IMAGE_RESOURCE_DIRECTORY)); ret = FALSE; for (i=0;iNumberOfNamedEntries+resdir->NumberOfIdEntries;i++) { - LPSTR name; - - if (et[i].u1.s.NameIsString) - name = HEAP_strdupWtoA(heap,0,(LPWSTR)((LPBYTE)pem->pe_resource+et[i].u1.s.NameOffset)); - else - name = (LPSTR)(int)et[i].u1.Id; - ret = lpfun(hmod,type,name,lparam); - if (HIWORD(name)) HeapFree(heap,0,name); - if (!ret) - break; + LPSTR name; + + if (et[i].u1.s.NameIsString) + name = HEAP_strdupWtoA(heap,0,(LPWSTR)((LPBYTE)pem->pe_resource+et[i].u1.s.NameOffset)); + else + name = (LPSTR)(int)et[i].u1.Id; + ret = lpfun(hmod,type,name,lparam); + if (HIWORD(name)) HeapFree(heap,0,name); + if (!ret) + break; } return ret; } /********************************************************************** - * PE_EnumResourceNames32W + * PE_EnumResourceNames32W */ WIN_BOOL PE_EnumResourceNamesW( - HMODULE hmod,LPCWSTR type,ENUMRESNAMEPROCW lpfun,LONG lparam + HMODULE hmod,LPCWSTR type,ENUMRESNAMEPROCW lpfun,LONG lparam ) { - PE_MODREF *pem = HMODULE32toPE_MODREF(hmod); - int i; - PIMAGE_RESOURCE_DIRECTORY resdir; - PIMAGE_RESOURCE_DIRECTORY_ENTRY et; - WIN_BOOL ret; + PE_MODREF *pem = HMODULE32toPE_MODREF(hmod); + int i; + PIMAGE_RESOURCE_DIRECTORY resdir; + PIMAGE_RESOURCE_DIRECTORY_ENTRY et; + WIN_BOOL ret; if (!pem || !pem->pe_resource) - return FALSE; + return FALSE; resdir = (PIMAGE_RESOURCE_DIRECTORY)pem->pe_resource; resdir = GetResDirEntryW(resdir,type,(DWORD)pem->pe_resource,FALSE); if (!resdir) - return FALSE; + return FALSE; et =(PIMAGE_RESOURCE_DIRECTORY_ENTRY)((LPBYTE)resdir+sizeof(IMAGE_RESOURCE_DIRECTORY)); ret = FALSE; for (i=0;iNumberOfNamedEntries+resdir->NumberOfIdEntries;i++) { - LPWSTR name; - if (et[i].u1.s.NameIsString) - name = (LPWSTR)((LPBYTE)pem->pe_resource+et[i].u1.s.NameOffset); - else - name = (LPWSTR)(int)et[i].u1.Id; - ret = lpfun(hmod,type,name,lparam); - if (!ret) - break; + LPWSTR name; + if (et[i].u1.s.NameIsString) + name = (LPWSTR)((LPBYTE)pem->pe_resource+et[i].u1.s.NameOffset); + else + name = (LPWSTR)(int)et[i].u1.Id; + ret = lpfun(hmod,type,name,lparam); + if (!ret) + break; } return ret; } /********************************************************************** - * PE_EnumResourceNames32A + * PE_EnumResourceNames32A */ WIN_BOOL PE_EnumResourceLanguagesA( - HMODULE hmod,LPCSTR name,LPCSTR type,ENUMRESLANGPROCA lpfun, - LONG lparam + HMODULE hmod,LPCSTR name,LPCSTR type,ENUMRESLANGPROCA lpfun, + LONG lparam ) { - PE_MODREF *pem = HMODULE32toPE_MODREF(hmod); - int i; - PIMAGE_RESOURCE_DIRECTORY resdir; - PIMAGE_RESOURCE_DIRECTORY_ENTRY et; - WIN_BOOL ret; - HANDLE heap = GetProcessHeap(); - LPWSTR nameW,typeW; + PE_MODREF *pem = HMODULE32toPE_MODREF(hmod); + int i; + PIMAGE_RESOURCE_DIRECTORY resdir; + PIMAGE_RESOURCE_DIRECTORY_ENTRY et; + WIN_BOOL ret; + HANDLE heap = GetProcessHeap(); + LPWSTR nameW,typeW; if (!pem || !pem->pe_resource) - return FALSE; + return FALSE; resdir = (PIMAGE_RESOURCE_DIRECTORY)pem->pe_resource; if (HIWORD(name)) - nameW = HEAP_strdupAtoW(heap,0,name); + nameW = HEAP_strdupAtoW(heap,0,name); else - nameW = (LPWSTR)name; + nameW = (LPWSTR)name; resdir = GetResDirEntryW(resdir,nameW,(DWORD)pem->pe_resource,FALSE); if (HIWORD(nameW)) - HeapFree(heap,0,nameW); + HeapFree(heap,0,nameW); if (!resdir) - return FALSE; + return FALSE; if (HIWORD(type)) - typeW = HEAP_strdupAtoW(heap,0,type); + typeW = HEAP_strdupAtoW(heap,0,type); else - typeW = (LPWSTR)type; + typeW = (LPWSTR)type; resdir = GetResDirEntryW(resdir,typeW,(DWORD)pem->pe_resource,FALSE); if (HIWORD(typeW)) - HeapFree(heap,0,typeW); + HeapFree(heap,0,typeW); if (!resdir) - return FALSE; + return FALSE; et =(PIMAGE_RESOURCE_DIRECTORY_ENTRY)((LPBYTE)resdir+sizeof(IMAGE_RESOURCE_DIRECTORY)); ret = FALSE; for (i=0;iNumberOfNamedEntries+resdir->NumberOfIdEntries;i++) { - /* languages are just ids... I hopem */ - ret = lpfun(hmod,name,type,et[i].u1.Id,lparam); - if (!ret) - break; + /* languages are just ids... I hopem */ + ret = lpfun(hmod,name,type,et[i].u1.Id,lparam); + if (!ret) + break; } return ret; } /********************************************************************** - * PE_EnumResourceLanguages32W + * PE_EnumResourceLanguages32W */ WIN_BOOL PE_EnumResourceLanguagesW( - HMODULE hmod,LPCWSTR name,LPCWSTR type,ENUMRESLANGPROCW lpfun, - LONG lparam + HMODULE hmod,LPCWSTR name,LPCWSTR type,ENUMRESLANGPROCW lpfun, + LONG lparam ) { - PE_MODREF *pem = HMODULE32toPE_MODREF(hmod); - int i; - PIMAGE_RESOURCE_DIRECTORY resdir; - PIMAGE_RESOURCE_DIRECTORY_ENTRY et; - WIN_BOOL ret; + PE_MODREF *pem = HMODULE32toPE_MODREF(hmod); + int i; + PIMAGE_RESOURCE_DIRECTORY resdir; + PIMAGE_RESOURCE_DIRECTORY_ENTRY et; + WIN_BOOL ret; if (!pem || !pem->pe_resource) - return FALSE; + return FALSE; resdir = (PIMAGE_RESOURCE_DIRECTORY)pem->pe_resource; resdir = GetResDirEntryW(resdir,name,(DWORD)pem->pe_resource,FALSE); if (!resdir) - return FALSE; + return FALSE; resdir = GetResDirEntryW(resdir,type,(DWORD)pem->pe_resource,FALSE); if (!resdir) - return FALSE; + return FALSE; et =(PIMAGE_RESOURCE_DIRECTORY_ENTRY)((LPBYTE)resdir+sizeof(IMAGE_RESOURCE_DIRECTORY)); ret = FALSE; for (i=0;iNumberOfNamedEntries+resdir->NumberOfIdEntries;i++) { - ret = lpfun(hmod,name,type,et[i].u1.Id,lparam); - if (!ret) - break; + ret = lpfun(hmod,name,type,et[i].u1.Id,lparam); + if (!ret) + break; } return ret; } diff --git a/libs/loader/qtx/qtxsdk/components.h b/libs/loader/qtx/qtxsdk/components.h index a3530cab16..4609124304 100644 --- a/libs/loader/qtx/qtxsdk/components.h +++ b/libs/loader/qtx/qtxsdk/components.h @@ -336,31 +336,31 @@ typedef GrafPtr CGrafPtr; /* codec capabilities flags */ enum { - codecCanScale = 1L << 0, // 1 - codecCanMask = 1L << 1, // 2 - codecCanMatte = 1L << 2, // 4 - codecCanTransform = 1L << 3, // 8 - codecCanTransferMode = 1L << 4, // 10 - codecCanCopyPrev = 1L << 5, // 20 - codecCanSpool = 1L << 6, // 40 - codecCanClipVertical = 1L << 7, // 80 - codecCanClipRectangular = 1L << 8, // 100 - codecCanRemapColor = 1L << 9, // 200 - codecCanFastDither = 1L << 10, // 400 - codecCanSrcExtract = 1L << 11, // 800 - codecCanCopyPrevComp = 1L << 12, // 1000 - codecCanAsync = 1L << 13, // 2000 - codecCanMakeMask = 1L << 14, // 4000 - codecCanShift = 1L << 15, // 8000 - codecCanAsyncWhen = 1L << 16, // 10000 - codecCanShieldCursor = 1L << 17, // 20000 - codecCanManagePrevBuffer = 1L << 18, // 40000 + codecCanScale = 1L << 0, // 1 + codecCanMask = 1L << 1, // 2 + codecCanMatte = 1L << 2, // 4 + codecCanTransform = 1L << 3, // 8 + codecCanTransferMode = 1L << 4, // 10 + codecCanCopyPrev = 1L << 5, // 20 + codecCanSpool = 1L << 6, // 40 + codecCanClipVertical = 1L << 7, // 80 + codecCanClipRectangular = 1L << 8, // 100 + codecCanRemapColor = 1L << 9, // 200 + codecCanFastDither = 1L << 10, // 400 + codecCanSrcExtract = 1L << 11, // 800 + codecCanCopyPrevComp = 1L << 12, // 1000 + codecCanAsync = 1L << 13, // 2000 + codecCanMakeMask = 1L << 14, // 4000 + codecCanShift = 1L << 15, // 8000 + codecCanAsyncWhen = 1L << 16, // 10000 + codecCanShieldCursor = 1L << 17, // 20000 + codecCanManagePrevBuffer = 1L << 18, // 40000 codecHasVolatileBuffer = 1L << 19, // 80000 /* codec requires redraw after window movement */ - codecWantsRegionMask = 1L << 20, // 100000 + codecWantsRegionMask = 1L << 20, // 100000 codecImageBufferIsOnScreen = 1L << 21, // 200000 /* old def of codec using overlay surface, = ( codecIsDirectToScreenOnly | codecUsesOverlaySurface | codecImageBufferIsOverlaySurface | codecSrcMustBeImageBuffer ) */ codecWantsDestinationPixels = 1L << 22, // 400000 codecWantsSpecialScaling = 1L << 23, // 800000 - codecHandlesInputs = 1L << 24, // 1000000 + codecHandlesInputs = 1L << 24, // 1000000 codecCanDoIndirectSurface = 1L << 25, /* codec can handle indirect surface (GDI) */ codecIsSequenceSensitive = 1L << 26, codecRequiresOffscreen = 1L << 27, @@ -382,24 +382,24 @@ enum { /* codec condition flags */ // FFD = 13 = 8+4+1 enum { - codecConditionFirstBand = 1L << 0, // 1 - codecConditionLastBand = 1L << 1, // 2 - codecConditionFirstFrame = 1L << 2, // 4 - codecConditionNewDepth = 1L << 3, // 8 - codecConditionNewTransform = 1L << 4, // 10 - codecConditionNewSrcRect = 1L << 5, // 20 - codecConditionNewMask = 1L << 6, // 40 - codecConditionNewMatte = 1L << 7, // 80 - codecConditionNewTransferMode = 1L << 8, // 100 - codecConditionNewClut = 1L << 9, // 200 - codecConditionNewAccuracy = 1L << 10, // 400 - codecConditionNewDestination = 1L << 11, // 800 - codecConditionFirstScreen = 1L << 12, // 1000 - codecConditionDoCursor = 1L << 13, // 2000 - codecConditionCatchUpDiff = 1L << 14, // 4000 - codecConditionMaskMayBeChanged = 1L << 15, // 8000 - codecConditionToBuffer = 1L << 16, // 10000 - codecConditionCodecChangedMask = 1L << 31 // 20000 + codecConditionFirstBand = 1L << 0, // 1 + codecConditionLastBand = 1L << 1, // 2 + codecConditionFirstFrame = 1L << 2, // 4 + codecConditionNewDepth = 1L << 3, // 8 + codecConditionNewTransform = 1L << 4, // 10 + codecConditionNewSrcRect = 1L << 5, // 20 + codecConditionNewMask = 1L << 6, // 40 + codecConditionNewMatte = 1L << 7, // 80 + codecConditionNewTransferMode = 1L << 8, // 100 + codecConditionNewClut = 1L << 9, // 200 + codecConditionNewAccuracy = 1L << 10, // 400 + codecConditionNewDestination = 1L << 11, // 800 + codecConditionFirstScreen = 1L << 12, // 1000 + codecConditionDoCursor = 1L << 13, // 2000 + codecConditionCatchUpDiff = 1L << 14, // 4000 + codecConditionMaskMayBeChanged = 1L << 15, // 8000 + codecConditionToBuffer = 1L << 16, // 10000 + codecConditionCodecChangedMask = 1L << 31 // 20000 }; @@ -627,8 +627,8 @@ static inline void dump_ImageDescription(void* xxx){ int i; for(i=0;iidSize;i++){ - printf(" %02X",((unsigned char*)id)[i]); - if((i%16)==15) printf("\n"); + printf(" %02X",((unsigned char*)id)[i]); + if((i%16)==15) printf("\n"); } printf("\n"); @@ -637,16 +637,16 @@ static inline void dump_ImageDescription(void* xxx){ printf("idSize=0x%X fourcc=0x%08X\n",id->idSize,id->cType); printf("ver=%d rev=%d vendor=0x%08X\n",id->version,id->revisionLevel,id->vendor); printf("tempQ=%d spatQ=%d dim: %d x %d dpi: %d x %d depth: %d\n", - id->temporalQuality,id->spatialQuality, - id->width, id->height, - id->hRes, id->vRes, - id->depth); + id->temporalQuality,id->spatialQuality, + id->width, id->height, + id->hRes, id->vRes, + id->depth); printf("dataSize=%d frameCount=%d clutID=%d\n",id->dataSize, id->frameCount, id->clutID); printf("name='%.*s'\n",((char*)(&id->name))[0],((char*)(&id->name))+1); x=((char*)(&id->clutID))+2; if(id->idSize>sizeof(ImageDescription)){ - printf("%02X %02X %02X %02X | %02X %02X %02X %02X | %02X %02X %02X %02X | %02X %02X %02X %02X\n", - x[0],x[1],x[2],x[3],x[4],x[5],x[6],x[7],x[8],x[9],x[10],x[11],x[12],x[13],x[14],x[15]); + printf("%02X %02X %02X %02X | %02X %02X %02X %02X | %02X %02X %02X %02X | %02X %02X %02X %02X\n", + x[0],x[1],x[2],x[3],x[4],x[5],x[6],x[7],x[8],x[9],x[10],x[11],x[12],x[13],x[14],x[15]); } printf("=========================================================\n"); } @@ -658,9 +658,9 @@ static inline void dump_Rect(char* title,Rect *r){ static inline void dump_MatrixRecord(char* title, MatrixRecord *m){ printf("%s: [%d %d %d][%d %d %d][%d %d %d]\n",title, - m->matrix[0][0],m->matrix[0][1],m->matrix[0][2], - m->matrix[1][0],m->matrix[1][1],m->matrix[1][2], - m->matrix[2][0],m->matrix[2][1],m->matrix[2][2]); + m->matrix[0][0],m->matrix[0][1],m->matrix[0][2], + m->matrix[1][0],m->matrix[1][1],m->matrix[1][2], + m->matrix[2][0],m->matrix[2][1],m->matrix[2][2]); } static inline void dump_PixMap(void* xxx){ @@ -669,11 +669,11 @@ static inline void dump_PixMap(void* xxx){ printf("base=%p stride=%d\n",p->baseAddr, p->rowBytes); dump_Rect("bounds",&p->bounds); printf("pmVersion=0x%X packType=0x%X\n packSize=0x%X\n", - p->pmVersion,p->packType, p->packSize); + p->pmVersion,p->packType, p->packSize); printf("hRes=0x%X vRes=0x%X pixelType=0x%X pixelSize=0x%X\n", - p->hRes,p->vRes,p->pixelType,p->pixelSize); + p->hRes,p->vRes,p->pixelType,p->pixelSize); printf("cmpCount=0x%X cmpSize=0x%X pixelFormat=0x%X\n", - p->cmpCount,p->cmpSize,p->pixelFormat); + p->cmpCount,p->cmpSize,p->pixelFormat); printf("pmTable=%p pmExt=%p\n",p->pmTable,p->pmExt); printf("=========================================================\n"); } @@ -684,8 +684,8 @@ static inline void dump_CodecCapabilities(void* xxx){ printf("=============== CodecCapabilities at %p =================\n",xxx); printf("flags=0x%X flags2=0x%X\n",cc->flags,cc->flags2); printf("wantedPixelSize=%d extendWidth=%d extendHeight=%d band=%d+%d\n", - cc->wantedPixelSize,cc->extendWidth,cc->extendHeight, - cc->bandMin,cc->bandInc); + cc->wantedPixelSize,cc->extendWidth,cc->extendHeight, + cc->bandMin,cc->bandInc); printf("pad=0x%X time=0x%X\n",cc->pad,cc->time); printf("=========================================================\n"); } @@ -699,36 +699,36 @@ static inline void dump_CodecDecompressParams(void* xxx){ printf("sequenceID=%d\n",cd->sequenceID); idh=cd->imageDescription; if(idh && idh[0]) dump_ImageDescription(idh[0]); - + for(i=0;idata,cd->bufferSize); printf("frameno=%d lines: %d .. %d condflags=0x%X callerflags=0x%X\n", - cd->frameNumber, cd->startLine, cd->stopLine, cd->conditionFlags,cd->callerFlags); + cd->frameNumber, cd->startLine, cd->stopLine, cd->conditionFlags,cd->callerFlags); // printf("maskBits=%p mattePixMap=%p\n", -// cd->maskBits,cd->mattePixMap); +// cd->maskBits,cd->mattePixMap); dump_PixMap(&cd->dstPixMap); // if(cd->mattePixMap) dump_PixMap(cd->mattePixMap); if(cd->matrix) dump_MatrixRecord("matrix",cd->matrix); if(cd->capabilities) dump_CodecCapabilities(cd->capabilities); printf("accuracy=%d transferMode=%d matrixFlags=0x%X matrixType=%d\n", - (int)cd->accuracy, (int)cd->transferMode, (int)cd->matrixFlags, (int)cd->matrixType); + (int)cd->accuracy, (int)cd->transferMode, (int)cd->matrixFlags, (int)cd->matrixType); printf("srcrect: %d;%d - %d;%d\n",cd->srcRect.top,cd->srcRect.left,cd->srcRect.bottom,cd->srcRect.right); printf("dstrect: %d;%d - %d;%d\n",cd->dstRect.top,cd->dstRect.left,cd->dstRect.bottom,cd->dstRect.right); printf("wantedDestinationPixelTypes=%p\n",cd->wantedDestinationPixelTypes); if(cd->wantedDestinationPixelTypes){ - unsigned int* p=cd->wantedDestinationPixelTypes; - while(p[0]){ - printf(" 0x%08X %.4s\n",p[0],&p[0]); - ++p; - } + unsigned int* p=cd->wantedDestinationPixelTypes; + while(p[0]){ + printf(" 0x%08X %.4s\n",p[0],&p[0]); + ++p; + } } printf("screenFloodMethod=%d value=%d preferredOffscreenPixelSize=%d\n", - cd->screenFloodMethod, cd->screenFloodValue, cd->preferredOffscreenPixelSize); + cd->screenFloodMethod, cd->screenFloodValue, cd->preferredOffscreenPixelSize); printf("callbacks: progress=%p compl=%p data=%p ftime=%p srcdata=%p sync=%p\n", cd->progressProcRecord, cd->completionProcRecord, cd->dataProcRecord, cd->frameTime, cd->sourceData, cd->syncFrameTime); diff --git a/libs/loader/registry.c b/libs/loader/registry.c index 8620cb1c89..2505bf2a8f 100644 --- a/libs/loader/registry.c +++ b/libs/loader/registry.c @@ -54,18 +54,18 @@ static char* localregpathname = NULL; typedef struct reg_handle_s { - int handle; - char* name; - struct reg_handle_s* next; - struct reg_handle_s* prev; + int handle; + char* name; + struct reg_handle_s* next; + struct reg_handle_s* prev; } reg_handle_t; struct reg_value { - int type; - char* name; - int len; - char* value; + int type; + char* name; + int len; + char* value; }; static struct reg_value* regs = NULL; @@ -83,9 +83,9 @@ static void init_registry(void); static void create_registry(void){ if(regs) { - printf("Logic error: create_registry() called with existing registry\n"); - save_registry(); - return; + printf("Logic error: create_registry() called with existing registry\n"); + save_registry(); + return; } regs=(struct reg_value*)malloc(3*sizeof(struct reg_value)); regs[0].type=regs[1].type=DIR; @@ -102,75 +102,75 @@ static void create_registry(void){ static void open_registry(void) { - int fd; - int i; - unsigned int len; - if(regs) - { - printf("Multiple open_registry(>\n"); - return; - } - fd = open(localregpathname, O_RDONLY); - if (fd == -1) - { - printf("Creating new registry\n"); - create_registry(); - return; - } - read(fd, ®_size, 4); - regs=(struct reg_value*)malloc(reg_size*sizeof(struct reg_value)); - head = 0; - for(i=0; i\n"); + return; + } + fd = open(localregpathname, O_RDONLY); + if (fd == -1) + { + printf("Creating new registry\n"); + create_registry(); + return; + } + read(fd, ®_size, 4); + regs=(struct reg_value*)malloc(reg_size*sizeof(struct reg_value)); + head = 0; + for(i=0; iname) - free(t->name); - t=t->prev; + free(t->name); + t=t->prev; free(f); } head = 0; if (regs) { int i; - for(i=0; iprev) - { - if(!strcmp(t->name, name)) - { - return t; - } - } - return 0; + reg_handle_t* t; + for(t=head; t; t=t->prev) + { + if(!strcmp(t->name, name)) + { + return t; + } + } + return 0; } static struct reg_value* find_value_by_name(const char* name) { - int i; - for(i=0; iprev) - { - if(t->handle==handle) - { - return t; - } - } - return 0; + reg_handle_t* t; + for(t=head; t; t=t->prev) + { + if(t->handle==handle) + { + return t; + } + } + return 0; } static int generate_handle() { - static unsigned int zz=249; - zz++; - while((zz==HKEY_LOCAL_MACHINE) || (zz==HKEY_CURRENT_USER)) - zz++; - return zz; + static unsigned int zz=249; + zz++; + while((zz==HKEY_LOCAL_MACHINE) || (zz==HKEY_CURRENT_USER)) + zz++; + return zz; } static reg_handle_t* insert_handle(long handle, const char* name) { - reg_handle_t* t; - t=(reg_handle_t*)malloc(sizeof(reg_handle_t)); - if(head==0) - { - t->prev=0; - } - else - { - head->next=t; - t->prev=head; - } - t->next=0; - t->name=(char*)malloc(strlen(name)+1); - strcpy(t->name, name); - t->handle=handle; - head=t; - return t; + reg_handle_t* t; + t=(reg_handle_t*)malloc(sizeof(reg_handle_t)); + if(head==0) + { + t->prev=0; + } + else + { + head->next=t; + t->prev=head; + } + t->next=0; + t->name=(char*)malloc(strlen(name)+1); + strcpy(t->name, name); + t->handle=handle; + head=t; + return t; } static char* build_keyname(long key, const char* subkey) { - char* full_name; - reg_handle_t* t; - if((t=find_handle(key))==0) - { - TRACE("Invalid key\n"); - return NULL; - } - if(subkey==NULL) - subkey=""; - full_name=(char*)malloc(strlen(t->name)+strlen(subkey)+10); - strcpy(full_name, t->name); - strcat(full_name, "\\"); - strcat(full_name, subkey); - return full_name; + char* full_name; + reg_handle_t* t; + if((t=find_handle(key))==0) + { + TRACE("Invalid key\n"); + return NULL; + } + if(subkey==NULL) + subkey=""; + full_name=(char*)malloc(strlen(t->name)+strlen(subkey)+10); + strcpy(full_name, t->name); + strcat(full_name, "\\"); + strcat(full_name, subkey); + return full_name; } static struct reg_value* insert_reg_value(int handle, const char* name, int type, const void* value, int len) { - reg_handle_t* t; - struct reg_value* v; - char* fullname; - if((fullname=build_keyname(handle, name))==NULL) - { - TRACE("Invalid handle\n"); - return NULL; - } - - if((v=find_value_by_name(fullname))==0) - //creating new value in registry - { - if(regs==0) - create_registry(); - regs=(struct reg_value*)realloc(regs, sizeof(struct reg_value)*(reg_size+1)); - //regs=(struct reg_value*)my_realloc(regs, sizeof(struct reg_value)*(reg_size+1)); - v=regs+reg_size; - reg_size++; - } - else - //replacing old one - { - free(v->value); - free(v->name); - } - TRACE("RegInsert '%s' %p v:%d len:%d\n", name, value, *(int*)value, len); - v->type=type; - v->len=len; - v->value=(char*)malloc(len); - memcpy(v->value, value, len); - v->name=(char*)malloc(strlen(fullname)+1); - strcpy(v->name, fullname); + reg_handle_t* t; + struct reg_value* v; + char* fullname; + if((fullname=build_keyname(handle, name))==NULL) + { + TRACE("Invalid handle\n"); + return NULL; + } + + if((v=find_value_by_name(fullname))==0) + //creating new value in registry + { + if(regs==0) + create_registry(); + regs=(struct reg_value*)realloc(regs, sizeof(struct reg_value)*(reg_size+1)); + //regs=(struct reg_value*)my_realloc(regs, sizeof(struct reg_value)*(reg_size+1)); + v=regs+reg_size; + reg_size++; + } + else + //replacing old one + { + free(v->value); + free(v->name); + } + TRACE("RegInsert '%s' %p v:%d len:%d\n", name, value, *(int*)value, len); + v->type=type; + v->len=len; + v->value=(char*)malloc(len); + memcpy(v->value, value, len); + v->name=(char*)malloc(strlen(fullname)+1); + strcpy(v->name, fullname); free(fullname); - save_registry(); - return v; + save_registry(); + return v; } static void init_registry(void) { - TRACE("Initializing registry\n"); - // can't be free-ed - it's static and probably thread - // unsafe structure which is stored in glibc + TRACE("Initializing registry\n"); + // can't be free-ed - it's static and probably thread + // unsafe structure which is stored in glibc #ifdef MPLAYER - regpathname = get_path("registry"); - localregpathname = regpathname; + regpathname = get_path("registry"); + localregpathname = regpathname; #else - // regpathname is an external pointer + // regpathname is an external pointer // - // registry.c is holding its own internal pointer - // localregpathname - which is being allocate/deallocated + // registry.c is holding its own internal pointer + // localregpathname - which is being allocate/deallocated - if (localregpathname == 0) - { + if (localregpathname == 0) + { const char* pthn = regpathname; - if (!regpathname) - { - // avifile - for now reading data from user's home - struct passwd* pwent; - pwent = getpwuid(geteuid()); + if (!regpathname) + { + // avifile - for now reading data from user's home + struct passwd* pwent; + pwent = getpwuid(geteuid()); pthn = pwent->pw_dir; - } + } - localregpathname = (char*)malloc(strlen(pthn)+20); - strcpy(localregpathname, pthn); - strcat(localregpathname, "/.registry"); - } + localregpathname = (char*)malloc(strlen(pthn)+20); + strcpy(localregpathname, pthn); + strcat(localregpathname, "/.registry"); + } #endif - open_registry(); - insert_handle(HKEY_LOCAL_MACHINE, "HKLM"); - insert_handle(HKEY_CURRENT_USER, "HKCU"); + open_registry(); + insert_handle(HKEY_LOCAL_MACHINE, "HKLM"); + insert_handle(HKEY_CURRENT_USER, "HKCU"); } static reg_handle_t* find_handle_2(long key, const char* subkey) { - char* full_name; - reg_handle_t* t; - if((t=find_handle(key))==0) - { - TRACE("Invalid key\n"); - return (reg_handle_t*)-1; - } - if(subkey==NULL) - return t; - full_name=(char*)malloc(strlen(t->name)+strlen(subkey)+10); - strcpy(full_name, t->name); - strcat(full_name, "\\"); - strcat(full_name, subkey); - t=find_handle_by_name(full_name); - free(full_name); - return t; + char* full_name; + reg_handle_t* t; + if((t=find_handle(key))==0) + { + TRACE("Invalid key\n"); + return (reg_handle_t*)-1; + } + if(subkey==NULL) + return t; + full_name=(char*)malloc(strlen(t->name)+strlen(subkey)+10); + strcpy(full_name, t->name); + strcat(full_name, "\\"); + strcat(full_name, subkey); + t=find_handle_by_name(full_name); + free(full_name); + return t; } long __stdcall RegOpenKeyExA(long key, const char* subkey, long reserved, long access, int* newkey) @@ -387,13 +387,13 @@ long __stdcall RegOpenKeyExA(long key, const char* subkey, long reserved, long a if(!regs) init_registry() ; -/* t=find_handle_2(key, subkey); +/* t=find_handle_2(key, subkey); - if(t==0) - return -1; + if(t==0) + return -1; - if(t==(reg_handle_t*)-1) - return -1; + if(t==(reg_handle_t*)-1) + return -1; */ full_name=build_keyname(key, subkey); if(!full_name) @@ -411,20 +411,20 @@ long __stdcall RegCloseKey(long key) { reg_handle_t *handle; if(key==(long)HKEY_LOCAL_MACHINE) - return 0; + return 0; if(key==(long)HKEY_CURRENT_USER) - return 0; + return 0; handle=find_handle(key); if(handle==0) - return 0; + return 0; if(handle->prev) - handle->prev->next=handle->next; + handle->prev->next=handle->next; if(handle->next) - handle->next->prev=handle->prev; + handle->next->prev=handle->prev; if(handle->name) - free(handle->name); + free(handle->name); if(handle==head) - head=head->prev; + head=head->prev; free(handle); return 1; } @@ -435,55 +435,55 @@ long __stdcall RegQueryValueExA(long key, const char* value, int* reserved, int* char* c; TRACE("Querying value %s\n", value); if(!regs) - init_registry(); + init_registry(); c=build_keyname(key, value); if (!c) - return 1; + return 1; t=find_value_by_name(c); free(c); if (t==0) - return 2; + return 2; if (type) - *type=t->type; + *type=t->type; if (data) { - memcpy(data, t->value, (t->len<*count)?t->len:*count); - TRACE("returning %d bytes: %d\n", t->len, *(int*)data); + memcpy(data, t->value, (t->len<*count)?t->len:*count); + TRACE("returning %d bytes: %d\n", t->len, *(int*)data); } if(*countlen) { - *count=t->len; - return ERROR_MORE_DATA; + *count=t->len; + return ERROR_MORE_DATA; } else { - *count=t->len; + *count=t->len; } return 0; } long __stdcall RegCreateKeyExA(long key, const char* name, long reserved, - void* classs, long options, long security, - void* sec_attr, int* newkey, int* status) + void* classs, long options, long security, + void* sec_attr, int* newkey, int* status) { reg_handle_t* t; char* fullname; struct reg_value* v; // TRACE("Creating/Opening key %s\n", name); if(!regs) - init_registry(); + init_registry(); fullname=build_keyname(key, name); if (!fullname) - return 1; + return 1; TRACE("Creating/Opening key %s\n", fullname); v=find_value_by_name(fullname); if(v==0) { - int qw=45708; - v=insert_reg_value(key, name, DIR, &qw, 4); - if (status) *status=REG_CREATED_NEW_KEY; - // return 0; + int qw=45708; + v=insert_reg_value(key, name, DIR, &qw, 4); + if (status) *status=REG_CREATED_NEW_KEY; + // return 0; } t=insert_handle(generate_handle(), fullname); @@ -506,7 +506,7 @@ LONG RegEnumValue( */ long __stdcall RegEnumValueA(HKEY hkey, DWORD index, LPSTR value, LPDWORD val_count, - LPDWORD reserved, LPDWORD type, LPBYTE data, LPDWORD count) + LPDWORD reserved, LPDWORD type, LPBYTE data, LPDWORD count) { // currenly just made to support MSZH & ZLIB //printf("Reg Enum 0x%x %d %s %d data: %p %d %d >%s<\n", hkey, index, @@ -514,17 +514,17 @@ long __stdcall RegEnumValueA(HKEY hkey, DWORD index, LPSTR value, LPDWORD val_co reg_handle_t* t = find_handle(hkey); if (t && index < 10) { - struct reg_value* v=find_value_by_name(t->name); - if (v) - { - memcpy(data, v->value, (v->len < *count) ? v->len : *count); - if(*count < v->len) - *count = v->len; - if (type) - *type = v->type; - //printf("Found handle %s\n", v->name); - return 0; - } + struct reg_value* v=find_value_by_name(t->name); + if (v) + { + memcpy(data, v->value, (v->len < *count) ? v->len : *count); + if(*count < v->len) + *count = v->len; + if (type) + *type = v->type; + //printf("Found handle %s\n", v->name); + return 0; + } } return ERROR_NO_MORE_ITEMS; } @@ -535,19 +535,19 @@ long __stdcall RegSetValueExA(long key, const char* name, long v1, long v2, cons char* c; TRACE("Request to set value %s %d\n", name, *(const int*)data); if(!regs) - init_registry(); + init_registry(); c=build_keyname(key, name); if(c==NULL) - return 1; + return 1; insert_reg_value(key, name, v2, data, size); free(c); return 0; } long __stdcall RegEnumKeyExA(HKEY hKey, DWORD dwIndex, LPSTR lpName, LPDWORD lpcbName, - LPDWORD lpReserved, LPSTR lpClass, LPDWORD lpcbClass, - LPFILETIME lpftLastWriteTime) + LPDWORD lpReserved, LPSTR lpClass, LPDWORD lpcbClass, + LPFILETIME lpftLastWriteTime) { return ERROR_NO_MORE_ITEMS; } diff --git a/libs/loader/registry.h b/libs/loader/registry.h index 711cf3088a..fd275763cb 100644 --- a/libs/loader/registry.h +++ b/libs/loader/registry.h @@ -21,23 +21,23 @@ extern "C" { void free_registry(void); long __stdcall RegOpenKeyExA(long key, const char* subkey, long reserved, - long access, int* newkey); + long access, int* newkey); long __stdcall RegCloseKey(long key); long __stdcall RegQueryValueExA(long key, const char* value, int* reserved, - int* type, int* data, int* count); + int* type, int* data, int* count); long __stdcall RegCreateKeyExA(long key, const char* name, long reserved, - void* classs, long options, long security, - void* sec_attr, int* newkey, int* status); + void* classs, long options, long security, + void* sec_attr, int* newkey, int* status); long __stdcall RegSetValueExA(long key, const char* name, long v1, long v2, - const void* data, long size); + const void* data, long size); #ifdef __WINE_WINERROR_H long __stdcall RegEnumKeyExA(HKEY hKey, DWORD dwIndex, LPSTR lpName, LPDWORD lpcbName, - LPDWORD lpReserved, LPSTR lpClass, LPDWORD lpcbClass, - LPFILETIME lpftLastWriteTime); + LPDWORD lpReserved, LPSTR lpClass, LPDWORD lpcbClass, + LPFILETIME lpftLastWriteTime); long __stdcall RegEnumValueA(HKEY hkey, DWORD index, LPSTR value, LPDWORD val_count, - LPDWORD reserved, LPDWORD type, LPBYTE data, LPDWORD count); + LPDWORD reserved, LPDWORD type, LPBYTE data, LPDWORD count); #endif #ifdef __cplusplus }; diff --git a/libs/loader/resource.c b/libs/loader/resource.c index dd05a3b407..3560dd0730 100644 --- a/libs/loader/resource.c +++ b/libs/loader/resource.c @@ -46,7 +46,7 @@ #include "wine/winerror.h" #include "loader.h" -#define CP_ACP 0 +#define CP_ACP 0 WORD WINE_LanguageId=0x409;//english @@ -66,32 +66,32 @@ typedef struct _HRSRC_MAP } HRSRC_MAP; static HRSRC RES_FindResource2( HMODULE hModule, LPCSTR type, - LPCSTR name, WORD lang, int unicode) + LPCSTR name, WORD lang, int unicode) { HRSRC hRsrc = 0; - LPWSTR typeStr, nameStr; + LPWSTR typeStr, nameStr; WINE_MODREF *wm = MODULE32_LookupHMODULE( hModule ); if(!wm) - return 0; + return 0; /* 32-bit PE module */ - + if ( HIWORD( type ) && (!unicode)) - typeStr = HEAP_strdupAtoW( GetProcessHeap(), 0, type ); + typeStr = HEAP_strdupAtoW( GetProcessHeap(), 0, type ); else - typeStr = (LPWSTR)type; + typeStr = (LPWSTR)type; if ( HIWORD( name ) && (!unicode)) - nameStr = HEAP_strdupAtoW( GetProcessHeap(), 0, name ); + nameStr = HEAP_strdupAtoW( GetProcessHeap(), 0, name ); else - nameStr = (LPWSTR)name; - + nameStr = (LPWSTR)name; + hRsrc = PE_FindResourceExW( wm, nameStr, typeStr, lang ); - - if ( HIWORD( type ) && (!unicode)) - HeapFree( GetProcessHeap(), 0, typeStr ); - if ( HIWORD( name ) && (!unicode)) - HeapFree( GetProcessHeap(), 0, nameStr ); + + if ( HIWORD( type ) && (!unicode)) + HeapFree( GetProcessHeap(), 0, typeStr ); + if ( HIWORD( name ) && (!unicode)) + HeapFree( GetProcessHeap(), 0, nameStr ); return hRsrc; } @@ -106,13 +106,13 @@ static HRSRC RES_FindResource( HMODULE hModule, LPCSTR type, HRSRC hRsrc; // __TRY // { - hRsrc = RES_FindResource2(hModule, type, name, lang, unicode); + hRsrc = RES_FindResource2(hModule, type, name, lang, unicode); // } // __EXCEPT(page_fault) // { -// WARN("page fault\n"); -// SetLastError(ERROR_INVALID_PARAMETER); -// return 0; +// WARN("page fault\n"); +// SetLastError(ERROR_INVALID_PARAMETER); +// return 0; // } // __ENDTRY return hRsrc; @@ -128,7 +128,7 @@ static DWORD RES_SizeofResource( HMODULE hModule, HRSRC hRsrc) // HMODULE16 hMod16 = MapHModuleLS( hModule ); // NE_MODULE *pModule = NE_GetPtr( hMod16 ); -// WINE_MODREF *wm = pModule && pModule->module32? +// WINE_MODREF *wm = pModule && pModule->module32? // MODULE32_LookupHMODULE( pModule->module32 ) : NULL; WINE_MODREF *wm = MODULE32_LookupHMODULE( hModule ); @@ -139,9 +139,9 @@ static DWORD RES_SizeofResource( HMODULE hModule, HRSRC hRsrc) // hRsrc32 = HIWORD(hRsrc)? hRsrc : MapHRsrc16To32( pModule, hRsrc ); if(!HIWORD(hRsrc)) { - printf("16-bit hRsrcs not supported\n"); - return 0; - } + printf("16-bit hRsrcs not supported\n"); + return 0; + } size = PE_SizeofResource( hModule, hRsrc ); return size; } @@ -182,8 +182,8 @@ static HGLOBAL RES_LoadResource( HMODULE hModule, HRSRC hRsrc) // hRsrc32 = HIWORD(hRsrc)? hRsrc : MapHRsrc16To32( pModule, hRsrc ); if(!HIWORD(hRsrc)) { - printf("16-bit hRsrcs not supported\n"); - return 0; + printf("16-bit hRsrcs not supported\n"); + return 0; } hMem = PE_LoadResource( wm, hRsrc ); @@ -214,40 +214,40 @@ static WIN_BOOL RES_FreeResource( HGLOBAL handle ) } /********************************************************************** - * FindResourceA (KERNEL32.128) + * FindResourceA (KERNEL32.128) */ HANDLE WINAPI FindResourceA( HMODULE hModule, LPCSTR name, LPCSTR type ) { - return RES_FindResource( hModule, type, name, + return RES_FindResource( hModule, type, name, WINE_LanguageId, 0); } HANDLE WINAPI FindResourceW( HMODULE hModule, LPCWSTR name, LPCWSTR type ) { - return RES_FindResource( hModule, (LPCSTR)type, (LPCSTR)name, + return RES_FindResource( hModule, (LPCSTR)type, (LPCSTR)name, WINE_LanguageId, 1); } /********************************************************************** - * FindResourceExA (KERNEL32.129) + * FindResourceExA (KERNEL32.129) */ -HANDLE WINAPI FindResourceExA( HMODULE hModule, +HANDLE WINAPI FindResourceExA( HMODULE hModule, LPCSTR type, LPCSTR name, WORD lang ) { - return RES_FindResource( hModule, type, name, + return RES_FindResource( hModule, type, name, lang, 0 ); } -HANDLE WINAPI FindResourceExW( HMODULE hModule, +HANDLE WINAPI FindResourceExW( HMODULE hModule, LPCWSTR type, LPCWSTR name, WORD lang ) { - return RES_FindResource( hModule, (LPCSTR)type, (LPCSTR)name, + return RES_FindResource( hModule, (LPCSTR)type, (LPCSTR)name, lang, 1 ); } /********************************************************************** - * LockResource (KERNEL32.384) + * LockResource (KERNEL32.384) */ LPVOID WINAPI LockResource( HGLOBAL handle ) { @@ -256,7 +256,7 @@ LPVOID WINAPI LockResource( HGLOBAL handle ) /********************************************************************** - * FreeResource (KERNEL32.145) + * FreeResource (KERNEL32.145) */ WIN_BOOL WINAPI FreeResource( HGLOBAL handle ) { @@ -265,14 +265,14 @@ WIN_BOOL WINAPI FreeResource( HGLOBAL handle ) /********************************************************************** - * AccessResource (KERNEL32.64) + * AccessResource (KERNEL32.64) */ INT WINAPI AccessResource( HMODULE hModule, HRSRC hRsrc ) { return RES_AccessResource( hModule, hRsrc ); } /********************************************************************** - * SizeofResource (KERNEL32.522) + * SizeofResource (KERNEL32.522) */ DWORD WINAPI SizeofResource( HINSTANCE hModule, HRSRC hRsrc ) { @@ -284,7 +284,7 @@ INT WINAPI LoadStringW( HINSTANCE instance, UINT resource_id, LPWSTR buffer, INT buflen ); /********************************************************************** - * LoadStringA (USER32.375) + * LoadStringA (USER32.375) */ INT WINAPI LoadStringA( HINSTANCE instance, UINT resource_id, LPSTR buffer, INT buflen ) @@ -296,11 +296,11 @@ INT WINAPI LoadStringA( HINSTANCE instance, UINT resource_id, LPSTR abuf = NULL; if ( buffer != NULL && buflen > 0 ) - *buffer = 0; + *buffer = 0; wbuflen = LoadStringW(instance,resource_id,NULL,0); if ( !wbuflen ) - return 0; + return 0; wbuflen ++; retval = 0; @@ -308,25 +308,25 @@ INT WINAPI LoadStringA( HINSTANCE instance, UINT resource_id, wbuflen = LoadStringW(instance,resource_id,wbuf,wbuflen); if ( wbuflen > 0 ) { - abuflen = WideCharToMultiByte(CP_ACP,0,wbuf,wbuflen,NULL,0,NULL,NULL); - if ( abuflen > 0 ) - { - if ( buffer == NULL || buflen == 0 ) - retval = abuflen; - else - { - abuf = (LPSTR) HeapAlloc( GetProcessHeap(), 0, abuflen * sizeof(CHAR) ); - abuflen = WideCharToMultiByte(CP_ACP,0,wbuf,wbuflen,abuf,abuflen,NULL,NULL); - if ( abuflen > 0 ) - { - abuflen = min(abuflen,buflen - 1); - memcpy( buffer, abuf, abuflen ); - buffer[abuflen] = 0; - retval = abuflen; - } - HeapFree( GetProcessHeap(), 0, abuf ); - } - } + abuflen = WideCharToMultiByte(CP_ACP,0,wbuf,wbuflen,NULL,0,NULL,NULL); + if ( abuflen > 0 ) + { + if ( buffer == NULL || buflen == 0 ) + retval = abuflen; + else + { + abuf = (LPSTR) HeapAlloc( GetProcessHeap(), 0, abuflen * sizeof(CHAR) ); + abuflen = WideCharToMultiByte(CP_ACP,0,wbuf,wbuflen,abuf,abuflen,NULL,NULL); + if ( abuflen > 0 ) + { + abuflen = min(abuflen,buflen - 1); + memcpy( buffer, abuf, abuflen ); + buffer[abuflen] = 0; + retval = abuflen; + } + HeapFree( GetProcessHeap(), 0, abuf ); + } + } } HeapFree( GetProcessHeap(), 0, wbuf ); @@ -334,7 +334,7 @@ INT WINAPI LoadStringA( HINSTANCE instance, UINT resource_id, } /********************************************************************** - * LoadStringW (USER32.376) + * LoadStringW (USER32.376) */ INT WINAPI LoadStringW( HINSTANCE instance, UINT resource_id, LPWSTR buffer, INT buflen ) @@ -346,37 +346,37 @@ INT WINAPI LoadStringW( HINSTANCE instance, UINT resource_id, int i; if (HIWORD(resource_id)==0xFFFF) /* netscape 3 passes this */ - resource_id = (UINT)(-((INT)resource_id)); + resource_id = (UINT)(-((INT)resource_id)); TRACE("instance = %04x, id = %04x, buffer = %08x, " "length = %d\n", instance, (int)resource_id, (int) buffer, buflen); - /* Use bits 4 - 19 (incremented by 1) as resourceid, mask out + /* Use bits 4 - 19 (incremented by 1) as resourceid, mask out * 20 - 31. */ hrsrc = FindResourceW( instance, (LPCWSTR)(((resource_id>>4)&0xffff)+1), RT_STRINGW ); if (!hrsrc) return 0; hmem = LoadResource( instance, hrsrc ); if (!hmem) return 0; - + p = (WCHAR*) LockResource(hmem); string_num = resource_id & 0x000f; for (i = 0; i < string_num; i++) - p += *p + 1; - + p += *p + 1; + TRACE("strlen = %d\n", (int)*p ); - + if (buffer == NULL) return *p; i = min(buflen - 1, *p); if (i > 0) { - memcpy(buffer, p + 1, i * sizeof (WCHAR)); - buffer[i] = (WCHAR) 0; + memcpy(buffer, p + 1, i * sizeof (WCHAR)); + buffer[i] = (WCHAR) 0; } else { - if (buflen > 1) { - buffer[0] = (WCHAR) 0; - return 0; - } + if (buflen > 1) { + buffer[0] = (WCHAR) 0; + return 0; + } #if 0 - WARN("Don't know why caller give buflen=%d *p=%d trying to obtain string '%s'\n", buflen, *p, p + 1); + WARN("Don't know why caller give buflen=%d *p=%d trying to obtain string '%s'\n", buflen, *p, p + 1); #endif } @@ -385,39 +385,39 @@ INT WINAPI LoadStringW( HINSTANCE instance, UINT resource_id, } /* Messages...used by FormatMessage32* (KERNEL32.something) - * + * * They can be specified either directly or using a message ID and * loading them from the resource. - * + * * The resourcedata has following format: * start: * 0: DWORD nrofentries * nrofentries * subentry: - * 0: DWORD firstentry - * 4: DWORD lastentry + * 0: DWORD firstentry + * 4: DWORD lastentry * 8: DWORD offset from start to the stringentries * * (lastentry-firstentry) * stringentry: * 0: WORD len (0 marks end) * 2: WORD flags * 4: CHAR[len-4] - * (stringentry i of a subentry refers to the ID 'firstentry+i') + * (stringentry i of a subentry refers to the ID 'firstentry+i') * * Yes, ANSI strings in win32 resources. Go figure. */ /********************************************************************** - * LoadMessageA (internal) + * LoadMessageA (internal) */ INT WINAPI LoadMessageA( HMODULE instance, UINT id, WORD lang, LPSTR buffer, INT buflen ) { - HGLOBAL hmem; - HRSRC hrsrc; - PMESSAGE_RESOURCE_DATA mrd; - PMESSAGE_RESOURCE_BLOCK mrb; - PMESSAGE_RESOURCE_ENTRY mre; - int i,slen; + HGLOBAL hmem; + HRSRC hrsrc; + PMESSAGE_RESOURCE_DATA mrd; + PMESSAGE_RESOURCE_BLOCK mrb; + PMESSAGE_RESOURCE_ENTRY mre; + int i,slen; TRACE("instance = %08lx, id = %08lx, buffer = %p, length = %ld\n", (DWORD)instance, (DWORD)id, buffer, (DWORD)buflen); @@ -426,77 +426,77 @@ INT WINAPI LoadMessageA( HMODULE instance, UINT id, WORD lang, if (!hrsrc) return 0; hmem = LoadResource( instance, hrsrc ); if (!hmem) return 0; - + mrd = (PMESSAGE_RESOURCE_DATA)LockResource(hmem); mre = NULL; mrb = &(mrd->Blocks[0]); for (i=mrd->NumberOfBlocks;i--;) { - if ((id>=mrb->LowId) && (id<=mrb->HighId)) { - mre = (PMESSAGE_RESOURCE_ENTRY)(((char*)mrd)+mrb->OffsetToEntries); - id -= mrb->LowId; - break; - } - mrb++; + if ((id>=mrb->LowId) && (id<=mrb->HighId)) { + mre = (PMESSAGE_RESOURCE_ENTRY)(((char*)mrd)+mrb->OffsetToEntries); + id -= mrb->LowId; + break; + } + mrb++; } if (!mre) - return 0; + return 0; for (i=id;i--;) { - if (!mre->Length) - return 0; - mre = (PMESSAGE_RESOURCE_ENTRY)(((char*)mre)+(mre->Length)); + if (!mre->Length) + return 0; + mre = (PMESSAGE_RESOURCE_ENTRY)(((char*)mre)+(mre->Length)); } slen=mre->Length; - TRACE(" - strlen=%d\n",slen); + TRACE(" - strlen=%d\n",slen); i = min(buflen - 1, slen); if (buffer == NULL) - return slen; + return slen; if (i>0) { - lstrcpynA(buffer,(char*)mre->Text,i); - buffer[i]=0; + lstrcpynA(buffer,(char*)mre->Text,i); + buffer[i]=0; } else { - if (buflen>1) { - buffer[0]=0; - return 0; - } + if (buflen>1) { + buffer[0]=0; + return 0; + } } if (buffer) - TRACE("'%s' copied !\n", buffer); + TRACE("'%s' copied !\n", buffer); return i; } /********************************************************************** - * EnumResourceTypesA (KERNEL32.90) + * EnumResourceTypesA (KERNEL32.90) */ WIN_BOOL WINAPI EnumResourceTypesA( HMODULE hmodule,ENUMRESTYPEPROCA lpfun, LONG lParam) { - /* FIXME: move WINE_MODREF stuff here */ + /* FIXME: move WINE_MODREF stuff here */ return PE_EnumResourceTypesA(hmodule,lpfun,lParam); } /********************************************************************** - * EnumResourceNamesA (KERNEL32.88) + * EnumResourceNamesA (KERNEL32.88) */ WIN_BOOL WINAPI EnumResourceNamesA( HMODULE hmodule, LPCSTR type, ENUMRESNAMEPROCA lpfun, LONG lParam ) { - /* FIXME: move WINE_MODREF stuff here */ + /* FIXME: move WINE_MODREF stuff here */ return PE_EnumResourceNamesA(hmodule,type,lpfun,lParam); } /********************************************************************** - * EnumResourceLanguagesA (KERNEL32.86) + * EnumResourceLanguagesA (KERNEL32.86) */ WIN_BOOL WINAPI EnumResourceLanguagesA( HMODULE hmodule, LPCSTR type, LPCSTR name, ENUMRESLANGPROCA lpfun, LONG lParam) { - /* FIXME: move WINE_MODREF stuff here */ + /* FIXME: move WINE_MODREF stuff here */ return PE_EnumResourceLanguagesA(hmodule,type,name,lpfun,lParam); } /********************************************************************** - * LoadResource (KERNEL32.370) + * LoadResource (KERNEL32.370) */ HGLOBAL WINAPI LoadResource( HINSTANCE hModule, HRSRC hRsrc ) { diff --git a/libs/loader/vfl.c b/libs/loader/vfl.c index 840b9b3189..cc3b866e22 100644 --- a/libs/loader/vfl.c +++ b/libs/loader/vfl.c @@ -44,200 +44,200 @@ #define CloseDriver DrvClose /*********************************************************************** - * VideoForWindowsVersion [MSVFW.2][MSVIDEO.2] + * VideoForWindowsVersion [MSVFW.2][MSVIDEO.2] * Returns the version in major.minor form. * In Windows95 this returns 0x040003b6 (4.950) */ long VFWAPI VideoForWindowsVersion(void) { - return 0x040003B6; /* 4.950 */ + return 0x040003B6; /* 4.950 */ } /* system.ini: [drivers] */ /*********************************************************************** - * ICInfo [MSVFW.33] + * ICInfo [MSVFW.33] * Get information about an installable compressor. Return TRUE if there * is one. */ int VFWAPI ICInfo( - long fccType, /* [in] type of compressor ('vidc') */ - long fccHandler, /* [in] th compressor */ - ICINFO *lpicinfo /* [out] information about compressor */ + long fccType, /* [in] type of compressor ('vidc') */ + long fccHandler, /* [in] th compressor */ + ICINFO *lpicinfo /* [out] information about compressor */ ) { - /* does OpenDriver/CloseDriver */ - lpicinfo->dwSize = sizeof(ICINFO); - lpicinfo->fccType = fccType; - lpicinfo->dwFlags = 0; - return TRUE; + /* does OpenDriver/CloseDriver */ + lpicinfo->dwSize = sizeof(ICINFO); + lpicinfo->fccType = fccType; + lpicinfo->dwFlags = 0; + return TRUE; } /*********************************************************************** - * ICOpen [MSVFW.37] + * ICOpen [MSVFW.37] * Opens an installable compressor. Return special handle. */ HIC VFWAPI //ICOpen(long fccType,long fccHandler,unsigned int wMode) { ICOpen(long filename,long fccHandler,unsigned int wMode) { - ICOPEN icopen; - HDRVR hdrv; - WINE_HIC *whic; - - /* Well, lParam2 is in fact a LPVIDEO_OPEN_PARMS, but it has the - * same layout as ICOPEN - */ - icopen.fccType = 0x63646976; // "vidc" //fccType; - icopen.fccHandler = fccHandler; - icopen.dwSize = sizeof(ICOPEN); - icopen.dwFlags = wMode; - icopen.pV1Reserved = (void*)filename; - /* FIXME: do we need to fill out the rest too? */ - hdrv=OpenDriverA((long)&icopen); - if (!hdrv) return 0; - whic = (WINE_HIC*)malloc(sizeof(WINE_HIC)); - whic->hdrv = hdrv; - whic->driverproc= ((DRVR*)hdrv)->DriverProc; -// whic->private = ICSendMessage((HIC)whic,DRV_OPEN,0,(long)&icopen); - whic->driverid = ((DRVR*)hdrv)->dwDriverID; - return (HIC)whic; + ICOPEN icopen; + HDRVR hdrv; + WINE_HIC *whic; + + /* Well, lParam2 is in fact a LPVIDEO_OPEN_PARMS, but it has the + * same layout as ICOPEN + */ + icopen.fccType = 0x63646976; // "vidc" //fccType; + icopen.fccHandler = fccHandler; + icopen.dwSize = sizeof(ICOPEN); + icopen.dwFlags = wMode; + icopen.pV1Reserved = (void*)filename; + /* FIXME: do we need to fill out the rest too? */ + hdrv=OpenDriverA((long)&icopen); + if (!hdrv) return 0; + whic = (WINE_HIC*)malloc(sizeof(WINE_HIC)); + whic->hdrv = hdrv; + whic->driverproc= ((DRVR*)hdrv)->DriverProc; +// whic->private = ICSendMessage((HIC)whic,DRV_OPEN,0,(long)&icopen); + whic->driverid = ((DRVR*)hdrv)->dwDriverID; + return (HIC)whic; } /*********************************************************************** - * ICGetInfo [MSVFW.30] + * ICGetInfo [MSVFW.30] */ LRESULT VFWAPI ICGetInfo(HIC hic,ICINFO *picinfo,long cb) { - LRESULT ret; + LRESULT ret; - ret = ICSendMessage(hic,ICM_GETINFO,(long)picinfo,cb); - - return ret; + ret = ICSendMessage(hic,ICM_GETINFO,(long)picinfo,cb); + + return ret; } /*********************************************************************** - * ICCompress [MSVFW.23] + * ICCompress [MSVFW.23] */ long VFWAPIV ICCompress( - HIC hic,long dwFlags,LPBITMAPINFOHEADER lpbiOutput,void* lpData, - LPBITMAPINFOHEADER lpbiInput,void* lpBits,long* lpckid, - long* lpdwFlags,long lFrameNum,long dwFrameSize,long dwQuality, - LPBITMAPINFOHEADER lpbiPrev,void* lpPrev + HIC hic,long dwFlags,LPBITMAPINFOHEADER lpbiOutput,void* lpData, + LPBITMAPINFOHEADER lpbiInput,void* lpBits,long* lpckid, + long* lpdwFlags,long lFrameNum,long dwFrameSize,long dwQuality, + LPBITMAPINFOHEADER lpbiPrev,void* lpPrev ) { - ICCOMPRESS iccmp; - - iccmp.dwFlags = dwFlags; - - iccmp.lpbiOutput = lpbiOutput; - iccmp.lpOutput = lpData; - iccmp.lpbiInput = lpbiInput; - iccmp.lpInput = lpBits; - - iccmp.lpckid = lpckid; - iccmp.lpdwFlags = lpdwFlags; - iccmp.lFrameNum = lFrameNum; - iccmp.dwFrameSize = dwFrameSize; - iccmp.dwQuality = dwQuality; - iccmp.lpbiPrev = lpbiPrev; - iccmp.lpPrev = lpPrev; - return ICSendMessage(hic,ICM_COMPRESS,(long)&iccmp,sizeof(iccmp)); + ICCOMPRESS iccmp; + + iccmp.dwFlags = dwFlags; + + iccmp.lpbiOutput = lpbiOutput; + iccmp.lpOutput = lpData; + iccmp.lpbiInput = lpbiInput; + iccmp.lpInput = lpBits; + + iccmp.lpckid = lpckid; + iccmp.lpdwFlags = lpdwFlags; + iccmp.lFrameNum = lFrameNum; + iccmp.dwFrameSize = dwFrameSize; + iccmp.dwQuality = dwQuality; + iccmp.lpbiPrev = lpbiPrev; + iccmp.lpPrev = lpPrev; + return ICSendMessage(hic,ICM_COMPRESS,(long)&iccmp,sizeof(iccmp)); } /*********************************************************************** - * ICDecompress [MSVFW.26] + * ICDecompress [MSVFW.26] */ -long VFWAPIV +long VFWAPIV ICDecompress(HIC hic,long dwFlags,LPBITMAPINFOHEADER lpbiFormat,void* lpData,LPBITMAPINFOHEADER lpbi,void* lpBits) { - ICDECOMPRESS icd; - int result; - icd.dwFlags = dwFlags; - icd.lpbiInput = lpbiFormat; - icd.lpInput = lpData; - - icd.lpbiOutput = lpbi; - icd.lpOutput = lpBits; - icd.ckid = 0; - result=ICSendMessage(hic,ICM_DECOMPRESS,(long)&icd,sizeof(icd)); - return result; + ICDECOMPRESS icd; + int result; + icd.dwFlags = dwFlags; + icd.lpbiInput = lpbiFormat; + icd.lpInput = lpData; + + icd.lpbiOutput = lpbi; + icd.lpOutput = lpBits; + icd.ckid = 0; + result=ICSendMessage(hic,ICM_DECOMPRESS,(long)&icd,sizeof(icd)); + return result; } /*********************************************************************** - * ICDecompressEx [MSVFW.26] + * ICDecompressEx [MSVFW.26] */ -long VFWAPIV +long VFWAPIV ICDecompressEx(HIC hic,long dwFlags,LPBITMAPINFOHEADER lpbiFormat,void* lpData,LPBITMAPINFOHEADER lpbi,void* lpBits) { - ICDECOMPRESSEX icd; - int result; - - icd.dwFlags = dwFlags; - - icd.lpbiSrc = lpbiFormat; - icd.lpSrc = lpData; - - icd.lpbiDst = lpbi; - icd.lpDst = lpBits; - - icd.xSrc=icd.ySrc=0; - icd.dxSrc=lpbiFormat->biWidth; - icd.dySrc=abs(lpbiFormat->biHeight); - - icd.xDst=icd.yDst=0; - icd.dxDst=lpbi->biWidth; - icd.dyDst=abs(lpbi->biHeight); - - //icd.ckid = 0; - result=ICSendMessage(hic,ICM_DECOMPRESSEX,(long)&icd,sizeof(icd)); - return result; + ICDECOMPRESSEX icd; + int result; + + icd.dwFlags = dwFlags; + + icd.lpbiSrc = lpbiFormat; + icd.lpSrc = lpData; + + icd.lpbiDst = lpbi; + icd.lpDst = lpBits; + + icd.xSrc=icd.ySrc=0; + icd.dxSrc=lpbiFormat->biWidth; + icd.dySrc=abs(lpbiFormat->biHeight); + + icd.xDst=icd.yDst=0; + icd.dxDst=lpbi->biWidth; + icd.dyDst=abs(lpbi->biHeight); + + //icd.ckid = 0; + result=ICSendMessage(hic,ICM_DECOMPRESSEX,(long)&icd,sizeof(icd)); + return result; } -long VFWAPIV +long VFWAPIV ICUniversalEx(HIC hic,int command,LPBITMAPINFOHEADER lpbiFormat,LPBITMAPINFOHEADER lpbi) { - ICDECOMPRESSEX icd; - int result; - - icd.dwFlags = 0; - - icd.lpbiSrc = lpbiFormat; - icd.lpSrc = 0; - - icd.lpbiDst = lpbi; - icd.lpDst = 0; - - icd.xSrc=icd.ySrc=0; - icd.dxSrc=lpbiFormat->biWidth; - icd.dySrc=abs(lpbiFormat->biHeight); - - icd.xDst=icd.yDst=0; - icd.dxDst=lpbi->biWidth; - icd.dyDst=abs(lpbi->biHeight); - - //icd.ckid = 0; - result=ICSendMessage(hic,command,(long)&icd,sizeof(icd)); - return result; + ICDECOMPRESSEX icd; + int result; + + icd.dwFlags = 0; + + icd.lpbiSrc = lpbiFormat; + icd.lpSrc = 0; + + icd.lpbiDst = lpbi; + icd.lpDst = 0; + + icd.xSrc=icd.ySrc=0; + icd.dxSrc=lpbiFormat->biWidth; + icd.dySrc=abs(lpbiFormat->biHeight); + + icd.xDst=icd.yDst=0; + icd.dxDst=lpbi->biWidth; + icd.dyDst=abs(lpbi->biHeight); + + //icd.ckid = 0; + result=ICSendMessage(hic,command,(long)&icd,sizeof(icd)); + return result; } /*********************************************************************** - * ICSendMessage [MSVFW.40] + * ICSendMessage [MSVFW.40] */ LRESULT VFWAPI ICSendMessage(HIC hic,unsigned int msg,long lParam1,long lParam2) { - WINE_HIC *whic = (WINE_HIC*)hic; + WINE_HIC *whic = (WINE_HIC*)hic; return SendDriverMessage(whic->hdrv, msg, lParam1,lParam2); } /*********************************************************************** - * ICClose [MSVFW.22] + * ICClose [MSVFW.22] */ LRESULT VFWAPI ICClose(HIC hic) { - WINE_HIC *whic = (WINE_HIC*)hic; - /* FIXME: correct? */ -// CloseDriver(whic->hdrv,0,0); + WINE_HIC *whic = (WINE_HIC*)hic; + /* FIXME: correct? */ +// CloseDriver(whic->hdrv,0,0); DrvClose(whic->hdrv); //#warning FIXME: DrvClose - free(whic); - return 0; + free(whic); + return 0; } int VFWAPI ICDoSomething() diff --git a/libs/loader/win32.c b/libs/loader/win32.c index dad695d69a..08fd21da29 100644 --- a/libs/loader/win32.c +++ b/libs/loader/win32.c @@ -47,8 +47,8 @@ for DLL to know too much about its environment. #endif #ifdef QTX -#define PSEUDO_SCREEN_WIDTH /*640*/800 -#define PSEUDO_SCREEN_HEIGHT /*480*/600 +#define PSEUDO_SCREEN_WIDTH /*640*/800 +#define PSEUDO_SCREEN_HEIGHT /*480*/600 #endif #include "wine/winbase.h" @@ -84,7 +84,7 @@ for DLL to know too much about its environment. #include #include #include -#ifdef HAVE_KSTAT +#ifdef HAVE_KSTAT #include #endif @@ -108,43 +108,43 @@ static char* def_path = WIN32_PATH; static void do_cpuid(unsigned int ax, unsigned int *regs) { __asm__ __volatile__ - ( - "pushl %%ebx; pushl %%ecx; pushl %%edx;" - ".byte 0x0f, 0xa2;" - "movl %%eax, (%2);" - "movl %%ebx, 4(%2);" - "movl %%ecx, 8(%2);" - "movl %%edx, 12(%2);" - "popl %%edx; popl %%ecx; popl %%ebx;" - : "=a" (ax) - : "0" (ax), "S" (regs) - ); + ( + "pushl %%ebx; pushl %%ecx; pushl %%edx;" + ".byte 0x0f, 0xa2;" + "movl %%eax, (%2);" + "movl %%ebx, 4(%2);" + "movl %%ecx, 8(%2);" + "movl %%edx, 12(%2);" + "popl %%edx; popl %%ecx; popl %%ebx;" + : "=a" (ax) + : "0" (ax), "S" (regs) + ); } static unsigned int c_localcount_tsc() { int a; __asm__ __volatile__ - ( - "rdtsc\n\t" - :"=a"(a) - : - :"edx" - ); + ( + "rdtsc\n\t" + :"=a"(a) + : + :"edx" + ); return a; } static void c_longcount_tsc(long long* z) { __asm__ __volatile__ - ( - "pushl %%ebx\n\t" - "movl %%eax, %%ebx\n\t" - "rdtsc\n\t" - "movl %%eax, 0(%%ebx)\n\t" - "movl %%edx, 4(%%ebx)\n\t" - "popl %%ebx\n\t" - ::"a"(z) - :"edx" - ); + ( + "pushl %%ebx\n\t" + "movl %%eax, %%ebx\n\t" + "rdtsc\n\t" + "movl %%eax, 0(%%ebx)\n\t" + "movl %%edx, 4(%%ebx)\n\t" + "popl %%ebx\n\t" + ::"a"(z) + :"edx" + ); } static unsigned int c_localcount_notsc() { @@ -180,13 +180,13 @@ static unsigned int localcount_stub(void) do_cpuid(1, regs); if ((regs[3] & 0x00000010) != 0) { - localcount=c_localcount_tsc; - longcount=c_longcount_tsc; + localcount=c_localcount_tsc; + longcount=c_longcount_tsc; } else { - localcount=c_localcount_notsc; - longcount=c_longcount_notsc; + localcount=c_localcount_notsc; + longcount=c_longcount_notsc; } return localcount(); } @@ -196,13 +196,13 @@ static void longcount_stub(long long* z) do_cpuid(1, regs); if ((regs[3] & 0x00000010) != 0) { - localcount=c_localcount_tsc; - longcount=c_longcount_tsc; + localcount=c_localcount_tsc; + longcount=c_longcount_tsc; } else { - localcount=c_localcount_notsc; - longcount=c_longcount_notsc; + localcount=c_localcount_notsc; + longcount=c_longcount_notsc; } longcount(z); } @@ -217,30 +217,30 @@ static inline void dbgprintf(char* fmt, ...) #ifdef DETAILED_OUT if(LOADER_DEBUG) { - FILE* f; - va_list va; - va_start(va, fmt); - f=fopen("./log", "a"); - vprintf(fmt, va); - fflush(stdout); - if(f) - { - vfprintf(f, fmt, va); - fsync(fileno(f)); - fclose(f); - } - va_end(va); + FILE* f; + va_list va; + va_start(va, fmt); + f=fopen("./log", "a"); + vprintf(fmt, va); + fflush(stdout); + if(f) + { + vfprintf(f, fmt, va); + fsync(fileno(f)); + fclose(f); + } + va_end(va); } #endif #ifdef MPLAYER if (verbose > 2) { - va_list va; - - va_start(va, fmt); - vprintf(fmt, va); -// mp_dbg(MSGT_WIN32, MSGL_DBG3, fmt, va); - va_end(va); + va_list va; + + va_start(va, fmt); + vprintf(fmt, va); +// mp_dbg(MSGT_WIN32, MSGL_DBG3, fmt, va); + va_end(va); } fflush(stdout); #endif @@ -275,21 +275,21 @@ static void test_heap(void) { int offset=0; if(heap==0) - return; + return; while(offset20000000) { - printf("No enough memory\n"); - return 0; + printf("No enough memory\n"); + return 0; } *(int*)(heap+heap_counter)=0x433476; heap_counter+=4; @@ -322,9 +322,9 @@ static void* my_mreq(int size, int to_zero) heap_counter+=4; printf("Allocated %d bytes of memory: sys %d, user %d-%d\n", size, heap_counter-8, heap_counter, heap_counter+size); if(to_zero) - memset(heap+heap_counter, 0, size); + memset(heap+heap_counter, 0, size); else - memset(heap+heap_counter, 0xcc, size); // make crash reproducable + memset(heap+heap_counter, 0xcc, size); // make crash reproducable heap_counter+=size; return heap+heap_counter-size; } @@ -333,13 +333,13 @@ static int my_release(char* memory) // test_heap(); if(memory==NULL) { - printf("ERROR: free(0)\n"); - return 0; + printf("ERROR: free(0)\n"); + return 0; } if(*(int*)(memory-8)!=0x433476) { - printf("MEMORY CORRUPTION !!!!!!!!!!!!!!!!!!!\n"); - return 0; + printf("MEMORY CORRUPTION !!!!!!!!!!!!!!!!!!!\n"); + return 0; } printf("Freed %d bytes of memory\n", *(int*)(memory-4)); // memset(memory-8, *(int*)(memory-4), 0xCC); @@ -390,17 +390,17 @@ void* mreq_private(int size, int to_zero, int type) if (!header) return 0; if (to_zero) - memset(header, 0, nsize); + memset(header, 0, nsize); #ifdef GARBAGE if (!last_alloc) { - pthread_mutex_init(&memmut, NULL); - pthread_mutex_lock(&memmut); + pthread_mutex_init(&memmut, NULL); + pthread_mutex_lock(&memmut); } else { - pthread_mutex_lock(&memmut); - last_alloc->next = header; /* set next */ + pthread_mutex_lock(&memmut); + last_alloc->next = header; /* set next */ } header->prev = last_alloc; @@ -425,12 +425,12 @@ static int my_release(void* memory) alloc_header* nextmem; if (memory == 0) - return 0; + return 0; if (header->deadbeef != (long) 0xdeadbeef) { - dbgprintf("FATAL releasing corrupted memory! %p 0x%lx (%d)\n", header, header->deadbeef, alccnt); - return 0; + dbgprintf("FATAL releasing corrupted memory! %p 0x%lx (%d)\n", header, header->deadbeef, alccnt); + return 0; } pthread_mutex_lock(&memmut); @@ -438,20 +438,20 @@ static int my_release(void* memory) switch(header->type) { case AREATYPE_EVENT: - destroy_event(memory); - break; + destroy_event(memory); + break; case AREATYPE_COND: - pthread_cond_destroy((pthread_cond_t*)memory); - break; + pthread_cond_destroy((pthread_cond_t*)memory); + break; case AREATYPE_MUTEX: - pthread_mutex_destroy((pthread_mutex_t*)memory); - break; + pthread_mutex_destroy((pthread_mutex_t*)memory); + break; case AREATYPE_CRITSECT: - pthread_mutex_destroy(&((struct CRITSECT*)memory)->mutex); - break; + pthread_mutex_destroy(&((struct CRITSECT*)memory)->mutex); + break; default: - //memset(memory, 0xcc, header->size); - ; + //memset(memory, 0xcc, header->size); + ; } header->deadbeef = 0; @@ -459,24 +459,24 @@ static int my_release(void* memory) nextmem = header->next; if (prevmem) - prevmem->next = nextmem; + prevmem->next = nextmem; if (nextmem) - nextmem->prev = prevmem; + nextmem->prev = prevmem; if (header == last_alloc) - last_alloc = prevmem; + last_alloc = prevmem; alccnt--; if (last_alloc) - pthread_mutex_unlock(&memmut); + pthread_mutex_unlock(&memmut); else - pthread_mutex_destroy(&memmut); + pthread_mutex_destroy(&memmut); //if (alccnt < 40000) printf("MY_RELEASE: %p\t%ld (%d)\n", header, header->size, alccnt); #else if (memory == 0) - return 0; + return 0; #endif //memset(header + 1, 0xcc, header->size); free(header); @@ -500,13 +500,13 @@ static void* my_realloc(void* memory, int size) void *ans = memory; int osize; if (memory == NULL) - return my_mreq(size, 0); + return my_mreq(size, 0); osize = my_size(memory); if (osize < size) { - ans = my_mreq(size, 0); - memcpy(ans, memory, osize); - my_release(memory); + ans = my_mreq(size, 0); + memcpy(ans, memory, osize); + my_release(memory); } return ans; } @@ -529,7 +529,7 @@ static int WINAPI expGetVolumeInformationA( const char *root, char *label, char *fsname, unsigned int fsname_len ) { dbgprintf("GetVolumeInformationA( %s, 0x%x, %ld, 0x%x, 0x%x, 0x%x, 0x%x, %ld) => 1\n", - root,label,label_len,serial,filename_len,flags,fsname,fsname_len); + root,label,label_len,serial,filename_len,flags,fsname,fsname_len); //hack Do not return any real data - do nothing return 1; } @@ -576,24 +576,24 @@ static HMODULE WINAPI expGetDriverModuleHandle(DRVR* pdrv) { HMODULE result; if (pdrv==NULL) - result=0; + result=0; else - result=pdrv->hDriverModule; + result=pdrv->hDriverModule; dbgprintf("GetDriverModuleHandle(%p) => %p\n", pdrv, result); return result; } -#define MODULE_HANDLE_kernel32 ((HMODULE)0x120) -#define MODULE_HANDLE_user32 ((HMODULE)0x121) +#define MODULE_HANDLE_kernel32 ((HMODULE)0x120) +#define MODULE_HANDLE_user32 ((HMODULE)0x121) #ifdef QTX -#define MODULE_HANDLE_wininet ((HMODULE)0x122) -#define MODULE_HANDLE_ddraw ((HMODULE)0x123) -#define MODULE_HANDLE_advapi32 ((HMODULE)0x124) +#define MODULE_HANDLE_wininet ((HMODULE)0x122) +#define MODULE_HANDLE_ddraw ((HMODULE)0x123) +#define MODULE_HANDLE_advapi32 ((HMODULE)0x124) #endif -#define MODULE_HANDLE_comdlg32 ((HMODULE)0x125) -#define MODULE_HANDLE_msvcrt ((HMODULE)0x126) -#define MODULE_HANDLE_ole32 ((HMODULE)0x127) -#define MODULE_HANDLE_winmm ((HMODULE)0x128) +#define MODULE_HANDLE_comdlg32 ((HMODULE)0x125) +#define MODULE_HANDLE_msvcrt ((HMODULE)0x126) +#define MODULE_HANDLE_ole32 ((HMODULE)0x127) +#define MODULE_HANDLE_winmm ((HMODULE)0x128) static HMODULE WINAPI expGetModuleHandleA(const char* name) { @@ -601,24 +601,24 @@ static HMODULE WINAPI expGetModuleHandleA(const char* name) HMODULE result; if(!name) #ifdef QTX - result=1; + result=1; #else - result=0; + result=0; #endif else { - wm=MODULE_FindModule(name); - if(wm==0)result=0; - else - result=(HMODULE)(wm->module); + wm=MODULE_FindModule(name); + if(wm==0)result=0; + else + result=(HMODULE)(wm->module); } if(!result) { - if(name && (strcasecmp(name, "kernel32")==0 || !strcasecmp(name, "kernel32.dll"))) - result=MODULE_HANDLE_kernel32; + if(name && (strcasecmp(name, "kernel32")==0 || !strcasecmp(name, "kernel32.dll"))) + result=MODULE_HANDLE_kernel32; #ifdef QTX - if(name && strcasecmp(name, "user32")==0) - result=MODULE_HANDLE_user32; + if(name && strcasecmp(name, "user32")==0) + result=MODULE_HANDLE_user32; #endif } dbgprintf("GetModuleHandleA('%s') => 0x%x\n", name, result); @@ -626,32 +626,32 @@ static HMODULE WINAPI expGetModuleHandleA(const char* name) } static void* WINAPI expCreateThread(void* pSecAttr, long dwStackSize, - void* lpStartAddress, void* lpParameter, - long dwFlags, long* dwThreadId) + void* lpStartAddress, void* lpParameter, + long dwFlags, long* dwThreadId) { pthread_t *pth; // printf("CreateThread:"); pth = (pthread_t*) my_mreq(sizeof(pthread_t), 0); pthread_create(pth, NULL, (void*(*)(void*))lpStartAddress, lpParameter); if(dwFlags) - printf( "WARNING: CreateThread flags not supported\n"); + printf( "WARNING: CreateThread flags not supported\n"); if(dwThreadId) - *dwThreadId=(long)pth; + *dwThreadId=(long)pth; if(list==NULL) { - list=my_mreq(sizeof(th_list), 1); - list->next=list->prev=NULL; + list=my_mreq(sizeof(th_list), 1); + list->next=list->prev=NULL; } else { - list->next=my_mreq(sizeof(th_list), 0); - list->next->prev=list; - list->next->next=NULL; - list=list->next; + list->next=my_mreq(sizeof(th_list), 0); + list->next->prev=list; + list->next->next=NULL; + list=list->next; } list->thread=pth; dbgprintf("CreateThread(0x%x, 0x%x, 0x%x, 0x%x, 0x%x, 0x%x) => 0x%x\n", - pSecAttr, dwStackSize, lpStartAddress, lpParameter, dwFlags, dwThreadId, pth); + pSecAttr, dwStackSize, lpStartAddress, lpParameter, dwFlags, dwThreadId, pth); return pth; } @@ -678,31 +678,31 @@ void destroy_event(void* event) // printf("garbage collector: destroy_event(%x)\n", event); while(pp) { - if(pp==(mutex_list*)event) - { - if(pp->next) - pp->next->prev=pp->prev; - if(pp->prev) - pp->prev->next=pp->next; - if(mlist==(mutex_list*)event) - mlist=mlist->prev; - /* - pp=mlist; - while(pp) - { - printf("%x => ", pp); - pp=pp->prev; - } - printf("0\n"); - */ - return; - } - pp=pp->prev; + if(pp==(mutex_list*)event) + { + if(pp->next) + pp->next->prev=pp->prev; + if(pp->prev) + pp->prev->next=pp->next; + if(mlist==(mutex_list*)event) + mlist=mlist->prev; + /* + pp=mlist; + while(pp) + { + printf("%x => ", pp); + pp=pp->prev; + } + printf("0\n"); + */ + return; + } + pp=pp->prev; } } static void* WINAPI expCreateEventA(void* pSecAttr, char bManualReset, - char bInitialState, const char* name) + char bInitialState, const char* name) { pthread_mutex_t *pm; pthread_cond_t *pc; @@ -718,17 +718,17 @@ static void* WINAPI expCreateEventA(void* pSecAttr, char bManualReset, */ if(mlist!=NULL) { - mutex_list* pp=mlist; - if(name!=NULL) - do - { - if((strcmp(pp->name, name)==0) && (pp->type==0)) - { - dbgprintf("CreateEventA(0x%x, 0x%x, 0x%x, 0x%x='%s') => 0x%x\n", - pSecAttr, bManualReset, bInitialState, name, name, pp->pm); - return pp->pm; - } - }while((pp=pp->prev) != NULL); + mutex_list* pp=mlist; + if(name!=NULL) + do + { + if((strcmp(pp->name, name)==0) && (pp->type==0)) + { + dbgprintf("CreateEventA(0x%x, 0x%x, 0x%x, 0x%x='%s') => 0x%x\n", + pSecAttr, bManualReset, bInitialState, name, name, pp->pm); + return pp->pm; + } + }while((pp=pp->prev) != NULL); } pm=mreq_private(sizeof(pthread_mutex_t), 0, AREATYPE_MUTEX); pthread_mutex_init(pm, NULL); @@ -736,15 +736,15 @@ static void* WINAPI expCreateEventA(void* pSecAttr, char bManualReset, pthread_cond_init(pc, NULL); if(mlist==NULL) { - mlist=mreq_private(sizeof(mutex_list), 00, AREATYPE_EVENT); - mlist->next=mlist->prev=NULL; + mlist=mreq_private(sizeof(mutex_list), 00, AREATYPE_EVENT); + mlist->next=mlist->prev=NULL; } else { - mlist->next=mreq_private(sizeof(mutex_list), 00, AREATYPE_EVENT); - mlist->next->prev=mlist; - mlist->next->next=NULL; - mlist=mlist->next; + mlist->next=mreq_private(sizeof(mutex_list), 00, AREATYPE_EVENT); + mlist->next->prev=mlist; + mlist->next->next=NULL; + mlist=mlist->next; } mlist->type=0; /* Type Event */ mlist->pm=pm; @@ -752,21 +752,21 @@ static void* WINAPI expCreateEventA(void* pSecAttr, char bManualReset, mlist->state=bInitialState; mlist->reset=bManualReset; if(name) - strncpy(mlist->name, name, 127); + strncpy(mlist->name, name, 127); else - mlist->name[0]=0; + mlist->name[0]=0; if(pm==NULL) - dbgprintf("ERROR::: CreateEventA failure\n"); + dbgprintf("ERROR::: CreateEventA failure\n"); /* if(bInitialState) pthread_mutex_lock(pm); */ if(name) - dbgprintf("CreateEventA(0x%x, 0x%x, 0x%x, 0x%x='%s') => 0x%x\n", - pSecAttr, bManualReset, bInitialState, name, name, mlist); + dbgprintf("CreateEventA(0x%x, 0x%x, 0x%x, 0x%x='%s') => 0x%x\n", + pSecAttr, bManualReset, bInitialState, name, name, mlist); else - dbgprintf("CreateEventA(0x%x, 0x%x, 0x%x, NULL) => 0x%x\n", - pSecAttr, bManualReset, bInitialState, mlist); + dbgprintf("CreateEventA(0x%x, 0x%x, 0x%x, NULL) => 0x%x\n", + pSecAttr, bManualReset, bInitialState, mlist); return mlist; } @@ -776,8 +776,8 @@ static void* WINAPI expSetEvent(void* event) dbgprintf("SetEvent(%x) => 0x1\n", event); pthread_mutex_lock(ml->pm); if (ml->state == 0) { - ml->state = 1; - pthread_cond_signal(ml->pc); + ml->state = 1; + pthread_cond_signal(ml->pc); } pthread_mutex_unlock(ml->pm); @@ -802,73 +802,73 @@ static void* WINAPI expWaitForSingleObject(void* object, int duration) mutex_list* pp=mlist; if(object == (void*)0xcfcf9898) { - /** - From GetCurrentThread() documentation: - A pseudo handle is a special constant that is interpreted as the current thread handle. The calling thread can use this handle to specify itself whenever a thread handle is required. Pseudo handles are not inherited by child processes. + /** + From GetCurrentThread() documentation: + A pseudo handle is a special constant that is interpreted as the current thread handle. The calling thread can use this handle to specify itself whenever a thread handle is required. Pseudo handles are not inherited by child processes. - This handle has the maximum possible access to the thread object. For systems that support security descriptors, this is the maximum access allowed by the security descriptor for the calling process. For systems that do not support security descriptors, this is THREAD_ALL_ACCESS. + This handle has the maximum possible access to the thread object. For systems that support security descriptors, this is the maximum access allowed by the security descriptor for the calling process. For systems that do not support security descriptors, this is THREAD_ALL_ACCESS. - The function cannot be used by one thread to create a handle that can be used by other threads to refer to the first thread. The handle is always interpreted as referring to the thread that is using it. A thread can create a "real" handle to itself that can be used by other threads, or inherited by other processes, by specifying the pseudo handle as the source handle in a call to the DuplicateHandle function. - **/ - dbgprintf("WaitForSingleObject(thread_handle) called\n"); - return (void*)WAIT_FAILED; + The function cannot be used by one thread to create a handle that can be used by other threads to refer to the first thread. The handle is always interpreted as referring to the thread that is using it. A thread can create a "real" handle to itself that can be used by other threads, or inherited by other processes, by specifying the pseudo handle as the source handle in a call to the DuplicateHandle function. + **/ + dbgprintf("WaitForSingleObject(thread_handle) called\n"); + return (void*)WAIT_FAILED; } dbgprintf("WaitForSingleObject(0x%x, duration %d) =>\n",object, duration); // loop below was slightly fixed - its used just for checking if // this object really exists in our list if (!ml) - return (void*) ret; + return (void*) ret; while (pp && (pp->pm != ml->pm)) - pp = pp->prev; + pp = pp->prev; if (!pp) { - dbgprintf("WaitForSingleObject: NotFound\n"); - return (void*)ret; + dbgprintf("WaitForSingleObject: NotFound\n"); + return (void*)ret; } pthread_mutex_lock(ml->pm); switch(ml->type) { case 0: /* Event */ - if (duration == 0) { /* Check Only */ - if (ml->state == 1) ret = WAIT_FAILED; - else ret = WAIT_OBJECT_0; - } - if (duration == -1) { /* INFINITE */ - if (ml->state == 0) - pthread_cond_wait(ml->pc,ml->pm); - if (ml->reset) - ml->state = 0; - ret = WAIT_OBJECT_0; - } - if (duration > 0) { /* Timed Wait */ - struct timespec abstime; - struct timeval now; - gettimeofday(&now, 0); - abstime.tv_sec = now.tv_sec + (now.tv_usec+duration)/1000000; - abstime.tv_nsec = ((now.tv_usec+duration)%1000000)*1000; - if (ml->state == 0) - ret=pthread_cond_timedwait(ml->pc,ml->pm,&abstime); - if (ret == ETIMEDOUT) ret = WAIT_TIMEOUT; - else ret = WAIT_OBJECT_0; - if (ml->reset) - ml->state = 0; - } - break; + if (duration == 0) { /* Check Only */ + if (ml->state == 1) ret = WAIT_FAILED; + else ret = WAIT_OBJECT_0; + } + if (duration == -1) { /* INFINITE */ + if (ml->state == 0) + pthread_cond_wait(ml->pc,ml->pm); + if (ml->reset) + ml->state = 0; + ret = WAIT_OBJECT_0; + } + if (duration > 0) { /* Timed Wait */ + struct timespec abstime; + struct timeval now; + gettimeofday(&now, 0); + abstime.tv_sec = now.tv_sec + (now.tv_usec+duration)/1000000; + abstime.tv_nsec = ((now.tv_usec+duration)%1000000)*1000; + if (ml->state == 0) + ret=pthread_cond_timedwait(ml->pc,ml->pm,&abstime); + if (ret == ETIMEDOUT) ret = WAIT_TIMEOUT; + else ret = WAIT_OBJECT_0; + if (ml->reset) + ml->state = 0; + } + break; case 1: /* Semaphore */ - if (duration == 0) { - if(ml->semaphore==0) ret = WAIT_FAILED; - else { - ml->semaphore++; - ret = WAIT_OBJECT_0; - } - } - if (duration == -1) { - if (ml->semaphore==0) - pthread_cond_wait(ml->pc,ml->pm); - ml->semaphore--; - } - break; + if (duration == 0) { + if(ml->semaphore==0) ret = WAIT_FAILED; + else { + ml->semaphore++; + ret = WAIT_OBJECT_0; + } + } + if (duration == -1) { + if (ml->semaphore==0) + pthread_cond_wait(ml->pc,ml->pm); + ml->semaphore--; + } + break; } pthread_mutex_unlock(ml->pm); @@ -878,23 +878,23 @@ static void* WINAPI expWaitForSingleObject(void* object, int duration) #ifdef QTX static void* WINAPI expWaitForMultipleObjects(int count, const void** objects, - int WaitAll, int duration) + int WaitAll, int duration) { int i; void *object; void *ret; dbgprintf("WaitForMultipleObjects(%d, 0x%x, %d, duration %d) =>\n", - count, objects, WaitAll, duration); - + count, objects, WaitAll, duration); + for (i = 0; i < count; i++) { - object = (void *)objects[i]; - ret = expWaitForSingleObject(object, duration); - if (WaitAll) - dbgprintf("WaitAll flag not yet supported...\n"); - else - return ret; + object = (void *)objects[i]; + ret = expWaitForSingleObject(object, duration); + if (WaitAll) + dbgprintf("WaitAll flag not yet supported...\n"); + else + return ret; } return NULL; } @@ -906,16 +906,16 @@ static void WINAPI expExitThread(int retcode) } static HANDLE WINAPI expCreateMutexA(void *pSecAttr, - char bInitialOwner, const char *name) + char bInitialOwner, const char *name) { HANDLE mlist = (HANDLE)expCreateEventA(pSecAttr, 0, 0, name); - + if (name) - dbgprintf("CreateMutexA(0x%x, %d, '%s') => 0x%x\n", - pSecAttr, bInitialOwner, name, mlist); + dbgprintf("CreateMutexA(0x%x, %d, '%s') => 0x%x\n", + pSecAttr, bInitialOwner, name, mlist); else - dbgprintf("CreateMutexA(0x%x, %d, NULL) => 0x%x\n", - pSecAttr, bInitialOwner, mlist); + dbgprintf("CreateMutexA(0x%x, %d, NULL) => 0x%x\n", + pSecAttr, bInitialOwner, mlist); #ifndef QTX /* 10l to QTX, if CreateMutex returns a real mutex, WaitForSingleObject waits for ever, else it works ;) */ @@ -957,56 +957,56 @@ static void WINAPI expGetSystemInfo(SYSTEM_INFO* si) dbgprintf("GetSystemInfo(%p) =>\n", si); if (cache) { - memcpy(si,&cachedsi,sizeof(*si)); - DumpSystemInfo(si); - return; + memcpy(si,&cachedsi,sizeof(*si)); + DumpSystemInfo(si); + return; } memset(PF,0,sizeof(PF)); pf_set = 1; cachedsi.u.s.wProcessorArchitecture = PROCESSOR_ARCHITECTURE_INTEL; - cachedsi.dwPageSize = getpagesize(); + cachedsi.dwPageSize = getpagesize(); /* FIXME: better values for the two entries below... */ - cachedsi.lpMinimumApplicationAddress = (void *)0x00000000; - cachedsi.lpMaximumApplicationAddress = (void *)0x7FFFFFFF; - cachedsi.dwActiveProcessorMask = 1; - cachedsi.dwNumberOfProcessors = 1; - cachedsi.dwProcessorType = PROCESSOR_INTEL_386; - cachedsi.dwAllocationGranularity = 0x10000; - cachedsi.wProcessorLevel = 5; /* pentium */ - cachedsi.wProcessorRevision = 0x0101; + cachedsi.lpMinimumApplicationAddress = (void *)0x00000000; + cachedsi.lpMaximumApplicationAddress = (void *)0x7FFFFFFF; + cachedsi.dwActiveProcessorMask = 1; + cachedsi.dwNumberOfProcessors = 1; + cachedsi.dwProcessorType = PROCESSOR_INTEL_386; + cachedsi.dwAllocationGranularity = 0x10000; + cachedsi.wProcessorLevel = 5; /* pentium */ + cachedsi.wProcessorRevision = 0x0101; #ifdef MPLAYER /* mplayer's way to detect PF's */ { #include "../cpudetect.h" - extern CpuCaps gCpuCaps; - - if (gCpuCaps.hasMMX) - PF[PF_MMX_INSTRUCTIONS_AVAILABLE] = TRUE; - if (gCpuCaps.hasSSE) - PF[PF_XMMI_INSTRUCTIONS_AVAILABLE] = TRUE; - if (gCpuCaps.has3DNow) - PF[PF_AMD3D_INSTRUCTIONS_AVAILABLE] = TRUE; - - if (gCpuCaps.cpuType == 4) - { - cachedsi.dwProcessorType = PROCESSOR_INTEL_486; - cachedsi.wProcessorLevel = 4; - } - else if (gCpuCaps.cpuType >= 5) - { - cachedsi.dwProcessorType = PROCESSOR_INTEL_PENTIUM; - cachedsi.wProcessorLevel = 5; - } - else - { - cachedsi.dwProcessorType = PROCESSOR_INTEL_386; - cachedsi.wProcessorLevel = 3; - } - cachedsi.wProcessorRevision = gCpuCaps.cpuStepping; - cachedsi.dwNumberOfProcessors = 1; /* hardcoded */ + extern CpuCaps gCpuCaps; + + if (gCpuCaps.hasMMX) + PF[PF_MMX_INSTRUCTIONS_AVAILABLE] = TRUE; + if (gCpuCaps.hasSSE) + PF[PF_XMMI_INSTRUCTIONS_AVAILABLE] = TRUE; + if (gCpuCaps.has3DNow) + PF[PF_AMD3D_INSTRUCTIONS_AVAILABLE] = TRUE; + + if (gCpuCaps.cpuType == 4) + { + cachedsi.dwProcessorType = PROCESSOR_INTEL_486; + cachedsi.wProcessorLevel = 4; + } + else if (gCpuCaps.cpuType >= 5) + { + cachedsi.dwProcessorType = PROCESSOR_INTEL_PENTIUM; + cachedsi.wProcessorLevel = 5; + } + else + { + cachedsi.dwProcessorType = PROCESSOR_INTEL_386; + cachedsi.wProcessorLevel = 3; + } + cachedsi.wProcessorRevision = gCpuCaps.cpuStepping; + cachedsi.dwNumberOfProcessors = 1; /* hardcoded */ } #endif @@ -1014,7 +1014,7 @@ static void WINAPI expGetSystemInfo(SYSTEM_INFO* si) #ifndef MPLAYER #if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__svr4__) || defined(__DragonFly__) do_cpuid(1, regs); - switch ((regs[0] >> 8) & 0xf) { // cpu family + switch ((regs[0] >> 8) & 0xf) { // cpu family case 3: cachedsi.dwProcessorType = PROCESSOR_INTEL_386; cachedsi.wProcessorLevel= 3; break; @@ -1031,15 +1031,15 @@ static void WINAPI expGetSystemInfo(SYSTEM_INFO* si) cachedsi.wProcessorLevel= 5; break; } - cachedsi.wProcessorRevision = regs[0] & 0xf; // stepping + cachedsi.wProcessorRevision = regs[0] & 0xf; // stepping if (regs[3] & (1 << 8)) - PF[PF_COMPARE_EXCHANGE_DOUBLE] = TRUE; + PF[PF_COMPARE_EXCHANGE_DOUBLE] = TRUE; if (regs[3] & (1 << 23)) - PF[PF_MMX_INSTRUCTIONS_AVAILABLE] = TRUE; + PF[PF_MMX_INSTRUCTIONS_AVAILABLE] = TRUE; if (regs[3] & (1 << 25)) - PF[PF_XMMI_INSTRUCTIONS_AVAILABLE] = TRUE; + PF[PF_XMMI_INSTRUCTIONS_AVAILABLE] = TRUE; if (regs[3] & (1 << 31)) - PF[PF_AMD3D_INSTRUCTIONS_AVAILABLE] = TRUE; + PF[PF_AMD3D_INSTRUCTIONS_AVAILABLE] = TRUE; cachedsi.dwNumberOfProcessors=1; #endif #endif /* MPLAYER */ @@ -1048,132 +1048,132 @@ static void WINAPI expGetSystemInfo(SYSTEM_INFO* si) fdiv_bug and fpu emulation flags -- alex/MPlayer */ #ifdef __linux__ { - char buf[20]; - char line[200]; - FILE *f = fopen ("/proc/cpuinfo", "r"); - - if (!f) - return; - while (fgets(line,200,f)!=NULL) { - char *s,*value; - - /* NOTE: the ':' is the only character we can rely on */ - if (!(value = strchr(line,':'))) - continue; - /* terminate the valuename */ - *value++ = '\0'; - /* skip any leading spaces */ - while (*value==' ') value++; - if ((s=strchr(value,'\n'))) - *s='\0'; - - /* 2.1 method */ - if (!lstrncmpiA(line, "cpu family",strlen("cpu family"))) { - if (isdigit (value[0])) { - switch (value[0] - '0') { - case 3: cachedsi.dwProcessorType = PROCESSOR_INTEL_386; - cachedsi.wProcessorLevel= 3; - break; - case 4: cachedsi.dwProcessorType = PROCESSOR_INTEL_486; - cachedsi.wProcessorLevel= 4; - break; - case 5: cachedsi.dwProcessorType = PROCESSOR_INTEL_PENTIUM; - cachedsi.wProcessorLevel= 5; - break; - case 6: cachedsi.dwProcessorType = PROCESSOR_INTEL_PENTIUM; - cachedsi.wProcessorLevel= 5; - break; - default:cachedsi.dwProcessorType = PROCESSOR_INTEL_PENTIUM; - cachedsi.wProcessorLevel= 5; - break; - } - } - /* set the CPU type of the current processor */ - sprintf(buf,"CPU %ld",cachedsi.dwProcessorType); - continue; - } - /* old 2.0 method */ - if (!lstrncmpiA(line, "cpu",strlen("cpu"))) { - if ( isdigit (value[0]) && value[1] == '8' && - value[2] == '6' && value[3] == 0 - ) { - switch (value[0] - '0') { - case 3: cachedsi.dwProcessorType = PROCESSOR_INTEL_386; - cachedsi.wProcessorLevel= 3; - break; - case 4: cachedsi.dwProcessorType = PROCESSOR_INTEL_486; - cachedsi.wProcessorLevel= 4; - break; - case 5: cachedsi.dwProcessorType = PROCESSOR_INTEL_PENTIUM; - cachedsi.wProcessorLevel= 5; - break; - case 6: cachedsi.dwProcessorType = PROCESSOR_INTEL_PENTIUM; - cachedsi.wProcessorLevel= 5; - break; - default:cachedsi.dwProcessorType = PROCESSOR_INTEL_PENTIUM; - cachedsi.wProcessorLevel= 5; - break; - } - } - /* set the CPU type of the current processor */ - sprintf(buf,"CPU %ld",cachedsi.dwProcessorType); - continue; - } - if (!lstrncmpiA(line,"fdiv_bug",strlen("fdiv_bug"))) { - if (!lstrncmpiA(value,"yes",3)) - PF[PF_FLOATING_POINT_PRECISION_ERRATA] = TRUE; - - continue; - } - if (!lstrncmpiA(line,"fpu",strlen("fpu"))) { - if (!lstrncmpiA(value,"no",2)) - PF[PF_FLOATING_POINT_EMULATED] = TRUE; - - continue; - } - if (!lstrncmpiA(line,"processor",strlen("processor"))) { - /* processor number counts up...*/ - unsigned int x; - - if (sscanf(value,"%d",&x)) - if (x+1>cachedsi.dwNumberOfProcessors) - cachedsi.dwNumberOfProcessors=x+1; - - /* Create a new processor subkey on a multiprocessor - * system - */ - sprintf(buf,"%d",x); - } - if (!lstrncmpiA(line,"stepping",strlen("stepping"))) { - int x; - - if (sscanf(value,"%d",&x)) - cachedsi.wProcessorRevision = x; - } - if - ( (!lstrncmpiA(line,"flags",strlen("flags"))) - || (!lstrncmpiA(line,"features",strlen("features"))) ) - { - if (strstr(value,"cx8")) - PF[PF_COMPARE_EXCHANGE_DOUBLE] = TRUE; - if (strstr(value,"mmx")) - PF[PF_MMX_INSTRUCTIONS_AVAILABLE] = TRUE; - if (strstr(value,"tsc")) - PF[PF_RDTSC_INSTRUCTION_AVAILABLE] = TRUE; - if (strstr(value,"xmm")) - PF[PF_XMMI_INSTRUCTIONS_AVAILABLE] = TRUE; - if (strstr(value,"3dnow")) - PF[PF_AMD3D_INSTRUCTIONS_AVAILABLE] = TRUE; - } - } - fclose (f); - /* - * ad hoc fix for smp machines. - * some problems on WaitForSingleObject,CreateEvent,SetEvent - * CreateThread ...etc.. - * - */ - cachedsi.dwNumberOfProcessors=1; + char buf[20]; + char line[200]; + FILE *f = fopen ("/proc/cpuinfo", "r"); + + if (!f) + return; + while (fgets(line,200,f)!=NULL) { + char *s,*value; + + /* NOTE: the ':' is the only character we can rely on */ + if (!(value = strchr(line,':'))) + continue; + /* terminate the valuename */ + *value++ = '\0'; + /* skip any leading spaces */ + while (*value==' ') value++; + if ((s=strchr(value,'\n'))) + *s='\0'; + + /* 2.1 method */ + if (!lstrncmpiA(line, "cpu family",strlen("cpu family"))) { + if (isdigit (value[0])) { + switch (value[0] - '0') { + case 3: cachedsi.dwProcessorType = PROCESSOR_INTEL_386; + cachedsi.wProcessorLevel= 3; + break; + case 4: cachedsi.dwProcessorType = PROCESSOR_INTEL_486; + cachedsi.wProcessorLevel= 4; + break; + case 5: cachedsi.dwProcessorType = PROCESSOR_INTEL_PENTIUM; + cachedsi.wProcessorLevel= 5; + break; + case 6: cachedsi.dwProcessorType = PROCESSOR_INTEL_PENTIUM; + cachedsi.wProcessorLevel= 5; + break; + default:cachedsi.dwProcessorType = PROCESSOR_INTEL_PENTIUM; + cachedsi.wProcessorLevel= 5; + break; + } + } + /* set the CPU type of the current processor */ + sprintf(buf,"CPU %ld",cachedsi.dwProcessorType); + continue; + } + /* old 2.0 method */ + if (!lstrncmpiA(line, "cpu",strlen("cpu"))) { + if ( isdigit (value[0]) && value[1] == '8' && + value[2] == '6' && value[3] == 0 + ) { + switch (value[0] - '0') { + case 3: cachedsi.dwProcessorType = PROCESSOR_INTEL_386; + cachedsi.wProcessorLevel= 3; + break; + case 4: cachedsi.dwProcessorType = PROCESSOR_INTEL_486; + cachedsi.wProcessorLevel= 4; + break; + case 5: cachedsi.dwProcessorType = PROCESSOR_INTEL_PENTIUM; + cachedsi.wProcessorLevel= 5; + break; + case 6: cachedsi.dwProcessorType = PROCESSOR_INTEL_PENTIUM; + cachedsi.wProcessorLevel= 5; + break; + default:cachedsi.dwProcessorType = PROCESSOR_INTEL_PENTIUM; + cachedsi.wProcessorLevel= 5; + break; + } + } + /* set the CPU type of the current processor */ + sprintf(buf,"CPU %ld",cachedsi.dwProcessorType); + continue; + } + if (!lstrncmpiA(line,"fdiv_bug",strlen("fdiv_bug"))) { + if (!lstrncmpiA(value,"yes",3)) + PF[PF_FLOATING_POINT_PRECISION_ERRATA] = TRUE; + + continue; + } + if (!lstrncmpiA(line,"fpu",strlen("fpu"))) { + if (!lstrncmpiA(value,"no",2)) + PF[PF_FLOATING_POINT_EMULATED] = TRUE; + + continue; + } + if (!lstrncmpiA(line,"processor",strlen("processor"))) { + /* processor number counts up...*/ + unsigned int x; + + if (sscanf(value,"%d",&x)) + if (x+1>cachedsi.dwNumberOfProcessors) + cachedsi.dwNumberOfProcessors=x+1; + + /* Create a new processor subkey on a multiprocessor + * system + */ + sprintf(buf,"%d",x); + } + if (!lstrncmpiA(line,"stepping",strlen("stepping"))) { + int x; + + if (sscanf(value,"%d",&x)) + cachedsi.wProcessorRevision = x; + } + if + ( (!lstrncmpiA(line,"flags",strlen("flags"))) + || (!lstrncmpiA(line,"features",strlen("features"))) ) + { + if (strstr(value,"cx8")) + PF[PF_COMPARE_EXCHANGE_DOUBLE] = TRUE; + if (strstr(value,"mmx")) + PF[PF_MMX_INSTRUCTIONS_AVAILABLE] = TRUE; + if (strstr(value,"tsc")) + PF[PF_RDTSC_INSTRUCTION_AVAILABLE] = TRUE; + if (strstr(value,"xmm")) + PF[PF_XMMI_INSTRUCTIONS_AVAILABLE] = TRUE; + if (strstr(value,"3dnow")) + PF[PF_AMD3D_INSTRUCTIONS_AVAILABLE] = TRUE; + } + } + fclose (f); + /* + * ad hoc fix for smp machines. + * some problems on WaitForSingleObject,CreateEvent,SetEvent + * CreateThread ...etc.. + * + */ + cachedsi.dwNumberOfProcessors=1; } #endif /* __linux__ */ cache = 1; @@ -1187,8 +1187,8 @@ static WIN_BOOL WINAPI expIsProcessorFeaturePresent(DWORD v) WIN_BOOL result = 0; if (!pf_set) { - SYSTEM_INFO si; - expGetSystemInfo(&si); + SYSTEM_INFO si; + expGetSystemInfo(&si); } if(v<64) result=PF[v]; dbgprintf("IsProcessorFeaturePresent(0x%x) => 0x%x\n", v, result); @@ -1207,9 +1207,9 @@ static HANDLE WINAPI expHeapCreate(long flags, long init_size, long max_size) // printf("HeapCreate:"); HANDLE result; if(init_size==0) - result=(HANDLE)my_mreq(0x110000, 0); + result=(HANDLE)my_mreq(0x110000, 0); else - result=(HANDLE)my_mreq((init_size + 0xfff) & 0x7ffff000 , 0); + result=(HANDLE)my_mreq((init_size + 0xfff) & 0x7ffff000 , 0); dbgprintf("HeapCreate(flags 0x%x, initial size %d, maximum size %d) => 0x%x\n", flags, init_size, max_size, result); return result; } @@ -1233,7 +1233,7 @@ static void* WINAPI expHeapAlloc(HANDLE heap, int flags, int size) //if (size == 22276) trapbug(); z=my_mreq((size + 0xfff) & 0x7ffff000, (flags & HEAP_ZERO_MEMORY)); if(z==0) - printf("HeapAlloc failure\n"); + printf("HeapAlloc failure\n"); dbgprintf("HeapAlloc(heap 0x%x, flags 0x%x, size %d) => 0x%x\n", heap, flags, size, z); heapfreehack = 0; // reset return z; @@ -1249,15 +1249,15 @@ static long WINAPI expHeapFree(HANDLE heap, DWORD dwFlags, LPVOID lpMem) { dbgprintf("HeapFree(0x%x, 0x%x, pointer 0x%x) => 1\n", heap, dwFlags, lpMem); if (heapfreehack != lpMem && lpMem != (void*)0xffffffff - && lpMem != (void*)0xbdbdbdbd) - // 0xbdbdbdbd is for i263_drv.drv && libefence - // it seems to be reading from relased memory + && lpMem != (void*)0xbdbdbdbd) + // 0xbdbdbdbd is for i263_drv.drv && libefence + // it seems to be reading from relased memory // EF_PROTECT_FREE doens't show any probleme - my_release(lpMem); + my_release(lpMem); else { - if (!heapfreehackshown++) - printf("Info: HeapFree deallocating same memory twice! (%p)\n", lpMem); + if (!heapfreehackshown++) + printf("Info: HeapFree deallocating same memory twice! (%p)\n", lpMem); } heapfreehack = lpMem; return 1; @@ -1283,7 +1283,7 @@ static void* WINAPI expVirtualAlloc(void* v1, long v2, long v3, long v4) { void* z = VirtualAlloc(v1, v2, v3, v4); if(z==0) - printf("VirtualAlloc failure\n"); + printf("VirtualAlloc failure\n"); dbgprintf("VirtualAlloc(0x%x, %d, %d, %d) => 0x%x \n",v1,v2,v3,v4, z); return z; } @@ -1317,8 +1317,8 @@ static int critsecs_get_pos(CRITICAL_SECTION *cs_win) int i; for (i=0; i < CRITSECS_LIST_MAX; i++) - if (critsecs_list[i].cs_win == cs_win) - return(i); + if (critsecs_list[i].cs_win == cs_win) + return(i); return(-1); } @@ -1327,8 +1327,8 @@ static int critsecs_get_unused(void) int i; for (i=0; i < CRITSECS_LIST_MAX; i++) - if (critsecs_list[i].cs_win == NULL) - return(i); + if (critsecs_list[i].cs_win == NULL) + return(i); return(-1); } @@ -1337,8 +1337,8 @@ struct CRITSECT *critsecs_get_unix(CRITICAL_SECTION *cs_win) int i; for (i=0; i < CRITSECS_LIST_MAX; i++) - if (critsecs_list[i].cs_win == cs_win && critsecs_list[i].cs_unix) - return(critsecs_list[i].cs_unix); + if (critsecs_list[i].cs_win == cs_win && critsecs_list[i].cs_unix) + return(critsecs_list[i].cs_unix); return(NULL); } #endif @@ -1355,36 +1355,36 @@ static void WINAPI expInitializeCriticalSection(CRITICAL_SECTION* c) /* pthread_mutex_init((pthread_mutex_t*)c, NULL); */ #ifdef CRITSECS_NEWTYPE { - struct CRITSECT *cs; - int i = critsecs_get_unused(); - - if (i < 0) - { - printf("InitializeCriticalSection(%p) - no more space in list\n", c); - return; - } - dbgprintf("got unused space at %d\n", i); - cs = malloc(sizeof(struct CRITSECT)); - if (!cs) - { - printf("InitializeCriticalSection(%p) - out of memory\n", c); - return; - } - pthread_mutex_init(&cs->mutex, NULL); - cs->locked = 0; - critsecs_list[i].cs_win = c; - critsecs_list[i].cs_unix = cs; - dbgprintf("InitializeCriticalSection -> itemno=%d, cs_win=%p, cs_unix=%p\n", - i, c, cs); + struct CRITSECT *cs; + int i = critsecs_get_unused(); + + if (i < 0) + { + printf("InitializeCriticalSection(%p) - no more space in list\n", c); + return; + } + dbgprintf("got unused space at %d\n", i); + cs = malloc(sizeof(struct CRITSECT)); + if (!cs) + { + printf("InitializeCriticalSection(%p) - out of memory\n", c); + return; + } + pthread_mutex_init(&cs->mutex, NULL); + cs->locked = 0; + critsecs_list[i].cs_win = c; + critsecs_list[i].cs_unix = cs; + dbgprintf("InitializeCriticalSection -> itemno=%d, cs_win=%p, cs_unix=%p\n", + i, c, cs); } #else { - struct CRITSECT* cs = mreq_private(sizeof(struct CRITSECT) + sizeof(CRITICAL_SECTION), - 0, AREATYPE_CRITSECT); - pthread_mutex_init(&cs->mutex, NULL); - cs->locked=0; + struct CRITSECT* cs = mreq_private(sizeof(struct CRITSECT) + sizeof(CRITICAL_SECTION), + 0, AREATYPE_CRITSECT); + pthread_mutex_init(&cs->mutex, NULL); + cs->locked=0; cs->deadbeef = 0xdeadbeef; - *(void**)c = cs; + *(void**)c = cs; } #endif return; @@ -1400,18 +1400,18 @@ static void WINAPI expEnterCriticalSection(CRITICAL_SECTION* c) dbgprintf("EnterCriticalSection(0x%x) %p\n",c, cs); if (!cs) { - dbgprintf("entered uninitialized critisec!\n"); - expInitializeCriticalSection(c); + dbgprintf("entered uninitialized critisec!\n"); + expInitializeCriticalSection(c); #ifdef CRITSECS_NEWTYPE - cs=critsecs_get_unix(c); + cs=critsecs_get_unix(c); #else - cs = (*(struct CRITSECT**)c); + cs = (*(struct CRITSECT**)c); #endif - dbgprintf("Win32 Warning: Accessed uninitialized Critical Section (%p)!\n", c); + dbgprintf("Win32 Warning: Accessed uninitialized Critical Section (%p)!\n", c); } if(cs->locked) - if(cs->id==pthread_self()) - return; + if(cs->id==pthread_self()) + return; pthread_mutex_lock(&(cs->mutex)); cs->locked=1; cs->id=pthread_self(); @@ -1428,16 +1428,16 @@ static void WINAPI expLeaveCriticalSection(CRITICAL_SECTION* c) dbgprintf("LeaveCriticalSection(0x%x) 0x%x\n",c, cs); if (!cs) { - dbgprintf("Win32 Warning: Leaving uninitialized Critical Section %p!!\n", c); - return; + dbgprintf("Win32 Warning: Leaving uninitialized Critical Section %p!!\n", c); + return; } if (cs->locked) { - cs->locked=0; - pthread_mutex_unlock(&(cs->mutex)); + cs->locked=0; + pthread_mutex_unlock(&(cs->mutex)); } else - dbgprintf("Win32 Warning: Unlocking unlocked Critical Section %p!!\n", c); + dbgprintf("Win32 Warning: Unlocking unlocked Critical Section %p!!\n", c); return; } @@ -1455,14 +1455,14 @@ static void WINAPI expDeleteCriticalSection(CRITICAL_SECTION *c) if (!cs) { - dbgprintf("Win32 Warning: Deleting uninitialized Critical Section %p!!\n", c); - return; + dbgprintf("Win32 Warning: Deleting uninitialized Critical Section %p!!\n", c); + return; } - + if (cs->locked) { - dbgprintf("Win32 Warning: Deleting unlocked Critical Section %p!!\n", c); - pthread_mutex_unlock(&(cs->mutex)); + dbgprintf("Win32 Warning: Deleting unlocked Critical Section %p!!\n", c); + pthread_mutex_unlock(&(cs->mutex)); } #ifndef GARBAGE @@ -1472,18 +1472,18 @@ static void WINAPI expDeleteCriticalSection(CRITICAL_SECTION *c) my_release(cs); #ifdef CRITSECS_NEWTYPE { - int i = critsecs_get_pos(c); + int i = critsecs_get_pos(c); - if (i < 0) - { - printf("DeleteCriticalSection(%p) error (critsec not found)\n", c); - return; - } + if (i < 0) + { + printf("DeleteCriticalSection(%p) error (critsec not found)\n", c); + return; + } - critsecs_list[i].cs_win = NULL; - expfree(critsecs_list[i].cs_unix); - critsecs_list[i].cs_unix = NULL; - dbgprintf("DeleteCriticalSection -> itemno=%d\n", i); + critsecs_list[i].cs_win = NULL; + expfree(critsecs_list[i].cs_unix); + critsecs_list[i].cs_unix = NULL; + dbgprintf("DeleteCriticalSection -> itemno=%d\n", i); } #endif return; @@ -1511,12 +1511,12 @@ static int WINAPI expTlsAlloc() { int i; for(i=0; i<64; i++) - if(tls_use_map[i]==0) - { - tls_use_map[i]=1; - dbgprintf("TlsAlloc() => %d\n",i); - return i; - } + if(tls_use_map[i]==0) + { + tls_use_map[i]=1; + dbgprintf("TlsAlloc() => %d\n",i); + return i; + } dbgprintf("TlsAlloc() => -1 (ERROR)\n"); return -1; } @@ -1527,7 +1527,7 @@ static int WINAPI expTlsSetValue(int index, void* value) dbgprintf("TlsSetValue(%d,0x%x) => 1\n",index,value); // if((index<0) || (index>64)) if((index>=64)) - return 0; + return 0; *(void**)((char*)fs_seg+0x88+4*index) = value; return 1; } @@ -1545,7 +1545,7 @@ static int WINAPI expTlsFree(int idx) int index = (int) idx; dbgprintf("TlsFree(%d)\n",index); if((index<0) || (index>64)) - return 0; + return 0; tls_use_map[index]=0; return 1; } @@ -1562,19 +1562,19 @@ static void* WINAPI expTlsAlloc() { if (g_tls == NULL) { - g_tls=my_mreq(sizeof(tls_t), 0); - g_tls->next=g_tls->prev=NULL; + g_tls=my_mreq(sizeof(tls_t), 0); + g_tls->next=g_tls->prev=NULL; } else { - g_tls->next=my_mreq(sizeof(tls_t), 0); - g_tls->next->prev=g_tls; - g_tls->next->next=NULL; - g_tls=g_tls->next; + g_tls->next=my_mreq(sizeof(tls_t), 0); + g_tls->next->prev=g_tls; + g_tls->next->next=NULL; + g_tls=g_tls->next; } dbgprintf("TlsAlloc() => 0x%x\n", g_tls); if (g_tls) - g_tls->value=0; /* XXX For Divx.dll */ + g_tls->value=0; /* XXX For Divx.dll */ return g_tls; } @@ -1583,11 +1583,11 @@ static int WINAPI expTlsSetValue(void* idx, void* value) tls_t* index = (tls_t*) idx; int result; if(index==0) - result=0; + result=0; else { - index->value=value; - result=1; + index->value=value; + result=1; } dbgprintf("TlsSetValue(index 0x%x, value 0x%x) => %d \n", index, value, result ); return result; @@ -1597,9 +1597,9 @@ static void* WINAPI expTlsGetValue(void* idx) tls_t* index = (tls_t*) idx; void* result; if(index==0) - result=0; + result=0; else - result=index->value; + result=index->value; dbgprintf("TlsGetValue(index 0x%x) => 0x%x\n", index, result); return result; } @@ -1608,17 +1608,17 @@ static int WINAPI expTlsFree(void* idx) tls_t* index = (tls_t*) idx; int result; if(index==0) - result=0; + result=0; else { - if(index->next) - index->next->prev=index->prev; - if(index->prev) - index->prev->next=index->next; - if (g_tls == index) + if(index->next) + index->next->prev=index->prev; + if(index->prev) + index->prev->next=index->next; + if (g_tls == index) g_tls = index->prev; - my_release((void*)index); - result=1; + my_release((void*)index); + result=1; } dbgprintf("TlsFree(index 0x%x) => %d\n", index, result); return result; @@ -1629,7 +1629,7 @@ static void* WINAPI expLocalAlloc(int flags, int size) { void* z = my_mreq(size, (flags & GMEM_ZEROINIT)); if (z == 0) - printf("LocalAlloc() failed\n"); + printf("LocalAlloc() failed\n"); dbgprintf("LocalAlloc(%d, flags 0x%x) => 0x%x\n", size, flags, z); return z; } @@ -1641,8 +1641,8 @@ static void* WINAPI expLocalReAlloc(int handle,int size, int flags) newpointer=NULL; if (flags & LMEM_MODIFY) { - dbgprintf("LocalReAlloc MODIFY\n"); - return (void *)handle; + dbgprintf("LocalReAlloc MODIFY\n"); + return (void *)handle; } oldsize = my_size((void *)handle); newpointer = my_realloc((void *)handle,size); @@ -1666,7 +1666,7 @@ static void* WINAPI expGlobalAlloc(int flags, int size) //z=calloc(size, 1); //z=malloc(size); if(z==0) - printf("GlobalAlloc() failed\n"); + printf("GlobalAlloc() failed\n"); dbgprintf("GlobalAlloc(%d, flags 0x%x) => 0x%x\n", size, flags, z); return z; } @@ -1683,23 +1683,23 @@ static int WINAPI expGlobalSize(void* amem) alloc_header* header = last_alloc; alloc_header* mem = (alloc_header*) amem - 1; if (amem == 0) - return 0; + return 0; pthread_mutex_lock(&memmut); while (header) { - if (header->deadbeef != 0xdeadbeef) - { - dbgprintf("FATAL found corrupted memory! %p 0x%lx (%d)\n", header, header->deadbeef, alccnt); - break; - } + if (header->deadbeef != 0xdeadbeef) + { + dbgprintf("FATAL found corrupted memory! %p 0x%lx (%d)\n", header, header->deadbeef, alccnt); + break; + } - if (header == mem) - { - size = header->size; - break; - } + if (header == mem) + { + size = header->size; + break; + } - header = header->prev; + header = header->prev; } pthread_mutex_unlock(&memmut); #endif @@ -1719,10 +1719,10 @@ static int WINAPI expLoadStringA(long instance, long id, void* buf, long size) int result=LoadStringA(instance, id, buf, size); // if(buf) dbgprintf("LoadStringA(instance 0x%x, id 0x%x, buffer 0x%x, size %d) => %d ( %s )\n", - instance, id, buf, size, result, buf); + instance, id, buf, size, result, buf); // else // dbgprintf("LoadStringA(instance 0x%x, id 0x%x, buffer 0x%x, size %d) => %d\n", - // instance, id, buf, size, result); + // instance, id, buf, size, result); return result; } @@ -1732,27 +1732,27 @@ static long WINAPI expMultiByteToWideChar(long v1, long v2, char* s1, long siz1, int i; int result; if(s2==0) - result=1; + result=1; else { - if(siz1>siz2/2)siz1=siz2/2; - for(i=1; i<=siz1; i++) - { - *s2=*s1; - if(!*s1)break; - s2++; - s1++; - } - result=i; + if(siz1>siz2/2)siz1=siz2/2; + for(i=1; i<=siz1; i++) + { + *s2=*s1; + if(!*s1)break; + s2++; + s1++; + } + result=i; } if(s1) - dbgprintf("MultiByteToWideChar(codepage %d, flags 0x%x, string 0x%x='%s'," - "size %d, dest buffer 0x%x, dest size %d) => %d\n", - v1, v2, s1, s1, siz1, s2, siz2, result); + dbgprintf("MultiByteToWideChar(codepage %d, flags 0x%x, string 0x%x='%s'," + "size %d, dest buffer 0x%x, dest size %d) => %d\n", + v1, v2, s1, s1, siz1, s2, siz2, result); else - dbgprintf("MultiByteToWideChar(codepage %d, flags 0x%x, string NULL," - "size %d, dest buffer 0x%x, dest size %d) =>\n", - v1, v2, siz1, s2, siz2, result); + dbgprintf("MultiByteToWideChar(codepage %d, flags 0x%x, string NULL," + "size %d, dest buffer 0x%x, dest size %d) =>\n", + v1, v2, siz1, s2, siz2, result); return result; } static void wch_print(const short* str) @@ -1762,11 +1762,11 @@ static void wch_print(const short* str) dbgprintf("\n"); } static long WINAPI expWideCharToMultiByte(long v1, long v2, short* s1, long siz1, - char* s2, int siz2, char* c3, int* siz3) + char* s2, int siz2, char* c3, int* siz3) { int result; dbgprintf("WideCharToMultiByte(codepage %d, flags 0x%x, src 0x%x, src size %d, " - "dest 0x%x, dest size %d, defch 0x%x, used_defch 0x%x)", v1, v2, s1, siz1, s2, siz2, c3, siz3); + "dest 0x%x, dest size %d, defch 0x%x, used_defch 0x%x)", v1, v2, s1, siz1, s2, siz2, c3, siz3); result=WideCharToMultiByte(v1, v2, s1, siz1, s2, siz2, c3, siz3); dbgprintf("=> %d\n", result); //if(s1)wch_print(s1); @@ -1789,11 +1789,11 @@ static long WINAPI expGetVersionExA(OSVERSIONINFOA* c) strcpy(c->szCSDVersion, "Service Pack 3"); #endif dbgprintf(" Major version: 4\n Minor version: 0\n Build number: 0x4000457\n" - " Platform Id: VER_PLATFORM_WIN32_NT\n Version string: 'Service Pack 3'\n"); + " Platform Id: VER_PLATFORM_WIN32_NT\n Version string: 'Service Pack 3'\n"); return 1; } static HANDLE WINAPI expCreateSemaphoreA(char* v1, long init_count, - long max_count, char* name) + long max_count, char* name) { pthread_mutex_t *pm; pthread_cond_t *pc; @@ -1810,17 +1810,17 @@ static HANDLE WINAPI expCreateSemaphoreA(char* v1, long init_count, */ if(mlist!=NULL) { - mutex_list* pp=mlist; - if(name!=NULL) - do - { - if((strcmp(pp->name, name)==0) && (pp->type==1)) - { - dbgprintf("CreateSemaphoreA(0x%x, init_count %d, max_count %d, name 0x%x='%s') => 0x%x\n", - v1, init_count, max_count, name, name, mlist); - return (HANDLE)mlist; - } - }while((pp=pp->prev) != NULL); + mutex_list* pp=mlist; + if(name!=NULL) + do + { + if((strcmp(pp->name, name)==0) && (pp->type==1)) + { + dbgprintf("CreateSemaphoreA(0x%x, init_count %d, max_count %d, name 0x%x='%s') => 0x%x\n", + v1, init_count, max_count, name, name, mlist); + return (HANDLE)mlist; + } + }while((pp=pp->prev) != NULL); } pm=mreq_private(sizeof(pthread_mutex_t), 0, AREATYPE_MUTEX); pthread_mutex_init(pm, NULL); @@ -1828,16 +1828,16 @@ static HANDLE WINAPI expCreateSemaphoreA(char* v1, long init_count, pthread_cond_init(pc, NULL); if(mlist==NULL) { - mlist=mreq_private(sizeof(mutex_list), 00, AREATYPE_EVENT); - mlist->next=mlist->prev=NULL; + mlist=mreq_private(sizeof(mutex_list), 00, AREATYPE_EVENT); + mlist->next=mlist->prev=NULL; } else { - mlist->next=mreq_private(sizeof(mutex_list), 00, AREATYPE_EVENT); - mlist->next->prev=mlist; - mlist->next->next=NULL; - mlist=mlist->next; - // printf("new semaphore %p\n", mlist); + mlist->next=mreq_private(sizeof(mutex_list), 00, AREATYPE_EVENT); + mlist->next->prev=mlist; + mlist->next->next=NULL; + mlist=mlist->next; + // printf("new semaphore %p\n", mlist); } mlist->type=1; /* Type Semaphore */ mlist->pm=pm; @@ -1846,17 +1846,17 @@ static HANDLE WINAPI expCreateSemaphoreA(char* v1, long init_count, mlist->reset=0; mlist->semaphore=init_count; if(name!=NULL) - strncpy(mlist->name, name, 64); + strncpy(mlist->name, name, 64); else - mlist->name[0]=0; + mlist->name[0]=0; if(pm==NULL) - dbgprintf("ERROR::: CreateSemaphoreA failure\n"); + dbgprintf("ERROR::: CreateSemaphoreA failure\n"); if(name) - dbgprintf("CreateSemaphoreA(0x%x, init_count %d, max_count %d, name 0x%x='%s') => 0x%x\n", - v1, init_count, max_count, name, name, mlist); + dbgprintf("CreateSemaphoreA(0x%x, init_count %d, max_count %d, name 0x%x='%s') => 0x%x\n", + v1, init_count, max_count, name, name, mlist); else - dbgprintf("CreateSemaphoreA(0x%x, init_count %d, max_count %d, name 0) => 0x%x\n", - v1, init_count, max_count, mlist); + dbgprintf("CreateSemaphoreA(0x%x, init_count %d, max_count %d, name 0) => 0x%x\n", + v1, init_count, max_count, mlist); return (HANDLE)mlist; } @@ -1874,7 +1874,7 @@ static long WINAPI expReleaseSemaphore(long hsem, long increment, long* prev_cou ml->semaphore += increment; pthread_mutex_unlock(ml->pm); dbgprintf("ReleaseSemaphore(semaphore 0x%x, increment %d, prev_count 0x%x) => 1\n", - hsem, increment, prev_count); + hsem, increment, prev_count); return 1; } @@ -1883,7 +1883,7 @@ static long WINAPI expRegOpenKeyExA(long key, const char* subkey, long reserved, { long result=RegOpenKeyExA(key, subkey, reserved, access, newkey); dbgprintf("RegOpenKeyExA(key 0x%x, subkey %s, reserved %d, access 0x%x, pnewkey 0x%x) => %d\n", - key, subkey, reserved, access, newkey, result); + key, subkey, reserved, access, newkey, result); if(newkey)dbgprintf(" New key: 0x%x\n", *newkey); return result; } @@ -1897,7 +1897,7 @@ static long WINAPI expRegQueryValueExA(long key, const char* value, int* reserve { long result=RegQueryValueExA(key, value, reserved, type, data, count); dbgprintf("RegQueryValueExA(key 0x%x, value %s, reserved 0x%x, data 0x%x, count 0x%x)" - " => 0x%x\n", key, value, reserved, data, count, result); + " => 0x%x\n", key, value, reserved, data, count, result); if(data && count)dbgprintf(" read %d bytes: '%s'\n", *count, data); return result; } @@ -1911,13 +1911,13 @@ static long WINAPI expRegCreateKeyA(long hkey, const char* name, int *retkey) } static long WINAPI expRegCreateKeyExA(long key, const char* name, long reserved, - void* classs, long options, long security, - void* sec_attr, int* newkey, int* status) + void* classs, long options, long security, + void* sec_attr, int* newkey, int* status) { long result=RegCreateKeyExA(key, name, reserved, classs, options, security, sec_attr, newkey, status); dbgprintf("RegCreateKeyExA(key 0x%x, name 0x%x='%s', reserved=0x%x," - " 0x%x, 0x%x, 0x%x, newkey=0x%x, status=0x%x) => %d\n", - key, name, name, reserved, classs, options, security, sec_attr, newkey, status, result); + " 0x%x, 0x%x, 0x%x, newkey=0x%x, status=0x%x) => %d\n", + key, name, name, reserved, classs, options, security, sec_attr, newkey, status, result); if(!result && newkey) dbgprintf(" New key: 0x%x\n", *newkey); if(!result && status) dbgprintf(" New key status: 0x%x\n", *status); return result; @@ -1926,7 +1926,7 @@ static long WINAPI expRegSetValueExA(long key, const char* name, long v1, long v { long result=RegSetValueExA(key, name, v1, v2, data, size); dbgprintf("RegSetValueExA(key 0x%x, name '%s', 0x%x, 0x%x, data 0x%x -> 0x%x '%s', size=%d) => %d", - key, name, v1, v2, data, *(int*)data, data, size, result); + key, name, v1, v2, data, *(int*)data, data, size, result); return result; } @@ -1934,24 +1934,24 @@ static long WINAPI expRegOpenKeyA (long hKey, LPCSTR lpSubKey, int* phkResult) { long result=RegOpenKeyExA(hKey, lpSubKey, 0, 0, phkResult); dbgprintf("RegOpenKeyExA(key 0x%x, subkey '%s', 0x%x) => %d\n", - hKey, lpSubKey, phkResult, result); + hKey, lpSubKey, phkResult, result); if(!result && phkResult) dbgprintf(" New key: 0x%x\n", *phkResult); return result; } static DWORD WINAPI expRegEnumValueA(HKEY hkey, DWORD index, LPSTR value, LPDWORD val_count, - LPDWORD reserved, LPDWORD type, LPBYTE data, LPDWORD count) + LPDWORD reserved, LPDWORD type, LPBYTE data, LPDWORD count) { return RegEnumValueA(hkey, index, value, val_count, - reserved, type, data, count); + reserved, type, data, count); } static DWORD WINAPI expRegEnumKeyExA(HKEY hKey, DWORD dwIndex, LPSTR lpName, LPDWORD lpcbName, - LPDWORD lpReserved, LPSTR lpClass, LPDWORD lpcbClass, - LPFILETIME lpftLastWriteTime) + LPDWORD lpReserved, LPSTR lpClass, LPDWORD lpcbClass, + LPFILETIME lpftLastWriteTime) { return RegEnumKeyExA(hKey, dwIndex, lpName, lpcbName, lpReserved, lpClass, - lpcbClass, lpftLastWriteTime); + lpcbClass, lpftLastWriteTime); } static long WINAPI expQueryPerformanceCounter(long long* z) @@ -1984,24 +1984,24 @@ static double linux_cpuinfo_freq() f = fopen ("/proc/cpuinfo", "r"); if (f != NULL) { - while (fgets(line,sizeof(line),f)!=NULL) { - /* NOTE: the ':' is the only character we can rely on */ - if (!(value = strchr(line,':'))) - continue; - /* terminate the valuename */ - *value++ = '\0'; - /* skip any leading spaces */ - while (*value==' ') value++; - if ((s=strchr(value,'\n'))) - *s='\0'; - - if (!strncasecmp(line, "cpu MHz",strlen("cpu MHz")) - && sscanf(value, "%lf", &freq) == 1) { - freq*=1000; - break; - } - } - fclose(f); + while (fgets(line,sizeof(line),f)!=NULL) { + /* NOTE: the ':' is the only character we can rely on */ + if (!(value = strchr(line,':'))) + continue; + /* terminate the valuename */ + *value++ = '\0'; + /* skip any leading spaces */ + while (*value==' ') value++; + if ((s=strchr(value,'\n'))) + *s='\0'; + + if (!strncasecmp(line, "cpu MHz",strlen("cpu MHz")) + && sscanf(value, "%lf", &freq) == 1) { + freq*=1000; + break; + } + } + fclose(f); } return freq; } @@ -2009,7 +2009,7 @@ static double linux_cpuinfo_freq() static double solaris_kstat_freq() { -#if defined(HAVE_LIBKSTAT) && defined(KSTAT_DATA_INT32) +#if defined(HAVE_LIBKSTAT) && defined(KSTAT_DATA_INT32) /* * try to extract the CPU speed from the solaris kernel's kstat data */ @@ -2021,30 +2021,30 @@ static double solaris_kstat_freq() kc = kstat_open(); if (kc != NULL) { - ksp = kstat_lookup(kc, "cpu_info", 0, "cpu_info0"); - - /* kstat found and name/value pairs? */ - if (ksp != NULL && ksp->ks_type == KSTAT_TYPE_NAMED) - { - /* read the kstat data from the kernel */ - if (kstat_read(kc, ksp, NULL) != -1) - { - /* - * lookup desired "clock_MHz" entry, check the expected - * data type - */ - kdata = (kstat_named_t *)kstat_data_lookup(ksp, "clock_MHz"); - if (kdata != NULL && kdata->data_type == KSTAT_DATA_INT32) - mhz = kdata->value.i32; - } - } - kstat_close(kc); + ksp = kstat_lookup(kc, "cpu_info", 0, "cpu_info0"); + + /* kstat found and name/value pairs? */ + if (ksp != NULL && ksp->ks_type == KSTAT_TYPE_NAMED) + { + /* read the kstat data from the kernel */ + if (kstat_read(kc, ksp, NULL) != -1) + { + /* + * lookup desired "clock_MHz" entry, check the expected + * data type + */ + kdata = (kstat_named_t *)kstat_data_lookup(ksp, "clock_MHz"); + if (kdata != NULL && kdata->data_type == KSTAT_DATA_INT32) + mhz = kdata->value.i32; + } + } + kstat_close(kc); } if (mhz > 0) - return mhz * 1000.; -#endif /* HAVE_LIBKSTAT */ - return -1; // kstat stuff is not available, CPU freq is unknown + return mhz * 1000.; +#endif /* HAVE_LIBKSTAT */ + return -1; // kstat stuff is not available, CPU freq is unknown } /* @@ -2071,10 +2071,10 @@ static double CPU_Freq() double freq; if ((freq = linux_cpuinfo_freq()) > 0) - return freq; + return freq; if ((freq = solaris_kstat_freq()) > 0) - return freq; + return freq; return tsc_freq(); } @@ -2144,7 +2144,7 @@ static HRSRC WINAPI expFindResourceA(HMODULE module, char* name, char* type) result=FindResourceA(module, name, type); dbgprintf("FindResourceA(module 0x%x, name 0x%x(%s), type 0x%x(%s)) => 0x%x\n", - module, name, HIWORD(name) ? name : "UNICODE", type, HIWORD(type) ? type : "UNICODE", result); + module, name, HIWORD(name) ? name : "UNICODE", type, HIWORD(type) ? type : "UNICODE", result); return result; } @@ -2174,8 +2174,8 @@ static int WINAPI expCloseHandle(long v1) dbgprintf("CloseHandle(0x%x) => 1\n", v1); /* do not close stdin,stdout and stderr */ if (v1 > 2) - if (!close(v1)) - return 0; + if (!close(v1)) + return 0; return 1; } @@ -2249,13 +2249,13 @@ static int WINAPI expGetStartupInfoA(STARTUPINFOA *s) dbgprintf(" lpDesktop='%s'\n", s->lpDesktop); dbgprintf(" lpTitle='%s'\n", s->lpTitle); dbgprintf(" dwX=%d dwY=%d dwXSize=%d dwYSize=%d\n", - s->dwX, s->dwY, s->dwXSize, s->dwYSize); + s->dwX, s->dwY, s->dwXSize, s->dwYSize); dbgprintf(" dwXCountChars=%d dwYCountChars=%d dwFillAttribute=%d\n", - s->dwXCountChars, s->dwYCountChars, s->dwFillAttribute); + s->dwXCountChars, s->dwYCountChars, s->dwFillAttribute); dbgprintf(" dwFlags=0x%x wShowWindow=0x%x cbReserved2=0x%x\n", - s->dwFlags, s->wShowWindow, s->cbReserved2); + s->dwFlags, s->wShowWindow, s->cbReserved2); dbgprintf(" lpReserved2=0x%x hStdInput=0x%x hStdOutput=0x%x hStdError=0x%x\n", - s->lpReserved2, s->hStdInput, s->hStdOutput, s->hStdError); + s->lpReserved2, s->hStdInput, s->hStdOutput, s->hStdError); return 1; } @@ -2266,8 +2266,8 @@ static int WINAPI expGetStdHandle(int z) } #ifdef QTX -#define FILE_HANDLE_quicktimeqts ((HANDLE)0x444) -#define FILE_HANDLE_quicktimeqtx ((HANDLE)0x445) +#define FILE_HANDLE_quicktimeqts ((HANDLE)0x444) +#define FILE_HANDLE_quicktimeqtx ((HANDLE)0x445) #endif static int WINAPI expGetFileType(int handle) @@ -2280,7 +2280,7 @@ static int WINAPI expGetFileAttributesA(char *filename) { dbgprintf("GetFileAttributesA(%s) => FILE_ATTR_NORMAL\n", filename); if (strstr(filename, "QuickTime.qts")) - return FILE_ATTRIBUTE_SYSTEM; + return FILE_ATTRIBUTE_SYSTEM; return FILE_ATTRIBUTE_NORMAL; } #endif @@ -2303,34 +2303,34 @@ static int WINAPI expGetModuleFileNameA(int module, char* s, int len) if (module == 0 && len >= 12) { - /* return caller program name */ - strcpy(s, "aviplay.dll"); - result=1; + /* return caller program name */ + strcpy(s, "aviplay.dll"); + result=1; } else if(s==0) - result=0; - else - if(len<35) - result=0; + result=0; else - { - result=1; - strcpy(s, "c:\\windows\\system\\"); - mr=MODULE32_LookupHMODULE(module); - if(mr==0)//oops - strcat(s, "aviplay.dll"); - else - if(strrchr(mr->filename, '/')==NULL) - strcat(s, mr->filename); - else - strcat(s, strrchr(mr->filename, '/')+1); - } + if(len<35) + result=0; + else + { + result=1; + strcpy(s, "c:\\windows\\system\\"); + mr=MODULE32_LookupHMODULE(module); + if(mr==0)//oops + strcat(s, "aviplay.dll"); + else + if(strrchr(mr->filename, '/')==NULL) + strcat(s, mr->filename); + else + strcat(s, strrchr(mr->filename, '/')+1); + } if(!s) - dbgprintf("GetModuleFileNameA(0x%x, 0x%x, %d) => %d\n", - module, s, len, result); + dbgprintf("GetModuleFileNameA(0x%x, 0x%x, %d) => %d\n", + module, s, len, result); else - dbgprintf("GetModuleFileNameA(0x%x, 0x%x, %d) => %d ( '%s' )\n", - module, s, len, result, s); + dbgprintf("GetModuleFileNameA(0x%x, 0x%x, %d) => %d ( '%s' )\n", + module, s, len, result, s); return result; } @@ -2346,7 +2346,7 @@ static int WINAPI expLoadLibraryA(char* name) char* lastbc; int i; if (!name) - return -1; + return -1; // we skip to the last backslash // this is effectively eliminating weird characters in // the text output windows @@ -2354,14 +2354,14 @@ static int WINAPI expLoadLibraryA(char* name) lastbc = strrchr(name, '\\'); if (lastbc) { - int i; - lastbc++; - for (i = 0; 1 ;i++) - { - name[i] = *lastbc++; - if (!name[i]) - break; - } + int i; + lastbc++; + for (i = 0; 1 ;i++) + { + name[i] = *lastbc++; + if (!name[i]) + break; + } } if(strncmp(name, "c:\\windows\\", 11)==0) name += 11; if(strncmp(name, ".\\", 2)==0) name += 2; @@ -2370,31 +2370,31 @@ static int WINAPI expLoadLibraryA(char* name) // PIMJ and VIVO audio are loading kernel32.dll if (strcasecmp(name, "kernel32.dll") == 0 || strcasecmp(name, "kernel32") == 0) - return MODULE_HANDLE_kernel32; -// return ERROR_SUCCESS; /* yeah, we have also the kernel32 calls */ - /* exported -> do not return failed! */ + return MODULE_HANDLE_kernel32; +// return ERROR_SUCCESS; /* yeah, we have also the kernel32 calls */ + /* exported -> do not return failed! */ if (strcasecmp(name, "user32.dll") == 0 || strcasecmp(name, "user32") == 0) -// return MODULE_HANDLE_kernel32; - return MODULE_HANDLE_user32; +// return MODULE_HANDLE_kernel32; + return MODULE_HANDLE_user32; #ifdef QTX if (strcasecmp(name, "wininet.dll") == 0 || strcasecmp(name, "wininet") == 0) - return MODULE_HANDLE_wininet; + return MODULE_HANDLE_wininet; if (strcasecmp(name, "ddraw.dll") == 0 || strcasecmp(name, "ddraw") == 0) - return MODULE_HANDLE_ddraw; + return MODULE_HANDLE_ddraw; if (strcasecmp(name, "advapi32.dll") == 0 || strcasecmp(name, "advapi32") == 0) - return MODULE_HANDLE_advapi32; + return MODULE_HANDLE_advapi32; #endif if (strcasecmp(name, "comdlg32.dll") == 0 || strcasecmp(name, "comdlg32") == 0) - return MODULE_HANDLE_comdlg32; + return MODULE_HANDLE_comdlg32; if (strcasecmp(name, "msvcrt.dll") == 0 || strcasecmp(name, "msvcrt") == 0) - return MODULE_HANDLE_msvcrt; + return MODULE_HANDLE_msvcrt; if (strcasecmp(name, "ole32.dll") == 0 || strcasecmp(name, "ole32") == 0) - return MODULE_HANDLE_ole32; + return MODULE_HANDLE_ole32; if (strcasecmp(name, "winmm.dll") == 0 || strcasecmp(name, "winmm") == 0) - return MODULE_HANDLE_winmm; + return MODULE_HANDLE_winmm; result=LoadLibraryA(name); dbgprintf("Returned LoadLibraryA(0x%x='%s'), def_path=%s => 0x%x\n", name, name, def_path, result); @@ -2418,45 +2418,45 @@ static void* WINAPI expGetProcAddress(HMODULE mod, char* name) void* result; switch(mod){ case MODULE_HANDLE_kernel32: - result=LookupExternalByName("kernel32.dll", name); break; + result=LookupExternalByName("kernel32.dll", name); break; case MODULE_HANDLE_user32: - result=LookupExternalByName("user32.dll", name); break; + result=LookupExternalByName("user32.dll", name); break; #ifdef QTX case MODULE_HANDLE_wininet: - result=LookupExternalByName("wininet.dll", name); break; + result=LookupExternalByName("wininet.dll", name); break; case MODULE_HANDLE_ddraw: - result=LookupExternalByName("ddraw.dll", name); break; + result=LookupExternalByName("ddraw.dll", name); break; case MODULE_HANDLE_advapi32: - result=LookupExternalByName("advapi32.dll", name); break; + result=LookupExternalByName("advapi32.dll", name); break; #endif case MODULE_HANDLE_comdlg32: - result=LookupExternalByName("comdlg32.dll", name); break; + result=LookupExternalByName("comdlg32.dll", name); break; case MODULE_HANDLE_msvcrt: - result=LookupExternalByName("msvcrt.dll", name); break; + result=LookupExternalByName("msvcrt.dll", name); break; case MODULE_HANDLE_ole32: - result=LookupExternalByName("ole32.dll", name); break; + result=LookupExternalByName("ole32.dll", name); break; case MODULE_HANDLE_winmm: - result=LookupExternalByName("winmm.dll", name); break; + result=LookupExternalByName("winmm.dll", name); break; default: - result=GetProcAddress(mod, name); + result=GetProcAddress(mod, name); } dbgprintf("GetProcAddress(0x%x, '%s') => 0x%x\n", mod, name, result); return result; } static long WINAPI expCreateFileMappingA(int hFile, void* lpAttr, - long flProtect, long dwMaxHigh, - long dwMaxLow, const char* name) + long flProtect, long dwMaxHigh, + long dwMaxLow, const char* name) { long result=CreateFileMappingA(hFile, lpAttr, flProtect, dwMaxHigh, dwMaxLow, name); if(!name) - dbgprintf("CreateFileMappingA(file 0x%x, lpAttr 0x%x," - "flProtect 0x%x, dwMaxHigh 0x%x, dwMaxLow 0x%x, name 0) => %d\n", - hFile, lpAttr, flProtect, dwMaxHigh, dwMaxLow, result); + dbgprintf("CreateFileMappingA(file 0x%x, lpAttr 0x%x," + "flProtect 0x%x, dwMaxHigh 0x%x, dwMaxLow 0x%x, name 0) => %d\n", + hFile, lpAttr, flProtect, dwMaxHigh, dwMaxLow, result); else - dbgprintf("CreateFileMappingA(file 0x%x, lpAttr 0x%x," - "flProtect 0x%x, dwMaxHigh 0x%x, dwMaxLow 0x%x, name 0x%x='%s') => %d\n", - hFile, lpAttr, flProtect, dwMaxHigh, dwMaxLow, name, name, result); + dbgprintf("CreateFileMappingA(file 0x%x, lpAttr 0x%x," + "flProtect 0x%x, dwMaxHigh 0x%x, dwMaxLow 0x%x, name 0x%x='%s') => %d\n", + hFile, lpAttr, flProtect, dwMaxHigh, dwMaxLow, name, name, result); return result; } @@ -2464,19 +2464,19 @@ static long WINAPI expOpenFileMappingA(long hFile, long hz, const char* name) { long result=OpenFileMappingA(hFile, hz, name); if(!name) - dbgprintf("OpenFileMappingA(0x%x, 0x%x, 0) => %d\n", - hFile, hz, result); + dbgprintf("OpenFileMappingA(0x%x, 0x%x, 0) => %d\n", + hFile, hz, result); else - dbgprintf("OpenFileMappingA(0x%x, 0x%x, 0x%x='%s') => %d\n", - hFile, hz, name, name, result); + dbgprintf("OpenFileMappingA(0x%x, 0x%x, 0x%x='%s') => %d\n", + hFile, hz, name, name, result); return result; } static void* WINAPI expMapViewOfFile(HANDLE file, DWORD mode, DWORD offHigh, - DWORD offLow, DWORD size) + DWORD offLow, DWORD size) { dbgprintf("MapViewOfFile(0x%x, 0x%x, 0x%x, 0x%x, size %d) => 0x%x\n", - file,mode,offHigh,offLow,size,(char*)file+offLow); + file,mode,offHigh,offLow,size,(char*)file+offLow); return (char*)file+offLow; } @@ -2517,9 +2517,9 @@ static int WINAPI expGetDeviceCaps(int hdc, int unk) #define BITSPIXEL 12 #define PLANES 14 if (unk == BITSPIXEL) - return 24; + return 24; if (unk == PLANES) - return 1; + return 1; #endif return 1; } @@ -2528,7 +2528,7 @@ static WIN_BOOL WINAPI expDeleteDC(int hdc) { dbgprintf("DeleteDC(0x%x) => 0\n", hdc); if (hdc == 0x81) - return 1; + return 1; return 0; } @@ -2576,36 +2576,36 @@ static int WINAPI expMonitorFromPoint(void *p, int flags) return 0; } -static int WINAPI expEnumDisplayMonitors(void *dc, RECT *r, +static int WINAPI expEnumDisplayMonitors(void *dc, RECT *r, int WINAPI (*callback_proc)(), void *callback_param) { dbgprintf("EnumDisplayMonitors(0x%x, 0x%x, 0x%x, 0x%x) => ?\n", - dc, r, callback_proc, callback_param); + dc, r, callback_proc, callback_param); return callback_proc(0, dc, r, callback_param); } #if 0 typedef struct tagMONITORINFO { - DWORD cbSize; - RECT rcMonitor; - RECT rcWork; - DWORD dwFlags; -} MONITORINFO, *LPMONITORINFO; + DWORD cbSize; + RECT rcMonitor; + RECT rcWork; + DWORD dwFlags; +} MONITORINFO, *LPMONITORINFO; #endif #define CCHDEVICENAME 8 -typedef struct tagMONITORINFOEX { - DWORD cbSize; - RECT rcMonitor; - RECT rcWork; - DWORD dwFlags; +typedef struct tagMONITORINFOEX { + DWORD cbSize; + RECT rcMonitor; + RECT rcWork; + DWORD dwFlags; TCHAR szDevice[CCHDEVICENAME]; -} MONITORINFOEX, *LPMONITORINFOEX; +} MONITORINFOEX, *LPMONITORINFOEX; static int WINAPI expGetMonitorInfoA(void *mon, LPMONITORINFO lpmi) { dbgprintf("GetMonitorInfoA(0x%x, 0x%x) => 1\n", mon, lpmi); - + lpmi->rcMonitor.right = lpmi->rcWork.right = PSEUDO_SCREEN_WIDTH; lpmi->rcMonitor.left = lpmi->rcWork.left = 0; lpmi->rcMonitor.bottom = lpmi->rcWork.bottom = PSEUDO_SCREEN_HEIGHT; @@ -2615,19 +2615,19 @@ static int WINAPI expGetMonitorInfoA(void *mon, LPMONITORINFO lpmi) if (lpmi->cbSize == sizeof(MONITORINFOEX)) { - LPMONITORINFOEX lpmiex = (LPMONITORINFOEX)lpmi; - dbgprintf("MONITORINFOEX!\n"); - strncpy(lpmiex->szDevice, "Monitor1", CCHDEVICENAME); + LPMONITORINFOEX lpmiex = (LPMONITORINFOEX)lpmi; + dbgprintf("MONITORINFOEX!\n"); + strncpy(lpmiex->szDevice, "Monitor1", CCHDEVICENAME); } - + return 1; } static int WINAPI expEnumDisplayDevicesA(const char *device, int devnum, - void *dispdev, int flags) + void *dispdev, int flags) { dbgprintf("EnumDisplayDevicesA(0x%x = %s, %d, 0x%x, %x) => 1\n", - device, device, devnum, dispdev, flags); + device, device, devnum, dispdev, flags); return 1; } @@ -2647,7 +2647,7 @@ static int WINAPI expGetClassNameA(HWND win, LPTSTR classname, int maxcount) { strncat(classname, "QuickTime", maxcount); dbgprintf("GetClassNameA(0x%x, 0x%x, %d) => %d\n", - win, classname, maxcount, strlen(classname)); + win, classname, maxcount, strlen(classname)); return strlen(classname); } @@ -2655,7 +2655,7 @@ static int WINAPI expGetClassNameA(HWND win, LPTSTR classname, int maxcount) static int WINAPI expGetClassInfoA(HINSTANCE inst, LPCSTR classname, LPWNDCLASS wndclass) { dbgprintf("GetClassInfoA(0x%x, 0x%x = %s, 0x%x) => 1\n", inst, - classname, classname, wndclass); + classname, classname, wndclass); return 1; } @@ -2690,9 +2690,9 @@ static int WINAPI expGetWindowThreadProcessId(HWND win, int *pid_data) { int tid = pthread_self(); dbgprintf("GetWindowThreadProcessId(0x%x, 0x%x) => %d\n", - win, pid_data, tid); + win, pid_data, tid); if (pid_data) - *(int*)pid_data = tid; + *(int*)pid_data = tid; return tid; } @@ -2705,8 +2705,8 @@ static HWND WINAPI expCreateWindowExA(int exstyle, const char *classname, { printf("CreateWindowEx() called\n"); dbgprintf("CreateWindowEx(%d, 0x%x = %s, 0x%x = %s, %d, %d, %d, %d, %d, 0x%x, 0x%x, 0x%x, 0x%x) => 1\n", - exstyle, classname, classname, winname, winname, style, x, y, w, h, - parent, menu, inst, param); + exstyle, classname, classname, winname, winname, style, x, y, w, h, + parent, menu, inst, param); printf("CreateWindowEx() called okey\n"); return 1; } @@ -2731,7 +2731,7 @@ static int WINAPI expGetTickCount(void) tc = ((t.tv_sec * 1000) + (t.tv_usec / 1000)) - tcstart; if (tcstart == 0) { - tcstart = 0; + tcstart = 0; tc = 0; } dbgprintf("GetTickCount() => %d\n", tc); @@ -2746,16 +2746,16 @@ static int WINAPI expCreateFontA(void) /* tried to get pvmjpg work in a different way - no success */ static int WINAPI expDrawTextA(int hDC, char* lpString, int nCount, - LPRECT lpRect, unsigned int uFormat) + LPRECT lpRect, unsigned int uFormat) { dbgprintf("expDrawTextA(%p,...) => 8\n", hDC); return 8; } static int WINAPI expGetPrivateProfileIntA(const char* appname, - const char* keyname, - int default_value, - const char* filename) + const char* keyname, + int default_value, + const char* filename) { int size=255; char buffer[256]; @@ -2765,8 +2765,8 @@ static int WINAPI expGetPrivateProfileIntA(const char* appname, buffer[255]=0; if(!(appname && keyname && filename) ) { - dbgprintf("GetPrivateProfileIntA('%s', '%s', %d, '%s') => %d\n", appname, keyname, default_value, filename, default_value ); - return default_value; + dbgprintf("GetPrivateProfileIntA('%s', '%s', %d, '%s') => %d\n", appname, keyname, default_value, filename, default_value ); + return default_value; } fullname=(char*)malloc(50+strlen(appname)+strlen(keyname)+strlen(filename)); strcpy(fullname, "Software\\IniFileMapping\\"); @@ -2777,29 +2777,29 @@ static int WINAPI expGetPrivateProfileIntA(const char* appname, strcat(fullname, filename); result=RegQueryValueExA(HKEY_LOCAL_MACHINE, fullname, NULL, NULL, (int*)buffer, &size); if((size>=0)&&(size<256)) - buffer[size]=0; + buffer[size]=0; // printf("GetPrivateProfileIntA(%s, %s, %s) -> %s\n", appname, keyname, filename, buffer); free(fullname); if(result) - result=default_value; + result=default_value; else - result=atoi(buffer); + result=atoi(buffer); dbgprintf("GetPrivateProfileIntA('%s', '%s', %d, '%s') => %d\n", appname, keyname, default_value, filename, result); return result; } static int WINAPI expGetProfileIntA(const char* appname, - const char* keyname, - int default_value) + const char* keyname, + int default_value) { dbgprintf("GetProfileIntA -> "); return expGetPrivateProfileIntA(appname, keyname, default_value, "default"); } static int WINAPI expGetPrivateProfileStringA(const char* appname, - const char* keyname, - const char* def_val, - char* dest, unsigned int len, - const char* filename) + const char* keyname, + const char* def_val, + char* dest, unsigned int len, + const char* filename) { int result; int size; @@ -2818,24 +2818,24 @@ static int WINAPI expGetPrivateProfileStringA(const char* appname, free(fullname); if(result) { - strncpy(dest, def_val, size); - if (strlen(def_val)< size) size = strlen(def_val); + strncpy(dest, def_val, size); + if (strlen(def_val)< size) size = strlen(def_val); } dbgprintf(" => %d ( '%s' )\n", size, dest); return size; } static int WINAPI expWritePrivateProfileStringA(const char* appname, - const char* keyname, - const char* string, - const char* filename) + const char* keyname, + const char* string, + const char* filename) { int size=256; char* fullname; dbgprintf("WritePrivateProfileStringA('%s', '%s', '%s', '%s')", appname, keyname, string, filename ); if(!(appname && keyname && filename) ) { - dbgprintf(" => -1\n"); - return -1; + dbgprintf(" => -1\n"); + return -1; } fullname=(char*)malloc(50+strlen(appname)+strlen(keyname)+strlen(filename)); strcpy(fullname, "Software\\IniFileMapping\\"); @@ -2857,12 +2857,12 @@ unsigned int _GetPrivateProfileIntA(const char* appname, const char* keyname, IN return expGetPrivateProfileIntA(appname, keyname, default_value, filename); } int _GetPrivateProfileStringA(const char* appname, const char* keyname, - const char* def_val, char* dest, unsigned int len, const char* filename) + const char* def_val, char* dest, unsigned int len, const char* filename) { return expGetPrivateProfileStringA(appname, keyname, def_val, dest, len, filename); } int _WritePrivateProfileStringA(const char* appname, const char* keyname, - const char* string, const char* filename) + const char* string, const char* filename) { return expWritePrivateProfileStringA(appname, keyname, string, filename); } @@ -2898,11 +2898,11 @@ static void WINAPI expSetLastError(int error) static int WINAPI expStringFromGUID2(GUID* guid, char* str, int cbMax) { int result=snprintf(str, cbMax, "%.8x-%.4x-%.4x-%.2x%.2x%.2x%.2x%.2x%.2x%.2x%.2x", - guid->f1, guid->f2, guid->f3, - (unsigned char)guid->f4[0], (unsigned char)guid->f4[1], - (unsigned char)guid->f4[2], (unsigned char)guid->f4[3], - (unsigned char)guid->f4[4], (unsigned char)guid->f4[5], - (unsigned char)guid->f4[6], (unsigned char)guid->f4[7]); + guid->f1, guid->f2, guid->f3, + (unsigned char)guid->f4[0], (unsigned char)guid->f4[1], + (unsigned char)guid->f4[2], (unsigned char)guid->f4[3], + (unsigned char)guid->f4[4], (unsigned char)guid->f4[5], + (unsigned char)guid->f4[6], (unsigned char)guid->f4[7]); dbgprintf("StringFromGUID2(0x%x, 0x%x='%s', %d) => %d\n", guid, str, str, cbMax, result); return result; } @@ -2930,12 +2930,12 @@ static long WINAPI expInterlockedExchangeAdd( long* dest, long incr ) { long ret; __asm__ __volatile__ - ( - "lock; xaddl %0,(%1)" - : "=r" (ret) - : "r" (dest), "0" (incr) - : "memory" - ); + ( + "lock; xaddl %0,(%1)" + : "=r" (ret) + : "r" (dest), "0" (incr) + : "memory" + ); return ret; } @@ -2943,7 +2943,7 @@ static long WINAPI expInterlockedCompareExchange( unsigned long* dest, unsigned { unsigned long retval = *dest; if(*dest == comperand) - *dest = exchange; + *dest = exchange; return retval; } @@ -3007,9 +3007,9 @@ static int WINAPI expShowCursor(int show) { dbgprintf("ShowCursor(%d) => %d\n", show, show); if (show) - show_cursor++; + show_cursor++; else - show_cursor--; + show_cursor--; return show_cursor; } #endif @@ -3040,13 +3040,13 @@ static int WINAPI expGetCPInfo(int cp,void *info) return 0; } #ifdef QTX -#define SM_CXSCREEN 0 -#define SM_CYSCREEN 1 -#define SM_XVIRTUALSCREEN 76 -#define SM_YVIRTUALSCREEN 77 -#define SM_CXVIRTUALSCREEN 78 -#define SM_CYVIRTUALSCREEN 79 -#define SM_CMONITORS 80 +#define SM_CXSCREEN 0 +#define SM_CYSCREEN 1 +#define SM_XVIRTUALSCREEN 76 +#define SM_YVIRTUALSCREEN 77 +#define SM_CXVIRTUALSCREEN 78 +#define SM_CYVIRTUALSCREEN 79 +#define SM_CMONITORS 80 #endif static int WINAPI expGetSystemMetrics(int index) { @@ -3054,17 +3054,17 @@ static int WINAPI expGetSystemMetrics(int index) #ifdef QTX switch(index) { - case SM_XVIRTUALSCREEN: - case SM_YVIRTUALSCREEN: - return 0; - case SM_CXSCREEN: - case SM_CXVIRTUALSCREEN: - return PSEUDO_SCREEN_WIDTH; - case SM_CYSCREEN: - case SM_CYVIRTUALSCREEN: - return PSEUDO_SCREEN_HEIGHT; - case SM_CMONITORS: - return 1; + case SM_XVIRTUALSCREEN: + case SM_YVIRTUALSCREEN: + return 0; + case SM_CXSCREEN: + case SM_CXVIRTUALSCREEN: + return PSEUDO_SCREEN_WIDTH; + case SM_CYSCREEN: + case SM_CYVIRTUALSCREEN: + return PSEUDO_SCREEN_HEIGHT; + case SM_CMONITORS: + return 1; } #endif return 1; @@ -3085,7 +3085,7 @@ static int WINAPI expGetSysColorBrush(int index) static int WINAPI expGetSystemPaletteEntries(int hdc, int iStartIndex, int nEntries, void* lppe) { dbgprintf("GetSystemPaletteEntries(0x%x, 0x%x, 0x%x, 0x%x) => 0\n", - hdc, iStartIndex, nEntries, lppe); + hdc, iStartIndex, nEntries, lppe); return 0; } @@ -3143,10 +3143,10 @@ static void WINAPI expGetLocalTime(SYSTEMTIME* systime) systime->wSecond = local_tm->tm_sec; systime->wMilliseconds = (tv.tv_usec / 1000) % 1000; dbgprintf(" Year: %d\n Month: %d\n Day of week: %d\n" - " Day: %d\n Hour: %d\n Minute: %d\n Second: %d\n" - " Milliseconds: %d\n", - systime->wYear, systime->wMonth, systime->wDayOfWeek, systime->wDay, - systime->wHour, systime->wMinute, systime->wSecond, systime->wMilliseconds); + " Day: %d\n Hour: %d\n Minute: %d\n Second: %d\n" + " Milliseconds: %d\n", + systime->wYear, systime->wMonth, systime->wDayOfWeek, systime->wDay, + systime->wHour, systime->wMinute, systime->wSecond, systime->wMilliseconds); } static int WINAPI expGetSystemTime(SYSTEMTIME* systime) @@ -3169,10 +3169,10 @@ static int WINAPI expGetSystemTime(SYSTEMTIME* systime) systime->wSecond = local_tm->tm_sec; systime->wMilliseconds = (tv.tv_usec / 1000) % 1000; dbgprintf(" Year: %d\n Month: %d\n Day of week: %d\n" - " Day: %d\n Hour: %d\n Minute: %d\n Second: %d\n" - " Milliseconds: %d\n", - systime->wYear, systime->wMonth, systime->wDayOfWeek, systime->wDay, - systime->wHour, systime->wMinute, systime->wSecond, systime->wMilliseconds); + " Day: %d\n Hour: %d\n Minute: %d\n Second: %d\n" + " Milliseconds: %d\n", + systime->wYear, systime->wMonth, systime->wDayOfWeek, systime->wDay, + systime->wHour, systime->wMinute, systime->wSecond, systime->wMilliseconds); return 0; } @@ -3201,7 +3201,7 @@ static int WINAPI expGetEnvironmentVariableA(const char* name, char* field, int if (p) strncpy(field,p,size); */ if (strcmp(name,"__MSVCRT_HEAP_SELECT")==0) - strcpy(field,"__GLOBAL_HEAP_SELECTED,1"); + strcpy(field,"__GLOBAL_HEAP_SELECTED,1"); dbgprintf("GetEnvironmentVariableA(0x%x='%s', 0x%x, %d) => %d\n", name, name, field, size, strlen(field)); return strlen(field); } @@ -3244,7 +3244,7 @@ static int com_object_size=0; int RegisterComClass(const GUID* clsid, GETCLASSOBJECT gcs) { if(!clsid || !gcs) - return -1; + return -1; com_object_table=realloc(com_object_table, sizeof(struct COM_OBJECT_INFO)*(++com_object_size)); com_object_table[com_object_size-1].clsid=*clsid; com_object_table[com_object_size-1].GetClassObject=gcs; @@ -3256,33 +3256,33 @@ int UnregisterComClass(const GUID* clsid, GETCLASSOBJECT gcs) int found = 0; int i = 0; if(!clsid || !gcs) - return -1; + return -1; if (com_object_table == 0) - printf("Warning: UnregisterComClass() called without any registered class\n"); + printf("Warning: UnregisterComClass() called without any registered class\n"); while (i < com_object_size) { - if (found && i > 0) - { - memcpy(&com_object_table[i - 1].clsid, - &com_object_table[i].clsid, sizeof(GUID)); - com_object_table[i - 1].GetClassObject = - com_object_table[i].GetClassObject; - } - else if (memcmp(&com_object_table[i].clsid, clsid, sizeof(GUID)) == 0 - && com_object_table[i].GetClassObject == gcs) - { - found++; - } - i++; + if (found && i > 0) + { + memcpy(&com_object_table[i - 1].clsid, + &com_object_table[i].clsid, sizeof(GUID)); + com_object_table[i - 1].GetClassObject = + com_object_table[i].GetClassObject; + } + else if (memcmp(&com_object_table[i].clsid, clsid, sizeof(GUID)) == 0 + && com_object_table[i].GetClassObject == gcs) + { + found++; + } + i++; } if (found) { - if (--com_object_size == 0) - { - free(com_object_table); - com_object_table = 0; - } + if (--com_object_size == 0) + { + free(com_object_table); + com_object_table = 0; + } } return 0; } @@ -3300,13 +3300,13 @@ const GUID IID_IClassFactory = }; static long WINAPI expCoCreateInstance(GUID* rclsid, struct IUnknown* pUnkOuter, - long dwClsContext, const GUID* riid, void** ppv) + long dwClsContext, const GUID* riid, void** ppv) { int i; struct COM_OBJECT_INFO* ci=0; for(i=0; iGetClassObject(rclsid, riid, ppv); @@ -3314,7 +3314,7 @@ static long WINAPI expCoCreateInstance(GUID* rclsid, struct IUnknown* pUnkOuter, } long CoCreateInstance(GUID* rclsid, struct IUnknown* pUnkOuter, - long dwClsContext, const GUID* riid, void** ppv) + long dwClsContext, const GUID* riid, void** ppv) { return expCoCreateInstance(rclsid, pUnkOuter, dwClsContext, riid, ppv); } @@ -3326,17 +3326,17 @@ static int WINAPI expIsRectEmpty(CONST RECT *lprc) //trapbug(); if (lprc) { - w = lprc->right - lprc->left; - h = lprc->bottom - lprc->top; - if (w <= 0 || h <= 0) - r = 1; + w = lprc->right - lprc->left; + h = lprc->bottom - lprc->top; + if (w <= 0 || h <= 0) + r = 1; } else - r = 1; + r = 1; dbgprintf("IsRectEmpty(%p) => %s\n", lprc, (r) ? "TRUE" : "FALSE"); //printf("Rect: left: %d, top: %d, right: %d, bottom: %d\n", lprc->left, lprc->top, lprc->right, lprc->bottom); -// return 0; // wmv9? +// return 0; // wmv9? return r; // TM20 } @@ -3350,8 +3350,8 @@ static unsigned int WINAPI expGetTempPathA(unsigned int len, char* path) dbgprintf("GetTempPathA(%d, 0x%x)", len, path); if(len<5) { - dbgprintf(" => 0\n"); - return 0; + dbgprintf(" => 0\n"); + return 0; } strcpy(path, "/tmp"); dbgprintf(" => 5 ( '/tmp' )\n"); @@ -3381,20 +3381,20 @@ static WIN_BOOL WINAPI expFindNextFileA(HANDLE h,LPWIN32_FIND_DATAA lpfd) #ifdef QTX dbgprintf("FindNextFileA(0x%x, 0x%x) => 0\n", h, lpfd); if(h==FILE_HANDLE_quicktimeqtx){ - struct dirent* d; - if(!qtx_dir) return 0; - while((d=readdir(qtx_dir))){ - char* x=strrchr(d->d_name,'.'); - if(!x) continue; - if(strcmp(x,".qtx")) continue; - strcpy(lpfd->cFileName,d->d_name); -// sprintf(lpfd->cAlternateFileName,"%-8s.qtx",d->d_name); - strcpy(lpfd->cAlternateFileName,"foobar.qtx"); - printf("### FindNext: %s\n",lpfd->cFileName); - return 1; - } - closedir(qtx_dir); qtx_dir=NULL; - return 0; + struct dirent* d; + if(!qtx_dir) return 0; + while((d=readdir(qtx_dir))){ + char* x=strrchr(d->d_name,'.'); + if(!x) continue; + if(strcmp(x,".qtx")) continue; + strcpy(lpfd->cFileName,d->d_name); +// sprintf(lpfd->cAlternateFileName,"%-8s.qtx",d->d_name); + strcpy(lpfd->cAlternateFileName,"foobar.qtx"); + printf("### FindNext: %s\n",lpfd->cFileName); + return 1; + } + closedir(qtx_dir); qtx_dir=NULL; + return 0; } #endif return 0; @@ -3406,32 +3406,32 @@ static HANDLE WINAPI expFindFirstFileA(LPCSTR s, LPWIN32_FIND_DATAA lpfd) // printf("\n### FindFirstFileA('%s')...\n",s); #ifdef QTX if(strstr(s, "quicktime\\*.QTX")){ - dbgprintf("FindFirstFileA(0x%x='%s', 0x%x) => QTX\n", s, s, lpfd); - printf("\n### Searching for QuickTime plugins (*.qtx) at %s...\n",def_path); - qtx_dir=opendir(def_path); - if(!qtx_dir) return (HANDLE)-1; - memset(lpfd,0,sizeof(*lpfd)); - if(expFindNextFileA(FILE_HANDLE_quicktimeqtx,lpfd)) - return FILE_HANDLE_quicktimeqtx; - printf("loader: Couldn't find the QuickTime plugins (.qtx files) at %s\n",def_path); - return (HANDLE)-1; + dbgprintf("FindFirstFileA(0x%x='%s', 0x%x) => QTX\n", s, s, lpfd); + printf("\n### Searching for QuickTime plugins (*.qtx) at %s...\n",def_path); + qtx_dir=opendir(def_path); + if(!qtx_dir) return (HANDLE)-1; + memset(lpfd,0,sizeof(*lpfd)); + if(expFindNextFileA(FILE_HANDLE_quicktimeqtx,lpfd)) + return FILE_HANDLE_quicktimeqtx; + printf("loader: Couldn't find the QuickTime plugins (.qtx files) at %s\n",def_path); + return (HANDLE)-1; } #if 0 if(strstr(s, "QuickTime.qts")){ - dbgprintf("FindFirstFileA(0x%x='%s', 0x%x) => QTS\n", s, s, lpfd); -// if(!strcmp(s,"C:\\windows\\QuickTime.qts\\QuickTime.qts\\*.QTX")) -// return (HANDLE)-1; - strcpy(lpfd->cFileName, "QuickTime.qts"); - strcpy(lpfd->cAlternateFileName, "QuickT~1.qts"); - return FILE_HANDLE_quicktimeqts; + dbgprintf("FindFirstFileA(0x%x='%s', 0x%x) => QTS\n", s, s, lpfd); +// if(!strcmp(s,"C:\\windows\\QuickTime.qts\\QuickTime.qts\\*.QTX")) +// return (HANDLE)-1; + strcpy(lpfd->cFileName, "QuickTime.qts"); + strcpy(lpfd->cAlternateFileName, "QuickT~1.qts"); + return FILE_HANDLE_quicktimeqts; } #endif #endif if(strstr(s, "*.vwp")){ - // hack for VoxWare codec plugins: - strcpy(lpfd->cFileName, "msms001.vwp"); - strcpy(lpfd->cAlternateFileName, "msms001.vwp"); - return (HANDLE)0; + // hack for VoxWare codec plugins: + strcpy(lpfd->cFileName, "msms001.vwp"); + strcpy(lpfd->cAlternateFileName, "msms001.vwp"); + return (HANDLE)0; } // return 'file not found' return (HANDLE)-1; @@ -3442,8 +3442,8 @@ static WIN_BOOL WINAPI expFindClose(HANDLE h) dbgprintf("FindClose(0x%x) => 0\n", h); #ifdef QTX // if(h==FILE_HANDLE_quicktimeqtx && qtx_dir){ -// closedir(qtx_dir); -// qtx_dir=NULL; +// closedir(qtx_dir); +// qtx_dir=NULL; // } #endif return 0; @@ -3478,9 +3478,9 @@ static int WINAPI expSetCurrentDirectoryA(const char *pathname) dbgprintf("SetCurrentDirectoryA(0x%x = %s) => 1\n", pathname, pathname); #if 0 if (strrchr(pathname, '\\')) - chdir(strcat(strrchr(pathname, '\\')+1, '/')); + chdir(strcat(strrchr(pathname, '\\')+1, '/')); else - chdir(pathname); + chdir(pathname); #endif return 1; } @@ -3488,20 +3488,20 @@ static int WINAPI expSetCurrentDirectoryA(const char *pathname) static int WINAPI expCreateDirectoryA(const char *pathname, void *sa) { dbgprintf("CreateDirectory(0x%x = %s, 0x%x) => 1\n", - pathname, pathname, sa); + pathname, pathname, sa); #if 0 p = strrchr(pathname, '\\')+1; strcpy(&buf[0], p); /* should be strncpy */ if (!strlen(p)) { - buf[0] = '.'; - buf[1] = 0; + buf[0] = '.'; + buf[1] = 0; } -#if 0 +#if 0 if (strrchr(pathname, '\\')) - mkdir(strcat(strrchr(pathname, '\\')+1, '/'), 666); + mkdir(strcat(strrchr(pathname, '\\')+1, '/'), 666); else - mkdir(pathname, 666); + mkdir(pathname, 666); #endif mkdir(&buf); #endif @@ -3526,8 +3526,8 @@ static UINT WINAPI expGetTempFileNameA(LPCSTR cs1,LPCSTR cs2,UINT i,LPSTR ps) dbgprintf("GetTempFileNameA(0x%x='%s', 0x%x='%s', %d, 0x%x)", cs1, cs1, cs2, cs2, i, ps); if(i && i<10) { - dbgprintf(" => -1\n"); - return -1; + dbgprintf(" => -1\n"); + return -1; } result=mkstemp(mask); sprintf(ps, "AP%d", result); @@ -3540,96 +3540,96 @@ static UINT WINAPI expGetTempFileNameA(LPCSTR cs1,LPCSTR cs2,UINT i,LPSTR ps) // DLL will close opened file with CloseHandle(). // static HANDLE WINAPI expCreateFileA(LPCSTR cs1,DWORD i1,DWORD i2, - LPSECURITY_ATTRIBUTES p1, DWORD i3,DWORD i4,HANDLE i5) + LPSECURITY_ATTRIBUTES p1, DWORD i3,DWORD i4,HANDLE i5) { dbgprintf("CreateFileA(0x%x='%s', %d, %d, 0x%x, %d, %d, 0x%x)\n", cs1, cs1, i1, - i2, p1, i3, i4, i5); + i2, p1, i3, i4, i5); if((!cs1) || (strlen(cs1)<2))return -1; #ifdef QTX if(strstr(cs1, "QuickTime.qts")) { - int result; - char* tmp=(char*)malloc(strlen(def_path)+50); - strcpy(tmp, def_path); - strcat(tmp, "/"); - strcat(tmp, "QuickTime.qts"); - result=open(tmp, O_RDONLY); - free(tmp); - return result; + int result; + char* tmp=(char*)malloc(strlen(def_path)+50); + strcpy(tmp, def_path); + strcat(tmp, "/"); + strcat(tmp, "QuickTime.qts"); + result=open(tmp, O_RDONLY); + free(tmp); + return result; } if(strstr(cs1, ".qtx")) { - int result; - char* tmp=(char*)malloc(strlen(def_path)+250); - char* x=strrchr(cs1,'\\'); - sprintf(tmp,"%s/%s",def_path,x?(x+1):cs1); -// printf("### Open: %s -> %s\n",cs1,tmp); - result=open(tmp, O_RDONLY); - free(tmp); - return result; + int result; + char* tmp=(char*)malloc(strlen(def_path)+250); + char* x=strrchr(cs1,'\\'); + sprintf(tmp,"%s/%s",def_path,x?(x+1):cs1); +// printf("### Open: %s -> %s\n",cs1,tmp); + result=open(tmp, O_RDONLY); + free(tmp); + return result; } #endif if(strncmp(cs1, "AP", 2) == 0) { - int result; - char* tmp=(char*)malloc(strlen(def_path)+50); - strcpy(tmp, def_path); - strcat(tmp, "/"); - strcat(tmp, "APmpg4v1.apl"); - result=open(tmp, O_RDONLY); - free(tmp); - return result; + int result; + char* tmp=(char*)malloc(strlen(def_path)+50); + strcpy(tmp, def_path); + strcat(tmp, "/"); + strcat(tmp, "APmpg4v1.apl"); + result=open(tmp, O_RDONLY); + free(tmp); + return result; } if (strstr(cs1, "vp3")) { - int r; - int flg = 0; - char* tmp=(char*)malloc(20 + strlen(cs1)); - strcpy(tmp, "/tmp/"); - strcat(tmp, cs1); - r = 4; - while (tmp[r]) - { - if (tmp[r] == ':' || tmp[r] == '\\') - tmp[r] = '_'; - r++; - } - if (GENERIC_READ & i1) - flg |= O_RDONLY; - else if (GENERIC_WRITE & i1) - { - flg |= O_WRONLY; - printf("Warning: openning filename %s %d (flags; 0x%x) for write\n", tmp, r, flg); - } - r=open(tmp, flg); - free(tmp); - return r; + int r; + int flg = 0; + char* tmp=(char*)malloc(20 + strlen(cs1)); + strcpy(tmp, "/tmp/"); + strcat(tmp, cs1); + r = 4; + while (tmp[r]) + { + if (tmp[r] == ':' || tmp[r] == '\\') + tmp[r] = '_'; + r++; + } + if (GENERIC_READ & i1) + flg |= O_RDONLY; + else if (GENERIC_WRITE & i1) + { + flg |= O_WRONLY; + printf("Warning: openning filename %s %d (flags; 0x%x) for write\n", tmp, r, flg); + } + r=open(tmp, flg); + free(tmp); + return r; } // Needed by wnvplay1.dll if (strstr(cs1, "WINNOV.bmp")) { - int r; - r=open("/dev/null", 0); - return r; + int r; + r=open("/dev/null", 0); + return r; } #if 0 /* we need this for some virtualdub filters */ { - int r; - int flg = 0; - if (GENERIC_READ & i1) - flg |= O_RDONLY; - else if (GENERIC_WRITE & i1) - { - flg |= O_WRONLY; - printf("Warning: openning filename %s %d (flags; 0x%x) for write\n", cs1, r, flg); - } - r=open(cs1, flg); - return r; + int r; + int flg = 0; + if (GENERIC_READ & i1) + flg |= O_RDONLY; + else if (GENERIC_WRITE & i1) + { + flg |= O_WRONLY; + printf("Warning: openning filename %s %d (flags; 0x%x) for write\n", cs1, r, flg); + } + r=open(cs1, flg); + return r; } #endif @@ -3653,14 +3653,14 @@ static LPCSTR WINAPI expGetSystemDirectoryA() */ static DWORD WINAPI expGetFullPathNameA ( - LPCTSTR lpFileName, - DWORD nBufferLength, - LPTSTR lpBuffer, - LPTSTR lpFilePart + LPCTSTR lpFileName, + DWORD nBufferLength, + LPTSTR lpBuffer, + LPTSTR lpFilePart ){ if(!lpFileName) return 0; dbgprintf("GetFullPathNameA('%s',%d,%p,%p)\n",lpFileName,nBufferLength, - lpBuffer, lpFilePart); + lpBuffer, lpFilePart); #if 0 #ifdef QTX strcpy(lpFilePart, "Quick123.qts"); @@ -3669,9 +3669,9 @@ static DWORD WINAPI expGetFullPathNameA #endif #else if (strrchr(lpFileName, '\\')) - lpFilePart = strrchr(lpFileName, '\\'); + lpFilePart = strrchr(lpFileName, '\\'); else - lpFilePart = (LPTSTR)lpFileName; + lpFilePart = (LPTSTR)lpFileName; #endif strcpy(lpBuffer, lpFileName); // strncpy(lpBuffer, lpFileName, rindex(lpFileName, '\\')-lpFileName); @@ -3718,29 +3718,29 @@ static DWORD WINAPI expSetFilePointer(HANDLE h, LONG val, LPLONG ext, DWORD whe switch(whence) { case FILE_BEGIN: - wh=SEEK_SET;break; + wh=SEEK_SET;break; case FILE_END: - wh=SEEK_END;break; + wh=SEEK_END;break; case FILE_CURRENT: - wh=SEEK_CUR;break; + wh=SEEK_CUR;break; default: - return -1; + return -1; } #ifdef QTX if (val == 0 && ext != 0) - val = val&(*ext); + val = val&(*ext); #endif return lseek(h, val, wh); } static HDRVR WINAPI expOpenDriverA(LPCSTR szDriverName, LPCSTR szSectionName, - LPARAM lParam2) + LPARAM lParam2) { dbgprintf("OpenDriverA(0x%x='%s', 0x%x='%s', 0x%x) => -1\n", szDriverName, szDriverName, szSectionName, szSectionName, lParam2); return -1; } static HDRVR WINAPI expOpenDriver(LPCSTR szDriverName, LPCSTR szSectionName, - LPARAM lParam2) + LPARAM lParam2) { dbgprintf("OpenDriver(0x%x='%s', 0x%x='%s', 0x%x) => -1\n", szDriverName, szDriverName, szSectionName, szSectionName, lParam2); return -1; @@ -3748,11 +3748,11 @@ static HDRVR WINAPI expOpenDriver(LPCSTR szDriverName, LPCSTR szSectionName, static WIN_BOOL WINAPI expGetProcessAffinityMask(HANDLE hProcess, - LPDWORD lpProcessAffinityMask, - LPDWORD lpSystemAffinityMask) + LPDWORD lpProcessAffinityMask, + LPDWORD lpSystemAffinityMask) { dbgprintf("GetProcessAffinityMask(0x%x, 0x%x, 0x%x) => 1\n", - hProcess, lpProcessAffinityMask, lpSystemAffinityMask); + hProcess, lpProcessAffinityMask, lpSystemAffinityMask); if(lpProcessAffinityMask)*lpProcessAffinityMask=1; if(lpSystemAffinityMask)*lpSystemAffinityMask=1; return 1; @@ -3795,9 +3795,9 @@ static LONG WINAPI explstrcpynA(char* str1, const char* str2,int len) { int result; if (strlen(str2)>len) - result = (int) strncpy(str1, str2,len); + result = (int) strncpy(str1, str2,len); else - result = (int) strcpy(str1,str2); + result = (int) strcpy(str1,str2); dbgprintf("strncpy(0x%x, 0x%x='%s' len %d strlen %d) => %x\n", str1, str2, str2,len, strlen(str2),result); return result; } @@ -3825,7 +3825,7 @@ static void WINAPI expInitCommonControls(void) #ifdef QTX /* needed by QuickTime.qts */ static HWND WINAPI expCreateUpDownControl (DWORD style, INT x, INT y, INT cx, INT cy, - HWND parent, INT id, HINSTANCE inst, + HWND parent, INT id, HINSTANCE inst, HWND buddy, INT maxVal, INT minVal, INT curVal) { dbgprintf("CreateUpDownControl(...)\n"); @@ -3837,33 +3837,33 @@ static HWND WINAPI expCreateUpDownControl (DWORD style, INT x, INT y, INT cx, IN static HRESULT WINAPI expCoCreateFreeThreadedMarshaler(void *pUnkOuter, void **ppUnkInner) { dbgprintf("CoCreateFreeThreadedMarshaler(%p, %p) called!\n", - pUnkOuter, ppUnkInner); + pUnkOuter, ppUnkInner); // return 0; return ERROR_CALL_NOT_IMPLEMENTED; } static int WINAPI expDuplicateHandle(HANDLE hSourceProcessHandle, // handle to source process - HANDLE hSourceHandle, // handle to duplicate - HANDLE hTargetProcessHandle, // handle to target process - HANDLE* lpTargetHandle, // duplicate handle - DWORD dwDesiredAccess, // requested access - int bInheritHandle, // handle inheritance option - DWORD dwOptions // optional actions - ) + HANDLE hSourceHandle, // handle to duplicate + HANDLE hTargetProcessHandle, // handle to target process + HANDLE* lpTargetHandle, // duplicate handle + DWORD dwDesiredAccess, // requested access + int bInheritHandle, // handle inheritance option + DWORD dwOptions // optional actions + ) { dbgprintf("DuplicateHandle(%p, %p, %p, %p, 0x%x, %d, %d) called\n", - hSourceProcessHandle, hSourceHandle, hTargetProcessHandle, - lpTargetHandle, dwDesiredAccess, bInheritHandle, dwOptions); + hSourceProcessHandle, hSourceHandle, hTargetProcessHandle, + lpTargetHandle, dwDesiredAccess, bInheritHandle, dwOptions); *lpTargetHandle = hSourceHandle; return 1; } // required by PIM1 codec (used by win98 PCTV Studio capture sw) static HRESULT WINAPI expCoInitialize( - LPVOID lpReserved /* [in] pointer to win32 malloc interface - (obsolete, should be NULL) */ - ) + LPVOID lpReserved /* [in] pointer to win32 malloc interface + (obsolete, should be NULL) */ + ) { /* * Just delegate to the newer method. @@ -3889,7 +3889,7 @@ static void* expmalloc(int size) void* result=my_mreq(size,0); dbgprintf("malloc(0x%x) => 0x%x\n", size,result); if(result==0) - printf("WARNING: malloc() failed\n"); + printf("WARNING: malloc() failed\n"); return result; } static void expfree(void* mem) @@ -3904,7 +3904,7 @@ static void *expcalloc(int num, int size) void* result=my_mreq(num*size,1); dbgprintf("calloc(%d,%d) => %p\n", num,size,result); if(result==0) - printf("WARNING: calloc() failed\n"); + printf("WARNING: calloc() failed\n"); return result; } static void* expnew(int size) @@ -3919,7 +3919,7 @@ static void* expnew(int size) result=my_mreq(size,0); dbgprintf("new(%d) => %p\n", size, result); if (result==0) - printf("WARNING: new() failed\n"); + printf("WARNING: new() failed\n"); return result; } @@ -3937,20 +3937,20 @@ static int expdelete(void* memory) typedef struct __attribute__((__packed__)) { char hay[0x40]; - unsigned long cbFormat; //0x40 - char* pbFormat; //0x44 + unsigned long cbFormat; //0x40 + char* pbFormat; //0x44 } MY_MEDIA_TYPE; static HRESULT WINAPI expMoCopyMediaType(MY_MEDIA_TYPE* dest, const MY_MEDIA_TYPE* src) { if (!dest || !src) - return E_POINTER; + return E_POINTER; memcpy(dest, src, sizeof(MY_MEDIA_TYPE)); if (dest->cbFormat) { - dest->pbFormat = (char*) my_mreq(dest->cbFormat, 0); - if (!dest->pbFormat) + dest->pbFormat = (char*) my_mreq(dest->cbFormat, 0); + if (!dest->pbFormat) return E_OUTOFMEMORY; - memcpy(dest->pbFormat, src->pbFormat, dest->cbFormat); + memcpy(dest->pbFormat, src->pbFormat, dest->cbFormat); } return S_OK; } @@ -3961,8 +3961,8 @@ static HRESULT WINAPI expMoInitMediaType(MY_MEDIA_TYPE* dest, DWORD cbFormat) memset(dest, 0, sizeof(MY_MEDIA_TYPE)); if (cbFormat) { - dest->pbFormat = (char*) my_mreq(cbFormat, 0); - if (!dest->pbFormat) + dest->pbFormat = (char*) my_mreq(cbFormat, 0); + if (!dest->pbFormat) return E_OUTOFMEMORY; } return S_OK; @@ -3970,25 +3970,25 @@ static HRESULT WINAPI expMoInitMediaType(MY_MEDIA_TYPE* dest, DWORD cbFormat) static HRESULT WINAPI expMoCreateMediaType(MY_MEDIA_TYPE** dest, DWORD cbFormat) { if (!dest) - return E_POINTER; + return E_POINTER; *dest = my_mreq(sizeof(MY_MEDIA_TYPE), 0); return expMoInitMediaType(*dest, cbFormat); } static HRESULT WINAPI expMoDuplicateMediaType(MY_MEDIA_TYPE** dest, const void* src) { if (!dest) - return E_POINTER; + return E_POINTER; *dest = my_mreq(sizeof(MY_MEDIA_TYPE), 0); return expMoCopyMediaType(*dest, src); } static HRESULT WINAPI expMoFreeMediaType(MY_MEDIA_TYPE* dest) { if (!dest) - return E_POINTER; + return E_POINTER; if (dest->pbFormat) { - my_release(dest->pbFormat); - dest->pbFormat = 0; + my_release(dest->pbFormat); + dest->pbFormat = 0; dest->cbFormat = 0; } return S_OK; @@ -3996,7 +3996,7 @@ static HRESULT WINAPI expMoFreeMediaType(MY_MEDIA_TYPE* dest) static HRESULT WINAPI expMoDeleteMediaType(MY_MEDIA_TYPE* dest) { if (!dest) - return E_POINTER; + return E_POINTER; expMoFreeMediaType(dest); my_release(dest); return S_OK; @@ -4027,32 +4027,32 @@ static int exp_initterm(_INITTERMFUNC *start, _INITTERMFUNC *end) dbgprintf("_initterm(0x%x, 0x%x) %p\n", start, end, *start); while (start < end) { - if (*start) - { - //printf("call _initfunc: from: %p %d\n", *start); - // ok this trick with push/pop is necessary as otherwice - // edi/esi registers are being trashed - void* p = *start; - __asm__ __volatile__ - ( - "pushl %%ebx \n\t" - "pushl %%ecx \n\t" - "pushl %%edx \n\t" - "pushl %%edi \n\t" - "pushl %%esi \n\t" - "call *%%eax \n\t" - "popl %%esi \n\t" - "popl %%edi \n\t" - "popl %%edx \n\t" - "popl %%ecx \n\t" - "popl %%ebx \n\t" - : - : "a"(p) - : "memory" - ); + if (*start) + { + //printf("call _initfunc: from: %p %d\n", *start); + // ok this trick with push/pop is necessary as otherwice + // edi/esi registers are being trashed + void* p = *start; + __asm__ __volatile__ + ( + "pushl %%ebx \n\t" + "pushl %%ecx \n\t" + "pushl %%edx \n\t" + "pushl %%edi \n\t" + "pushl %%esi \n\t" + "call *%%eax \n\t" + "popl %%esi \n\t" + "popl %%edi \n\t" + "popl %%edx \n\t" + "popl %%ecx \n\t" + "popl %%ebx \n\t" + : + : "a"(p) + : "memory" + ); //printf("done %p %d:%d\n", end); - } - start++; + } + start++; } return 0; } @@ -4136,7 +4136,7 @@ static void* expwcscpy(WCHAR* dst, const WCHAR* src) { WCHAR* p = dst; while ((*p++ = *src++)) - ; + ; return dst; } @@ -4144,9 +4144,9 @@ static char* expstrrchr(char* string, int value) { char* result=strrchr(string, value); if(result) - dbgprintf("strrchr(0x%x='%s', %d) => 0x%x='%s'", string, string, value, result, result); + dbgprintf("strrchr(0x%x='%s', %d) => 0x%x='%s'", string, string, value, result, result); else - dbgprintf("strrchr(0x%x='%s', %d) => 0", string, string, value); + dbgprintf("strrchr(0x%x='%s', %d) => 0", string, string, value); return result; } @@ -4154,9 +4154,9 @@ static char* expstrchr(char* string, int value) { char* result=strchr(string, value); if(result) - dbgprintf("strchr(0x%x='%s', %d) => 0x%x='%s'", string, string, value, result, result); + dbgprintf("strchr(0x%x='%s', %d) => 0x%x='%s'", string, string, value, result, result); else - dbgprintf("strchr(0x%x='%s', %d) => 0", string, string, value); + dbgprintf("strchr(0x%x='%s', %d) => 0", string, string, value); return result; } static int expstrlen(char* str) @@ -4200,7 +4200,7 @@ static char* exp_strdup(const char* str1) int l = strlen(str1); char* result = (char*) my_mreq(l + 1,0); if (result) - strcpy(result, str1); + strcpy(result, str1); dbgprintf("_strdup(0x%x='%s') => %p\n", str1, str1, result); return result; } @@ -4296,21 +4296,21 @@ static long exp_ftol_wrong(double x) static void explog10(void) { __asm__ __volatile__ - ( - "fldl 8(%esp) \n\t" - "fldln2 \n\t" - "fxch %st(1) \n\t" - "fyl2x \n\t" - ); + ( + "fldl 8(%esp) \n\t" + "fldln2 \n\t" + "fxch %st(1) \n\t" + "fyl2x \n\t" + ); } static void expcos(void) { __asm__ __volatile__ - ( - "fldl 8(%esp) \n\t" - "fcos \n\t" - ); + ( + "fldl 8(%esp) \n\t" + "fcos \n\t" + ); } #endif @@ -4324,21 +4324,21 @@ static void expcos(void) static void exp_ftol(void) { __asm__ __volatile__ - ( - "sub $12, %esp \n\t" - "fstcw -2(%ebp) \n\t" - "wait \n\t" - "movw -2(%ebp), %ax \n\t" - "orb $0x0C, %ah \n\t" - "movw %ax, -4(%ebp) \n\t" - "fldcw -4(%ebp) \n\t" - "fistpl -12(%ebp) \n\t" - "fldcw -2(%ebp) \n\t" - "movl -12(%ebp), %eax \n\t" - //Note: gcc 3.03 does not do the following op if it - // knows that ebp=esp - "movl %ebp, %esp \n\t" - ); + ( + "sub $12, %esp \n\t" + "fstcw -2(%ebp) \n\t" + "wait \n\t" + "movw -2(%ebp), %ax \n\t" + "orb $0x0C, %ah \n\t" + "movw %ax, -4(%ebp) \n\t" + "fldcw -4(%ebp) \n\t" + "fistpl -12(%ebp) \n\t" + "fldcw -2(%ebp) \n\t" + "movl -12(%ebp), %eax \n\t" + //Note: gcc 3.03 does not do the following op if it + // knows that ebp=esp + "movl %ebp, %esp \n\t" + ); } #define FPU_DOUBLES(var1,var2) double var1,var2; \ @@ -4385,42 +4385,42 @@ static int exp_setjmp3(void* jmpbuf, int x) //dbgprintf("!!!!UNIMPLEMENTED: setjmp3(%p, %d) => 0\n", jmpbuf, x); //return 0; __asm__ __volatile__ - ( - //"mov 4(%%esp), %%edx \n\t" - "mov (%%esp), %%eax \n\t" - "mov %%eax, (%%edx) \n\t" // store ebp - - //"mov %%ebp, (%%edx) \n\t" - "mov %%ebx, 4(%%edx) \n\t" - "mov %%edi, 8(%%edx) \n\t" - "mov %%esi, 12(%%edx) \n\t" - "mov %%esp, 16(%%edx) \n\t" - - "mov 4(%%esp), %%eax \n\t" - "mov %%eax, 20(%%edx) \n\t" - - "movl $0x56433230, 32(%%edx) \n\t" // VC20 ?? - "movl $0, 36(%%edx) \n\t" - : // output - : "d"(jmpbuf) // input - : "eax" - ); + ( + //"mov 4(%%esp), %%edx \n\t" + "mov (%%esp), %%eax \n\t" + "mov %%eax, (%%edx) \n\t" // store ebp + + //"mov %%ebp, (%%edx) \n\t" + "mov %%ebx, 4(%%edx) \n\t" + "mov %%edi, 8(%%edx) \n\t" + "mov %%esi, 12(%%edx) \n\t" + "mov %%esp, 16(%%edx) \n\t" + + "mov 4(%%esp), %%eax \n\t" + "mov %%eax, 20(%%edx) \n\t" + + "movl $0x56433230, 32(%%edx) \n\t" // VC20 ?? + "movl $0, 36(%%edx) \n\t" + : // output + : "d"(jmpbuf) // input + : "eax" + ); #if 1 __asm__ __volatile__ - ( - "mov %%fs:0, %%eax \n\t" // unsure - "mov %%eax, 24(%%edx) \n\t" - "cmp $0xffffffff, %%eax \n\t" - "jnz l1 \n\t" - "mov %%eax, 28(%%edx) \n\t" - "l1: \n\t" - : - : - : "eax" - ); + ( + "mov %%fs:0, %%eax \n\t" // unsure + "mov %%eax, 24(%%edx) \n\t" + "cmp $0xffffffff, %%eax \n\t" + "jnz l1 \n\t" + "mov %%eax, 28(%%edx) \n\t" + "l1: \n\t" + : + : + : "eax" + ); #endif - return 0; + return 0; } static DWORD WINAPI expGetCurrentProcessId(void) @@ -4431,8 +4431,8 @@ static DWORD WINAPI expGetCurrentProcessId(void) typedef struct { - UINT wPeriodMin; - UINT wPeriodMax; + UINT wPeriodMin; + UINT wPeriodMax; } TIMECAPS, *LPTIMECAPS; static MMRESULT WINAPI exptimeGetDevCaps(LPTIMECAPS lpCaps, UINT wSize) @@ -4465,14 +4465,14 @@ static MMRESULT WINAPI exptimeEndPeriod(UINT wPeriod) static void WINAPI expGlobalMemoryStatus( LPMEMORYSTATUS lpmem ) { - static MEMORYSTATUS cached_memstatus; + static MEMORYSTATUS cached_memstatus; static int cache_lastchecked = 0; SYSTEM_INFO si; FILE *f; if (time(NULL)==cache_lastchecked) { - memcpy(lpmem,&cached_memstatus,sizeof(MEMORYSTATUS)); - return; + memcpy(lpmem,&cached_memstatus,sizeof(MEMORYSTATUS)); + return; } #if 1 @@ -4487,7 +4487,7 @@ static void WINAPI expGlobalMemoryStatus( lpmem->dwTotalPageFile = lpmem->dwAvailPageFile = 0; while (fgets( buffer, sizeof(buffer), f )) { - /* old style /proc/meminfo ... */ + /* old style /proc/meminfo ... */ if (sscanf( buffer, "Mem: %d %d %d %d %d %d", &total, &used, &free, &shared, &buffers, &cached )) { lpmem->dwTotalPhys += total; @@ -4499,19 +4499,19 @@ static void WINAPI expGlobalMemoryStatus( lpmem->dwAvailPageFile += free; } - /* new style /proc/meminfo ... */ - if (sscanf(buffer, "MemTotal: %d", &total)) - lpmem->dwTotalPhys = total*1024; - if (sscanf(buffer, "MemFree: %d", &free)) - lpmem->dwAvailPhys = free*1024; - if (sscanf(buffer, "SwapTotal: %d", &total)) - lpmem->dwTotalPageFile = total*1024; - if (sscanf(buffer, "SwapFree: %d", &free)) - lpmem->dwAvailPageFile = free*1024; - if (sscanf(buffer, "Buffers: %d", &buffers)) - lpmem->dwAvailPhys += buffers*1024; - if (sscanf(buffer, "Cached: %d", &cached)) - lpmem->dwAvailPhys += cached*1024; + /* new style /proc/meminfo ... */ + if (sscanf(buffer, "MemTotal: %d", &total)) + lpmem->dwTotalPhys = total*1024; + if (sscanf(buffer, "MemFree: %d", &free)) + lpmem->dwAvailPhys = free*1024; + if (sscanf(buffer, "SwapTotal: %d", &total)) + lpmem->dwTotalPageFile = total*1024; + if (sscanf(buffer, "SwapFree: %d", &free)) + lpmem->dwAvailPageFile = free*1024; + if (sscanf(buffer, "Buffers: %d", &buffers)) + lpmem->dwAvailPhys += buffers*1024; + if (sscanf(buffer, "Cached: %d", &cached)) + lpmem->dwAvailPhys += cached*1024; } fclose( f ); @@ -4525,12 +4525,12 @@ static void WINAPI expGlobalMemoryStatus( } else #endif { - /* FIXME: should do something for other systems */ - lpmem->dwMemoryLoad = 0; - lpmem->dwTotalPhys = 16*1024*1024; - lpmem->dwAvailPhys = 16*1024*1024; - lpmem->dwTotalPageFile = 16*1024*1024; - lpmem->dwAvailPageFile = 16*1024*1024; + /* FIXME: should do something for other systems */ + lpmem->dwMemoryLoad = 0; + lpmem->dwTotalPhys = 16*1024*1024; + lpmem->dwAvailPhys = 16*1024*1024; + lpmem->dwTotalPageFile = 16*1024*1024; + lpmem->dwAvailPageFile = 16*1024*1024; } expGetSystemInfo(&si); lpmem->dwTotalVirtual = si.lpMaximumApplicationAddress-si.lpMinimumApplicationAddress; @@ -4572,7 +4572,7 @@ static INT WINAPI expMessageBoxA(HWND hWnd, LPCSTR text, LPCSTR title, UINT type printf("MSGBOX '%s' '%s' (%d)\n",text,title,type); #ifdef QTX if (type == MB_ICONHAND && !strlen(text) && !strlen(title)) - return IDIGNORE; + return IDIGNORE; #endif return IDOK; } @@ -4627,25 +4627,25 @@ static int expDirectDrawCreate(void) } #if 1 -typedef struct tagPALETTEENTRY { - BYTE peRed; - BYTE peGreen; - BYTE peBlue; - BYTE peFlags; -} PALETTEENTRY; +typedef struct tagPALETTEENTRY { + BYTE peRed; + BYTE peGreen; + BYTE peBlue; + BYTE peFlags; +} PALETTEENTRY; /* reversed the first 2 entries */ -typedef struct tagLOGPALETTE { - WORD palNumEntries; - WORD palVersion; - PALETTEENTRY palPalEntry[1]; -} LOGPALETTE; +typedef struct tagLOGPALETTE { + WORD palNumEntries; + WORD palVersion; + PALETTEENTRY palPalEntry[1]; +} LOGPALETTE; static HPALETTE WINAPI expCreatePalette(CONST LOGPALETTE *lpgpl) { HPALETTE test; int i; - + dbgprintf("CreatePalette(%x) => NULL\n", lpgpl); i = sizeof(LOGPALETTE)+((lpgpl->palNumEntries-1)*sizeof(PALETTEENTRY)); @@ -4673,10 +4673,10 @@ static int WINAPI expGetClientRect(HWND win, RECT *r) } #if 0 -typedef struct tagPOINT { - LONG x; - LONG y; -} POINT, *PPOINT; +typedef struct tagPOINT { + LONG x; + LONG y; +} POINT, *PPOINT; #endif static int WINAPI expClientToScreen(HWND win, POINT *p) @@ -4705,7 +4705,7 @@ static int WINAPI expDialogBoxParamA(void *inst, const char *name, HWND parent, void *dialog_func, void *init_param) { dbgprintf("DialogBoxParamA(0x%x, 0x%x = %s, 0x%x, 0x%x, 0x%x) => 0x42424242\n", - inst, name, name, parent, dialog_func, init_param); + inst, name, name, parent, dialog_func, init_param); return 0x42424242; } @@ -4714,9 +4714,9 @@ static void *exprealloc(void *ptr, size_t size) { dbgprintf("realloc(0x%x, %x)\n", ptr, size); if (!ptr) - return my_mreq(size,0); + return my_mreq(size,0); else - return my_realloc(ptr, size); + return my_realloc(ptr, size); } /* Fake GetOpenFileNameA from comdlg32.dll for ViVD codec */ @@ -5114,19 +5114,19 @@ struct exports exp_oleaut32[]={ }; /* realplayer8: - DLL Name: PNCRT.dll - vma: Hint/Ord Member-Name - 22ff4 615 free - 2302e 250 _ftol - 22fea 666 malloc - 2303e 609 fprintf - 2305e 167 _adjust_fdiv - 23052 280 _initterm - - 22ffc 176 _beginthreadex - 23036 284 _iob - 2300e 85 __CxxFrameHandler - 23022 411 _purecall + DLL Name: PNCRT.dll + vma: Hint/Ord Member-Name + 22ff4 615 free + 2302e 250 _ftol + 22fea 666 malloc + 2303e 609 fprintf + 2305e 167 _adjust_fdiv + 23052 280 _initterm + + 22ffc 176 _beginthreadex + 23036 284 _iob + 2300e 85 __CxxFrameHandler + 23022 411 _purecall */ #ifdef REALPLAYER struct exports exp_pncrt[]={ @@ -5189,39 +5189,39 @@ static void ext_stubs(void) // cx address of printf function #if 1 __asm__ __volatile__ - ( - "push %%edx \n\t" - "movl $0xdeadbeef, %%eax \n\t" - "movl $0xdeadbeef, %%edx \n\t" - "shl $5, %%eax \n\t" // ax * 32 - "addl $0xdeadbeef, %%eax \n\t" // overwrite export_names - "pushl %%eax \n\t" - "pushl $0xdeadbeef \n\t" // overwrite called_unk - "call *%%edx \n\t" // printf (via dx) - "addl $8, %%esp \n\t" - "xorl %%eax, %%eax \n\t" - "pop %%edx \n\t" - : - : - : "eax" - ); + ( + "push %%edx \n\t" + "movl $0xdeadbeef, %%eax \n\t" + "movl $0xdeadbeef, %%edx \n\t" + "shl $5, %%eax \n\t" // ax * 32 + "addl $0xdeadbeef, %%eax \n\t" // overwrite export_names + "pushl %%eax \n\t" + "pushl $0xdeadbeef \n\t" // overwrite called_unk + "call *%%edx \n\t" // printf (via dx) + "addl $8, %%esp \n\t" + "xorl %%eax, %%eax \n\t" + "pop %%edx \n\t" + : + : + : "eax" + ); #else __asm__ __volatile__ - ( - "push %%edx \n\t" - "movl $0, %%eax \n\t" - "movl $0, %%edx \n\t" - "shl $5, %%eax \n\t" // ax * 32 - "addl %0, %%eax \n\t" - "pushl %%eax \n\t" - "pushl %1 \n\t" - "call *%%edx \n\t" // printf (via dx) - "addl $8, %%esp \n\t" - "xorl %%eax, %%eax \n\t" - "pop %%edx \n\t" - ::"m"(*export_names), "m"(*called_unk) - : "memory", "edx", "eax" - ); + ( + "push %%edx \n\t" + "movl $0, %%eax \n\t" + "movl $0, %%edx \n\t" + "shl $5, %%eax \n\t" // ax * 32 + "addl %0, %%eax \n\t" + "pushl %%eax \n\t" + "pushl %1 \n\t" + "call *%%edx \n\t" // printf (via dx) + "addl $8, %%esp \n\t" + "xorl %%eax, %%eax \n\t" + "pop %%edx \n\t" + ::"m"(*export_names), "m"(*called_unk) + : "memory", "edx", "eax" + ); #endif } @@ -5260,8 +5260,8 @@ void* LookupExternal(const char* library, int ordinal) int i,j; if(library==0) { - printf("ERROR: library=0\n"); - return (void*)ext_unknown; + printf("ERROR: library=0\n"); + return (void*)ext_unknown; } // printf("%x %x\n", &unk_exp1, &unk_exp2); @@ -5269,15 +5269,15 @@ void* LookupExternal(const char* library, int ordinal) for(i=0; i) + * RIFF('AVI' + * LIST('hdrl' + * avih() * LIST ('strl' * strh() * strf() * ... additional header data - * LIST('movi' - * { LIST('rec' - * SubChunk... - * ) - * | SubChunk } .... + * LIST('movi' + * { LIST('rec' + * SubChunk... + * ) + * | SubChunk } .... * ) * [ ] * ) * - * The main file header specifies how many streams are present. For - * each one, there must be a stream header chunk and a stream format - * chunk, enlosed in a 'strl' LIST chunk. The 'strf' chunk contains - * type-specific format information; for a video stream, this should - * be a BITMAPINFO structure, including palette. For an audio stream, - * this should be a WAVEFORMAT (or PCMWAVEFORMAT) structure. + * The main file header specifies how many streams are present. For + * each one, there must be a stream header chunk and a stream format + * chunk, enlosed in a 'strl' LIST chunk. The 'strf' chunk contains + * type-specific format information; for a video stream, this should + * be a BITMAPINFO structure, including palette. For an audio stream, + * this should be a WAVEFORMAT (or PCMWAVEFORMAT) structure. * - * The actual data is contained in subchunks within the 'movi' LIST - * chunk. The first two characters of each data chunk are the - * stream number with which that data is associated. + * The actual data is contained in subchunks within the 'movi' LIST + * chunk. The first two characters of each data chunk are the + * stream number with which that data is associated. * - * Some defined chunk types: + * Some defined chunk types: * Video Streams: - * ##db: RGB DIB bits - * ##dc: RLE8 compressed DIB bits - * ##pc: Palette Change + * ##db: RGB DIB bits + * ##dc: RLE8 compressed DIB bits + * ##pc: Palette Change * * Audio Streams: - * ##wb: waveform audio bytes + * ##wb: waveform audio bytes * * The grouping into LIST 'rec' chunks implies only that the contents of * the chunk should be read into memory at the same time. This - * grouping is used for files specifically intended to be played from + * grouping is used for files specifically intended to be played from * CD-ROM. * - * The index chunk at the end of the file should contain one entry for + * The index chunk at the end of the file should contain one entry for * each data chunk in the file. - * + * * Limitations for the current software: - * Only one video stream and one audio stream are allowed. - * The streams must start at the beginning of the file. - * + * Only one video stream and one audio stream are allowed. + * The streams must start at the beginning of the file. * + * * To register codec types please obtain a copy of the Multimedia * Developer Registration Kit from: * @@ -89,9 +89,9 @@ typedef DWORD FOURCC; */ #ifndef mmioFOURCC -#define mmioFOURCC( ch0, ch1, ch2, ch3 ) \ - ( (DWORD)(BYTE)(ch0) | ( (DWORD)(BYTE)(ch1) << 8 ) | \ - ( (DWORD)(BYTE)(ch2) << 16 ) | ( (DWORD)(BYTE)(ch3) << 24 ) ) +#define mmioFOURCC( ch0, ch1, ch2, ch3 ) \ + ( (DWORD)(BYTE)(ch0) | ( (DWORD)(BYTE)(ch1) << 8 ) | \ + ( (DWORD)(BYTE)(ch2) << 16 ) | ( (DWORD)(BYTE)(ch3) << 24 ) ) #endif /* Macro to make a TWOCC out of two characters */ @@ -109,7 +109,7 @@ typedef WORD TWOCC; #define ckidSTREAMHEADER mmioFOURCC('s', 't', 'r', 'h') #define ckidSTREAMFORMAT mmioFOURCC('s', 't', 'r', 'f') #define ckidSTREAMHANDLERDATA mmioFOURCC('s', 't', 'r', 'd') -#define ckidSTREAMNAME mmioFOURCC('s', 't', 'r', 'n') +#define ckidSTREAMNAME mmioFOURCC('s', 't', 'r', 'n') #define listtypeAVIMOVIE mmioFOURCC('m', 'o', 'v', 'i') #define listtypeAVIRECORD mmioFOURCC('r', 'e', 'c', ' ') @@ -121,7 +121,7 @@ typedef WORD TWOCC; */ #define streamtypeVIDEO mmioFOURCC('v', 'i', 'd', 's') #define streamtypeAUDIO mmioFOURCC('a', 'u', 'd', 's') -#define streamtypeMIDI mmioFOURCC('m', 'i', 'd', 's') +#define streamtypeMIDI mmioFOURCC('m', 'i', 'd', 's') #define streamtypeTEXT mmioFOURCC('t', 'x', 't', 's') /* Basic chunk types */ @@ -141,7 +141,7 @@ typedef WORD TWOCC; */ /* Macro to get stream number out of a FOURCC ckid */ -#define FromHex(n) (((n) >= 'A') ? ((n) + 10 - 'A') : ((n) - '0')) +#define FromHex(n) (((n) >= 'A') ? ((n) + 10 - 'A') : ((n) - '0')) #define StreamFromFOURCC(fcc) ((WORD) ((FromHex(LOBYTE(LOWORD(fcc))) << 4) + \ (FromHex(HIBYTE(LOWORD(fcc)))))) @@ -151,75 +151,75 @@ typedef WORD TWOCC; /* Macro to make a ckid for a chunk out of a TWOCC and a stream number ** from 0-255. */ -#define ToHex(n) ((BYTE) (((n) > 9) ? ((n) - 10 + 'A') : ((n) + '0'))) +#define ToHex(n) ((BYTE) (((n) > 9) ? ((n) - 10 + 'A') : ((n) + '0'))) #define MAKEAVICKID(tcc, stream) \ MAKELONG((ToHex((stream) & 0x0f) << 8) | \ - (ToHex(((stream) & 0xf0) >> 4)), tcc) + (ToHex(((stream) & 0xf0) >> 4)), tcc) /* -** Main AVI File Header -*/ - +** Main AVI File Header +*/ + /* flags for use in in AVIFileHdr */ -#define AVIF_HASINDEX 0x00000010 // Index at end of file? -#define AVIF_MUSTUSEINDEX 0x00000020 -#define AVIF_ISINTERLEAVED 0x00000100 -#define AVIF_TRUSTCKTYPE 0x00000800 // Use CKType to find key frames? -#define AVIF_WASCAPTUREFILE 0x00010000 -#define AVIF_COPYRIGHTED 0x00020000 +#define AVIF_HASINDEX 0x00000010 // Index at end of file? +#define AVIF_MUSTUSEINDEX 0x00000020 +#define AVIF_ISINTERLEAVED 0x00000100 +#define AVIF_TRUSTCKTYPE 0x00000800 // Use CKType to find key frames? +#define AVIF_WASCAPTUREFILE 0x00010000 +#define AVIF_COPYRIGHTED 0x00020000 /* The AVI File Header LIST chunk should be padded to this size */ #define AVI_HEADERSIZE 2048 // size of AVI header list typedef struct { - DWORD dwMicroSecPerFrame; // frame display rate (or 0L) - DWORD dwMaxBytesPerSec; // max. transfer rate - DWORD dwPaddingGranularity; // pad to multiples of this + DWORD dwMicroSecPerFrame; // frame display rate (or 0L) + DWORD dwMaxBytesPerSec; // max. transfer rate + DWORD dwPaddingGranularity; // pad to multiples of this // size; normally 2K. - DWORD dwFlags; // the ever-present flags - DWORD dwTotalFrames; // # frames in file - DWORD dwInitialFrames; - DWORD dwStreams; - DWORD dwSuggestedBufferSize; - - DWORD dwWidth; - DWORD dwHeight; - - DWORD dwReserved[4]; + DWORD dwFlags; // the ever-present flags + DWORD dwTotalFrames; // # frames in file + DWORD dwInitialFrames; + DWORD dwStreams; + DWORD dwSuggestedBufferSize; + + DWORD dwWidth; + DWORD dwHeight; + + DWORD dwReserved[4]; } MainAVIHeader; /* ** Stream header */ -#define AVISF_DISABLED 0x00000001 +#define AVISF_DISABLED 0x00000001 -#define AVISF_VIDEO_PALCHANGES 0x00010000 +#define AVISF_VIDEO_PALCHANGES 0x00010000 - + typedef struct { - FOURCC fccType; - FOURCC fccHandler; - DWORD dwFlags; /* Contains AVITF_* flags */ - WORD wPriority; - WORD wLanguage; - DWORD dwInitialFrames; - DWORD dwScale; - DWORD dwRate; /* dwRate / dwScale == samples/second */ - DWORD dwStart; - DWORD dwLength; /* In units above... */ - DWORD dwSuggestedBufferSize; - DWORD dwQuality; - DWORD dwSampleSize; - RECT rcFrame; + FOURCC fccType; + FOURCC fccHandler; + DWORD dwFlags; /* Contains AVITF_* flags */ + WORD wPriority; + WORD wLanguage; + DWORD dwInitialFrames; + DWORD dwScale; + DWORD dwRate; /* dwRate / dwScale == samples/second */ + DWORD dwStart; + DWORD dwLength; /* In units above... */ + DWORD dwSuggestedBufferSize; + DWORD dwQuality; + DWORD dwSampleSize; + RECT rcFrame; } AVIStreamHeader; /* Flags for index */ #define AVIIF_LIST 0x00000001L // chunk is a 'LIST' #define AVIIF_KEYFRAME 0x00000010L // this frame is a key frame. -#define AVIIF_NOTIME 0x00000100L // this frame doesn't take any time +#define AVIIF_NOTIME 0x00000100L // this frame doesn't take any time #define AVIIF_COMPUSE 0x0FFF0000L // these bits are for compressor use #define FOURCC_RIFF mmioFOURCC('R', 'I', 'F', 'F') @@ -227,13 +227,13 @@ typedef struct { typedef struct { - DWORD ckid; - DWORD dwFlags; - DWORD dwChunkOffset; // Position of chunk - DWORD dwChunkLength; // Length of chunk + DWORD ckid; + DWORD dwFlags; + DWORD dwChunkOffset; // Position of chunk + DWORD dwChunkLength; // Length of chunk } AVIINDEXENTRY; -#define AVISTREAMREAD_CONVENIENT (-1L) +#define AVISTREAMREAD_CONVENIENT (-1L) /* ** Palette change chunk diff --git a/libs/loader/wine/driver.h b/libs/loader/wine/driver.h index d3867c975e..dc8661aa3a 100644 --- a/libs/loader/wine/driver.h +++ b/libs/loader/wine/driver.h @@ -9,19 +9,19 @@ #define MMSYSERR_BASE 0 -#define MMSYSERR_NOERROR 0 /* no error */ -#define MMSYSERR_ERROR (MMSYSERR_BASE + 1) /* unspecified error */ -#define MMSYSERR_BADDEVICEID (MMSYSERR_BASE + 2) /* device ID out of range */ -#define MMSYSERR_NOTENABLED (MMSYSERR_BASE + 3) /* driver failed enable */ -#define MMSYSERR_ALLOCATED (MMSYSERR_BASE + 4) /* device already allocated */ -#define MMSYSERR_INVALHANDLE (MMSYSERR_BASE + 5) /* device handle is invalid */ -#define MMSYSERR_NODRIVER (MMSYSERR_BASE + 6) /* no device driver present */ -#define MMSYSERR_NOMEM (MMSYSERR_BASE + 7) /* memory allocation error */ -#define MMSYSERR_NOTSUPPORTED (MMSYSERR_BASE + 8) /* function isn't supported */ -#define MMSYSERR_BADERRNUM (MMSYSERR_BASE + 9) /* error value out of range */ -#define MMSYSERR_INVALFLAG (MMSYSERR_BASE + 10) /* invalid flag passed */ -#define MMSYSERR_INVALPARAM (MMSYSERR_BASE + 11) /* invalid parameter passed */ -#define MMSYSERR_LASTERROR (MMSYSERR_BASE + 11) /* last error in range */ +#define MMSYSERR_NOERROR 0 /* no error */ +#define MMSYSERR_ERROR (MMSYSERR_BASE + 1) /* unspecified error */ +#define MMSYSERR_BADDEVICEID (MMSYSERR_BASE + 2) /* device ID out of range */ +#define MMSYSERR_NOTENABLED (MMSYSERR_BASE + 3) /* driver failed enable */ +#define MMSYSERR_ALLOCATED (MMSYSERR_BASE + 4) /* device already allocated */ +#define MMSYSERR_INVALHANDLE (MMSYSERR_BASE + 5) /* device handle is invalid */ +#define MMSYSERR_NODRIVER (MMSYSERR_BASE + 6) /* no device driver present */ +#define MMSYSERR_NOMEM (MMSYSERR_BASE + 7) /* memory allocation error */ +#define MMSYSERR_NOTSUPPORTED (MMSYSERR_BASE + 8) /* function isn't supported */ +#define MMSYSERR_BADERRNUM (MMSYSERR_BASE + 9) /* error value out of range */ +#define MMSYSERR_INVALFLAG (MMSYSERR_BASE + 10) /* invalid flag passed */ +#define MMSYSERR_INVALPARAM (MMSYSERR_BASE + 11) /* invalid parameter passed */ +#define MMSYSERR_LASTERROR (MMSYSERR_BASE + 11) /* last error in range */ #define DRV_LOAD 0x0001 #define DRV_ENABLE 0x0002 @@ -42,29 +42,29 @@ #define DRVCNF_CANCEL 0x0000 #define DRVCNF_OK 0x0001 -#define DRVCNF_RESTART 0x0002 +#define DRVCNF_RESTART 0x0002 -#define DRVEA_NORMALEXIT 0x0001 -#define DRVEA_ABNORMALEXIT 0x0002 +#define DRVEA_NORMALEXIT 0x0001 +#define DRVEA_ABNORMALEXIT 0x0002 -#define DRV_SUCCESS 0x0001 -#define DRV_FAILURE 0x0000 +#define DRV_SUCCESS 0x0001 +#define DRV_FAILURE 0x0000 -#define GND_FIRSTINSTANCEONLY 0x00000001 +#define GND_FIRSTINSTANCEONLY 0x00000001 -#define GND_FORWARD 0x00000000 -#define GND_REVERSE 0x00000002 +#define GND_FORWARD 0x00000000 +#define GND_REVERSE 0x00000002 typedef struct { - DWORD dwDCISize; - LPCSTR lpszDCISectionName; - LPCSTR lpszDCIAliasName; + DWORD dwDCISize; + LPCSTR lpszDCISectionName; + LPCSTR lpszDCIAliasName; } DRVCONFIGINFO16, *LPDRVCONFIGINFO16; typedef struct { - DWORD dwDCISize; - LPCWSTR lpszDCISectionName; - LPCWSTR lpszDCIAliasName; + DWORD dwDCISize; + LPCWSTR lpszDCISectionName; + LPCWSTR lpszDCIAliasName; } DRVCONFIGINFO, *LPDRVCONFIGINFO; @@ -74,13 +74,13 @@ typedef struct { */ typedef struct { - UINT16 length; - HDRVR16 hDriver; - HINSTANCE16 hModule; - CHAR szAliasName[128]; + UINT16 length; + HDRVR16 hDriver; + HINSTANCE16 hModule; + CHAR szAliasName[128]; } DRIVERINFOSTRUCT16, *LPDRIVERINFOSTRUCT16; -LRESULT WINAPI DefDriverProc16(DWORD dwDevID, HDRVR16 hDriv, UINT16 wMsg, +LRESULT WINAPI DefDriverProc16(DWORD dwDevID, HDRVR16 hDriv, UINT16 wMsg, LPARAM dwParam1, LPARAM dwParam2); LRESULT WINAPI DefDriverProc(DWORD dwDriverIdentifier, HDRVR hdrvr, UINT Msg, LPARAM lParam1, LPARAM lParam2); @@ -105,8 +105,8 @@ DWORD WINAPI GetDriverFlags( HDRVR hDriver ); /* this call (GetDriverFlags) is not documented, nor the flags returned. * here are Wine only definitions */ -#define WINE_GDF_EXIST 0x80000000 -#define WINE_GDF_16BIT 0x10000000 +#define WINE_GDF_EXIST 0x80000000 +#define WINE_GDF_16BIT 0x10000000 #endif #endif /* __WINE_DRIVER_H */ diff --git a/libs/loader/wine/heap.h b/libs/loader/wine/heap.h index a5898c3a91..bd0604b752 100644 --- a/libs/loader/wine/heap.h +++ b/libs/loader/wine/heap.h @@ -31,7 +31,7 @@ extern LPSTR HEAP_strdupWtoA( HANDLE heap, DWORD flags, LPCWSTR str ); (HIWORD(str) ? HEAP_strdupA( SegptrHeap, 0, (str) ) : (LPSTR)(str)) #define SEGPTR_STRDUP_WtoA(str) \ (HIWORD(str) ? HEAP_strdupWtoA( SegptrHeap, 0, (str) ) : (LPSTR)(str)) - /* define an inline function, a macro won't do */ + /* define an inline function, a macro won't do */ static inline SEGPTR WINE_UNUSED SEGPTR_Get(LPCVOID ptr) { return (HIWORD(ptr) ? HEAP_GetSegptr( SegptrHeap, 0, ptr ) : (SEGPTR)ptr); } diff --git a/libs/loader/wine/mmreg.h b/libs/loader/wine/mmreg.h index 15a46040dd..8529569d28 100644 --- a/libs/loader/wine/mmreg.h +++ b/libs/loader/wine/mmreg.h @@ -48,7 +48,7 @@ typedef struct __attribute__((__packed__)) WAVEFILTER_ECHO { DWORD dwDelay; } ECHOWAVEFILTER, *PECHOWAVEFILTER, *NPECHOWAVEFILTER, *LPECHOWAVEFILTER; #endif /* WAVEFILTER_ECHO */ - + #ifndef _WAVEFORMATEX_ #define _WAVEFORMATEX_ typedef struct __attribute__((__packed__)) _WAVEFORMATEX { diff --git a/libs/loader/wine/module.h b/libs/loader/wine/module.h index 0c0d90db11..6f6b31a0a7 100644 --- a/libs/loader/wine/module.h +++ b/libs/loader/wine/module.h @@ -48,7 +48,7 @@ typedef struct FARPROC16 BootApp; /* startup procedure */ FARPROC16 LoadAppSeg; /* procedure to load a segment */ FARPROC16 reserved2; - FARPROC16 MyAlloc; /* memory allocation procedure, + FARPROC16 MyAlloc; /* memory allocation procedure, * wine must write this field */ FARPROC16 EntryAddrProc; FARPROC16 ExitProc; /* exit procedure */ @@ -65,7 +65,7 @@ typedef struct SEGPTR reserved WINE_PACKED; } LOADPARAMS16; -typedef struct +typedef struct { LPSTR lpEnvAddress; LPSTR lpCmdLine; @@ -77,33 +77,33 @@ typedef struct /* internal representation of 32bit modules. per process. */ typedef enum { - MODULE32_PE = 1, - MODULE32_ELF, - MODULE32_ELFDLL + MODULE32_PE = 1, + MODULE32_ELF, + MODULE32_ELFDLL } MODULE32_TYPE; typedef struct _wine_modref { - struct _wine_modref *next; - struct _wine_modref *prev; - MODULE32_TYPE type; - union { - PE_MODREF pe; - ELF_MODREF elf; - } binfmt; - - HMODULE module; - - int nDeps; - struct _wine_modref **deps; - - int flags; - int refCount; - - char *filename; - char *modname; - char *short_filename; - char *short_modname; + struct _wine_modref *next; + struct _wine_modref *prev; + MODULE32_TYPE type; + union { + PE_MODREF pe; + ELF_MODREF elf; + } binfmt; + + HMODULE module; + + int nDeps; + struct _wine_modref **deps; + + int flags; + int refCount; + + char *filename; + char *modname; + char *short_filename; + char *short_modname; } WINE_MODREF; #define WINE_MODREF_INTERNAL 0x00000001 @@ -144,6 +144,6 @@ extern WINE_MODREF *MODULE32_LookupHMODULE( HMODULE hModule ); extern WINE_MODREF *MODULE_FindModule( LPCSTR path ); /* resource.c */ -extern INT WINAPI AccessResource(HMODULE,HRSRC); +extern INT WINAPI AccessResource(HMODULE,HRSRC); #endif /* __WINE_MODULE_H */ diff --git a/libs/loader/wine/msacm.h b/libs/loader/wine/msacm.h index e4fbe9aefd..10e87e61a5 100644 --- a/libs/loader/wine/msacm.h +++ b/libs/loader/wine/msacm.h @@ -15,12 +15,12 @@ extern "C" { //typedef WORD VERSION; /* major (high byte), minor (low byte) */ -typedef UINT16 MMVERSION16; -typedef UINT MMVERSION; -typedef UINT16 MCIDEVICEID16; -typedef UINT MCIDEVICEID; -typedef UINT16 MMRESULT16; -typedef UINT MMRESULT; +typedef UINT16 MMVERSION16; +typedef UINT MMVERSION; +typedef UINT16 MCIDEVICEID16; +typedef UINT MCIDEVICEID; +typedef UINT16 MMRESULT16; +typedef UINT MMRESULT; typedef DWORD FOURCC; /* a four character code */ @@ -339,7 +339,7 @@ typedef struct _ACMFILTERCHOOSEA DWORD fdwEnum; PWAVEFILTER pwfltrEnum; - + HINSTANCE hInstance; LPCSTR pszTemplateName; LPARAM lCustData; @@ -365,7 +365,7 @@ typedef struct _ACMFILTERCHOOSEW DWORD fdwEnum; PWAVEFILTER pwfltrEnum; - + HINSTANCE hInstance; LPCWSTR pszTemplateName; LPARAM lCustData; @@ -391,7 +391,7 @@ typedef struct _ACMFILTERCHOOSE16 DWORD fdwEnum; LPWAVEFILTER pwfltrEnum; - + HINSTANCE16 hInstance; LPCSTR pszTemplateName; LPARAM lCustData; @@ -474,16 +474,16 @@ typedef struct _ACMFORMATCHOOSEA PWAVEFORMATEX pwfx; DWORD cbwfx; LPCSTR pszTitle; - + CHAR szFormatTag[ACMFORMATTAGDETAILS_FORMATTAG_CHARS]; - CHAR szFormat[ACMFORMATDETAILS_FORMAT_CHARS]; + CHAR szFormat[ACMFORMATDETAILS_FORMAT_CHARS]; LPSTR pszName; DWORD cchName; DWORD fdwEnum; PWAVEFORMATEX pwfxEnum; - + HINSTANCE hInstance; LPCSTR pszTemplateName; LPARAM lCustData; @@ -494,22 +494,22 @@ typedef struct _ACMFORMATCHOOSEW { DWORD cbStruct; DWORD fdwStyle; - + HWND hwndOwner; PWAVEFORMATEX pwfx; DWORD cbwfx; LPCWSTR pszTitle; - + WCHAR szFormatTag[ACMFORMATTAGDETAILS_FORMATTAG_CHARS]; - WCHAR szFormat[ACMFORMATDETAILS_FORMAT_CHARS]; + WCHAR szFormat[ACMFORMATDETAILS_FORMAT_CHARS]; LPWSTR pszName; DWORD cchName; DWORD fdwEnum; LPWAVEFORMATEX pwfxEnum; - + HINSTANCE hInstance; LPCWSTR pszTemplateName; LPARAM lCustData; @@ -520,22 +520,22 @@ typedef struct _ACMFORMATCHOOSE16 { DWORD cbStruct; DWORD fdwStyle; - + HWND16 hwndOwner; LPWAVEFORMATEX pwfx; DWORD cbwfx; LPCSTR pszTitle; - + CHAR szFormatTag[ACMFORMATTAGDETAILS_FORMATTAG_CHARS]; - CHAR szFormat[ACMFORMATDETAILS_FORMAT_CHARS]; + CHAR szFormat[ACMFORMATDETAILS_FORMAT_CHARS]; LPSTR pszName; DWORD cchName; DWORD fdwEnum; LPWAVEFORMATEX pwfxEnum; - + HINSTANCE16 hInstance; LPCSTR pszTemplateName; LPARAM lCustData; @@ -744,7 +744,7 @@ MMRESULT16 WINAPI acmFormatEnum16( ACMFORMATENUMCB16 fnCallback, DWORD dwInstance, DWORD fdwEnum ); MMRESULT16 WINAPI acmFormatSuggest16( - HACMDRIVER16 had, LPWAVEFORMATEX pwfxSrc, + HACMDRIVER16 had, LPWAVEFORMATEX pwfxSrc, LPWAVEFORMATEX pwfxDst, DWORD cbwfxDst, DWORD fdwSuggest ); MMRESULT16 WINAPI acmFilterTagDetails16( @@ -774,7 +774,7 @@ MMRESULT16 WINAPI acmStreamClose16( HACMSTREAM16 has, DWORD fdwClose ); MMRESULT16 WINAPI acmStreamSize16( - HACMSTREAM16 has, DWORD cbInput, + HACMSTREAM16 has, DWORD cbInput, LPDWORD pdwOutputBytes, DWORD fdwSize ); MMRESULT16 WINAPI acmStreamConvert16( @@ -842,11 +842,11 @@ MMRESULT WINAPI acmFilterDetailsW( HACMDRIVER had, PACMFILTERDETAILSW pafd, DWORD fdwDetails ); MMRESULT WINAPI acmFilterEnumA( - HACMDRIVER had, PACMFILTERDETAILSA pafd, + HACMDRIVER had, PACMFILTERDETAILSA pafd, ACMFILTERENUMCBA fnCallback, DWORD dwInstance, DWORD fdwEnum ); MMRESULT WINAPI acmFilterEnumW( - HACMDRIVER had, PACMFILTERDETAILSW pafd, + HACMDRIVER had, PACMFILTERDETAILSW pafd, ACMFILTERENUMCBW fnCallback, DWORD dwInstance, DWORD fdwEnum ); MMRESULT WINAPI acmFilterTagDetailsA( @@ -927,7 +927,7 @@ MMRESULT WINAPI acmStreamReset( HACMSTREAM has, DWORD fdwReset ); MMRESULT WINAPI acmStreamSize( - HACMSTREAM has, DWORD cbInput, + HACMSTREAM has, DWORD cbInput, LPDWORD pdwOutputBytes, DWORD fdwSize ); MMRESULT WINAPI acmStreamUnprepareHeader( diff --git a/libs/loader/wine/msacmdrv.h b/libs/loader/wine/msacmdrv.h index fcd1a4833d..2e23a17d79 100644 --- a/libs/loader/wine/msacmdrv.h +++ b/libs/loader/wine/msacmdrv.h @@ -19,7 +19,7 @@ #define MAKE_ACM_VERSION(mjr, mnr, bld) \ (((long)(mjr)<<24) | ((long)(mnr)<<16) | ((long)bld)) -#define ACMDRVOPENDESC_SECTIONNAME_CHARS +#define ACMDRVOPENDESC_SECTIONNAME_CHARS #define ACMDM_DRIVER_NOTIFY (ACMDM_BASE + 1) #define ACMDM_DRIVER_DETAILS (ACMDM_BASE + 10) diff --git a/libs/loader/wine/pe_image.h b/libs/loader/wine/pe_image.h index ce1cc976fc..3f550ba467 100644 --- a/libs/loader/wine/pe_image.h +++ b/libs/loader/wine/pe_image.h @@ -18,10 +18,10 @@ * all section are calculated here, relocations etc. */ typedef struct { - PIMAGE_IMPORT_DESCRIPTOR pe_import; - PIMAGE_EXPORT_DIRECTORY pe_export; - PIMAGE_RESOURCE_DIRECTORY pe_resource; - int tlsindex; + PIMAGE_IMPORT_DESCRIPTOR pe_import; + PIMAGE_EXPORT_DIRECTORY pe_export; + PIMAGE_RESOURCE_DIRECTORY pe_resource; + int tlsindex; } PE_MODREF; struct _wine_modref; @@ -41,7 +41,7 @@ extern HGLOBAL PE_LoadResource(struct _wine_modref *wm,HRSRC); extern HMODULE PE_LoadImage( int hFile, LPCSTR filename, WORD *version ); extern struct _wine_modref *PE_CreateModule( HMODULE hModule, LPCSTR filename, DWORD flags, WIN_BOOL builtin ); -extern WIN_BOOL PE_CreateProcess( HANDLE hFile, LPCSTR filename, LPCSTR cmd_line, LPCSTR env, +extern WIN_BOOL PE_CreateProcess( HANDLE hFile, LPCSTR filename, LPCSTR cmd_line, LPCSTR env, LPSECURITY_ATTRIBUTES psa, LPSECURITY_ATTRIBUTES tsa, WIN_BOOL inherit, DWORD flags, LPSTARTUPINFOA startup, LPPROCESS_INFORMATION info ); @@ -55,23 +55,23 @@ extern PIMAGE_RESOURCE_DIRECTORY GetResDirEntryW(PIMAGE_RESOURCE_DIRECTORY,LPCWS typedef DWORD CALLBACK (*DLLENTRYPROC)(HMODULE,DWORD,LPVOID); typedef struct { - WORD popl WINE_PACKED; /* 0x8f 0x05 */ - DWORD addr_popped WINE_PACKED;/* ... */ - BYTE pushl1 WINE_PACKED; /* 0x68 */ - DWORD newret WINE_PACKED; /* ... */ - BYTE pushl2 WINE_PACKED; /* 0x68 */ - DWORD origfun WINE_PACKED; /* original function */ - BYTE ret1 WINE_PACKED; /* 0xc3 */ - WORD addesp WINE_PACKED; /* 0x83 0xc4 */ - BYTE nrofargs WINE_PACKED; /* nr of arguments to add esp, */ - BYTE pushl3 WINE_PACKED; /* 0x68 */ - DWORD oldret WINE_PACKED; /* Filled out from popl above */ - BYTE ret2 WINE_PACKED; /* 0xc3 */ + WORD popl WINE_PACKED; /* 0x8f 0x05 */ + DWORD addr_popped WINE_PACKED;/* ... */ + BYTE pushl1 WINE_PACKED; /* 0x68 */ + DWORD newret WINE_PACKED; /* ... */ + BYTE pushl2 WINE_PACKED; /* 0x68 */ + DWORD origfun WINE_PACKED; /* original function */ + BYTE ret1 WINE_PACKED; /* 0xc3 */ + WORD addesp WINE_PACKED; /* 0x83 0xc4 */ + BYTE nrofargs WINE_PACKED; /* nr of arguments to add esp, */ + BYTE pushl3 WINE_PACKED; /* 0x68 */ + DWORD oldret WINE_PACKED; /* Filled out from popl above */ + BYTE ret2 WINE_PACKED; /* 0xc3 */ } ELF_STDCALL_STUB; typedef struct { - void* dlhandle; - ELF_STDCALL_STUB *stubs; + void* dlhandle; + ELF_STDCALL_STUB *stubs; } ELF_MODREF; extern struct _wine_modref *ELF_LoadLibraryExA( LPCSTR libname, DWORD flags); diff --git a/libs/loader/wine/vfw.h b/libs/loader/wine/vfw.h index 69ad0e2d4a..7957a83925 100644 --- a/libs/loader/wine/vfw.h +++ b/libs/loader/wine/vfw.h @@ -25,27 +25,27 @@ typedef struct __attribute__((__packed__)) #define _BITMAPINFOHEADER_ typedef struct __attribute__((__packed__)) { - long biSize; - long biWidth; - long biHeight; - short biPlanes; - short biBitCount; - long biCompression; - long biSizeImage; - long biXPelsPerMeter; - long biYPelsPerMeter; - long biClrUsed; - long biClrImportant; + long biSize; + long biWidth; + long biHeight; + short biPlanes; + short biBitCount; + long biCompression; + long biSizeImage; + long biXPelsPerMeter; + long biYPelsPerMeter; + long biClrUsed; + long biClrImportant; } BITMAPINFOHEADER, *PBITMAPINFOHEADER, *LPBITMAPINFOHEADER; typedef struct { - BITMAPINFOHEADER bmiHeader; - int bmiColors[1]; + BITMAPINFOHEADER bmiHeader; + int bmiColors[1]; } BITMAPINFO, *LPBITMAPINFO; #endif #endif -#define VFWAPI -#define VFWAPIV +#define VFWAPI +#define VFWAPIV #ifndef __WINE_WINDEF_H typedef long (__stdcall__ *DRIVERPROC)(long,HDRVR,unsigned int,long,long); #endif @@ -53,210 +53,210 @@ typedef long (__stdcall__ *DRIVERPROC)(long,HDRVR,unsigned int,long,long); #ifndef mmioFOURCC -#define mmioFOURCC( ch0, ch1, ch2, ch3 ) \ - ( (long)(unsigned char)(ch0) | ( (long)(unsigned char)(ch1) << 8 ) | \ - ( (long)(unsigned char)(ch2) << 16 ) | ( (long)(unsigned char)(ch3) << 24 ) ) +#define mmioFOURCC( ch0, ch1, ch2, ch3 ) \ + ( (long)(unsigned char)(ch0) | ( (long)(unsigned char)(ch1) << 8 ) | \ + ( (long)(unsigned char)(ch2) << 16 ) | ( (long)(unsigned char)(ch3) << 24 ) ) #endif #ifndef aviTWOCC #define aviTWOCC(ch0, ch1) ((short)(unsigned char)(ch0) | ((short)(unsigned char)(ch1) << 8)) #endif -#define ICTYPE_VIDEO mmioFOURCC('v', 'i', 'd', 'c') -#define ICTYPE_AUDIO mmioFOURCC('a', 'u', 'd', 'c') +#define ICTYPE_VIDEO mmioFOURCC('v', 'i', 'd', 'c') +#define ICTYPE_AUDIO mmioFOURCC('a', 'u', 'd', 'c') /* Installable Compressor M? */ /* HIC struct (same layout as Win95 one) */ typedef struct tagWINE_HIC { - long magic; /* 00: 'Smag' */ - HANDLE curthread; /* 04: */ - long type; /* 08: */ - long handler; /* 0C: */ - HDRVR hdrv; /* 10: */ - long driverid; /* 14:(handled by SendDriverMessage)*/ - DRIVERPROC driverproc; /* 18:(handled by SendDriverMessage)*/ - long x1; /* 1c: name? */ - short x2; /* 20: */ - long x3; /* 22: */ - /* 26: */ + long magic; /* 00: 'Smag' */ + HANDLE curthread; /* 04: */ + long type; /* 08: */ + long handler; /* 0C: */ + HDRVR hdrv; /* 10: */ + long driverid; /* 14:(handled by SendDriverMessage)*/ + DRIVERPROC driverproc; /* 18:(handled by SendDriverMessage)*/ + long x1; /* 1c: name? */ + short x2; /* 20: */ + long x3; /* 22: */ + /* 26: */ } WINE_HIC; /* error return codes */ -#define ICERR_OK 0 -#define ICERR_DONTDRAW 1 -#define ICERR_NEWPALETTE 2 -#define ICERR_GOTOKEYFRAME 3 -#define ICERR_STOPDRAWING 4 - -#define ICERR_UNSUPPORTED -1 -#define ICERR_BADFORMAT -2 -#define ICERR_MEMORY -3 -#define ICERR_INTERNAL -4 -#define ICERR_BADFLAGS -5 -#define ICERR_BADPARAM -6 -#define ICERR_BADSIZE -7 -#define ICERR_BADHANDLE -8 -#define ICERR_CANTUPDATE -9 -#define ICERR_ABORT -10 -#define ICERR_ERROR -100 -#define ICERR_BADBITDEPTH -200 -#define ICERR_BADIMAGESIZE -201 - -#define ICERR_CUSTOM -400 +#define ICERR_OK 0 +#define ICERR_DONTDRAW 1 +#define ICERR_NEWPALETTE 2 +#define ICERR_GOTOKEYFRAME 3 +#define ICERR_STOPDRAWING 4 + +#define ICERR_UNSUPPORTED -1 +#define ICERR_BADFORMAT -2 +#define ICERR_MEMORY -3 +#define ICERR_INTERNAL -4 +#define ICERR_BADFLAGS -5 +#define ICERR_BADPARAM -6 +#define ICERR_BADSIZE -7 +#define ICERR_BADHANDLE -8 +#define ICERR_CANTUPDATE -9 +#define ICERR_ABORT -10 +#define ICERR_ERROR -100 +#define ICERR_BADBITDEPTH -200 +#define ICERR_BADIMAGESIZE -201 + +#define ICERR_CUSTOM -400 /* ICM Messages */ -#define ICM_USER (DRV_USER+0x0000) +#define ICM_USER (DRV_USER+0x0000) /* ICM driver message range */ -#define ICM_RESERVED_LOW (DRV_USER+0x1000) -#define ICM_RESERVED_HIGH (DRV_USER+0x2000) -#define ICM_RESERVED ICM_RESERVED_LOW +#define ICM_RESERVED_LOW (DRV_USER+0x1000) +#define ICM_RESERVED_HIGH (DRV_USER+0x2000) +#define ICM_RESERVED ICM_RESERVED_LOW -#define ICM_GETSTATE (ICM_RESERVED+0) -#define ICM_SETSTATE (ICM_RESERVED+1) -#define ICM_GETINFO (ICM_RESERVED+2) +#define ICM_GETSTATE (ICM_RESERVED+0) +#define ICM_SETSTATE (ICM_RESERVED+1) +#define ICM_GETINFO (ICM_RESERVED+2) -#define ICM_CONFIGURE (ICM_RESERVED+10) -#define ICM_ABOUT (ICM_RESERVED+11) +#define ICM_CONFIGURE (ICM_RESERVED+10) +#define ICM_ABOUT (ICM_RESERVED+11) /* */ -#define ICM_GETDEFAULTQUALITY (ICM_RESERVED+30) -#define ICM_GETQUALITY (ICM_RESERVED+31) -#define ICM_SETQUALITY (ICM_RESERVED+32) +#define ICM_GETDEFAULTQUALITY (ICM_RESERVED+30) +#define ICM_GETQUALITY (ICM_RESERVED+31) +#define ICM_SETQUALITY (ICM_RESERVED+32) -#define ICM_SET (ICM_RESERVED+40) -#define ICM_GET (ICM_RESERVED+41) +#define ICM_SET (ICM_RESERVED+40) +#define ICM_GET (ICM_RESERVED+41) /* 2 constant FOURCC codes */ -#define ICM_FRAMERATE mmioFOURCC('F','r','m','R') -#define ICM_KEYFRAMERATE mmioFOURCC('K','e','y','R') - -#define ICM_COMPRESS_GET_FORMAT (ICM_USER+4) -#define ICM_COMPRESS_GET_SIZE (ICM_USER+5) -#define ICM_COMPRESS_QUERY (ICM_USER+6) -#define ICM_COMPRESS_BEGIN (ICM_USER+7) -#define ICM_COMPRESS (ICM_USER+8) -#define ICM_COMPRESS_END (ICM_USER+9) - -#define ICM_DECOMPRESS_GET_FORMAT (ICM_USER+10) -#define ICM_DECOMPRESS_QUERY (ICM_USER+11) -#define ICM_DECOMPRESS_BEGIN (ICM_USER+12) -#define ICM_DECOMPRESS (ICM_USER+13) -#define ICM_DECOMPRESS_END (ICM_USER+14) -#define ICM_DECOMPRESS_SET_PALETTE (ICM_USER+29) -#define ICM_DECOMPRESS_GET_PALETTE (ICM_USER+30) - -#define ICM_DRAW_QUERY (ICM_USER+31) -#define ICM_DRAW_BEGIN (ICM_USER+15) -#define ICM_DRAW_GET_PALETTE (ICM_USER+16) -#define ICM_DRAW_START (ICM_USER+18) -#define ICM_DRAW_STOP (ICM_USER+19) -#define ICM_DRAW_END (ICM_USER+21) -#define ICM_DRAW_GETTIME (ICM_USER+32) -#define ICM_DRAW (ICM_USER+33) -#define ICM_DRAW_WINDOW (ICM_USER+34) -#define ICM_DRAW_SETTIME (ICM_USER+35) -#define ICM_DRAW_REALIZE (ICM_USER+36) -#define ICM_DRAW_FLUSH (ICM_USER+37) -#define ICM_DRAW_RENDERBUFFER (ICM_USER+38) - -#define ICM_DRAW_START_PLAY (ICM_USER+39) -#define ICM_DRAW_STOP_PLAY (ICM_USER+40) - -#define ICM_DRAW_SUGGESTFORMAT (ICM_USER+50) -#define ICM_DRAW_CHANGEPALETTE (ICM_USER+51) - -#define ICM_GETBUFFERSWANTED (ICM_USER+41) - -#define ICM_GETDEFAULTKEYFRAMERATE (ICM_USER+42) - -#define ICM_DECOMPRESSEX_BEGIN (ICM_USER+60) -#define ICM_DECOMPRESSEX_QUERY (ICM_USER+61) -#define ICM_DECOMPRESSEX (ICM_USER+62) -#define ICM_DECOMPRESSEX_END (ICM_USER+63) - -#define ICM_COMPRESS_FRAMES_INFO (ICM_USER+70) -#define ICM_SET_STATUS_PROC (ICM_USER+72) +#define ICM_FRAMERATE mmioFOURCC('F','r','m','R') +#define ICM_KEYFRAMERATE mmioFOURCC('K','e','y','R') + +#define ICM_COMPRESS_GET_FORMAT (ICM_USER+4) +#define ICM_COMPRESS_GET_SIZE (ICM_USER+5) +#define ICM_COMPRESS_QUERY (ICM_USER+6) +#define ICM_COMPRESS_BEGIN (ICM_USER+7) +#define ICM_COMPRESS (ICM_USER+8) +#define ICM_COMPRESS_END (ICM_USER+9) + +#define ICM_DECOMPRESS_GET_FORMAT (ICM_USER+10) +#define ICM_DECOMPRESS_QUERY (ICM_USER+11) +#define ICM_DECOMPRESS_BEGIN (ICM_USER+12) +#define ICM_DECOMPRESS (ICM_USER+13) +#define ICM_DECOMPRESS_END (ICM_USER+14) +#define ICM_DECOMPRESS_SET_PALETTE (ICM_USER+29) +#define ICM_DECOMPRESS_GET_PALETTE (ICM_USER+30) + +#define ICM_DRAW_QUERY (ICM_USER+31) +#define ICM_DRAW_BEGIN (ICM_USER+15) +#define ICM_DRAW_GET_PALETTE (ICM_USER+16) +#define ICM_DRAW_START (ICM_USER+18) +#define ICM_DRAW_STOP (ICM_USER+19) +#define ICM_DRAW_END (ICM_USER+21) +#define ICM_DRAW_GETTIME (ICM_USER+32) +#define ICM_DRAW (ICM_USER+33) +#define ICM_DRAW_WINDOW (ICM_USER+34) +#define ICM_DRAW_SETTIME (ICM_USER+35) +#define ICM_DRAW_REALIZE (ICM_USER+36) +#define ICM_DRAW_FLUSH (ICM_USER+37) +#define ICM_DRAW_RENDERBUFFER (ICM_USER+38) + +#define ICM_DRAW_START_PLAY (ICM_USER+39) +#define ICM_DRAW_STOP_PLAY (ICM_USER+40) + +#define ICM_DRAW_SUGGESTFORMAT (ICM_USER+50) +#define ICM_DRAW_CHANGEPALETTE (ICM_USER+51) + +#define ICM_GETBUFFERSWANTED (ICM_USER+41) + +#define ICM_GETDEFAULTKEYFRAMERATE (ICM_USER+42) + +#define ICM_DECOMPRESSEX_BEGIN (ICM_USER+60) +#define ICM_DECOMPRESSEX_QUERY (ICM_USER+61) +#define ICM_DECOMPRESSEX (ICM_USER+62) +#define ICM_DECOMPRESSEX_END (ICM_USER+63) + +#define ICM_COMPRESS_FRAMES_INFO (ICM_USER+70) +#define ICM_SET_STATUS_PROC (ICM_USER+72) /* structs */ typedef struct { - long dwSize; /* 00: size */ - long fccType; /* 04: type 'vidc' usually */ - long fccHandler; /* 08: */ - long dwVersion; /* 0c: version of compman opening you */ - long dwFlags; /* 10: LOshort is type specific */ - LRESULT dwError; /* 14: */ - void* pV1Reserved; /* 18: */ - void* pV2Reserved; /* 1c: */ - long dnDevNode; /* 20: */ - /* 24: */ + long dwSize; /* 00: size */ + long fccType; /* 04: type 'vidc' usually */ + long fccHandler; /* 08: */ + long dwVersion; /* 0c: version of compman opening you */ + long dwFlags; /* 10: LOshort is type specific */ + LRESULT dwError; /* 14: */ + void* pV1Reserved; /* 18: */ + void* pV2Reserved; /* 1c: */ + long dnDevNode; /* 20: */ + /* 24: */ } ICOPEN,*LPICOPEN; #define ICCOMPRESS_KEYFRAME 0x00000001L typedef struct { - long dwFlags; - LPBITMAPINFOHEADER lpbiOutput; - void* lpOutput; - LPBITMAPINFOHEADER lpbiInput; - const void* lpInput; - long* lpckid; - long* lpdwFlags; - long lFrameNum; - long dwFrameSize; - long dwQuality; - LPBITMAPINFOHEADER lpbiPrev; - void* lpPrev; + long dwFlags; + LPBITMAPINFOHEADER lpbiOutput; + void* lpOutput; + LPBITMAPINFOHEADER lpbiInput; + const void* lpInput; + long* lpckid; + long* lpdwFlags; + long lFrameNum; + long dwFrameSize; + long dwQuality; + LPBITMAPINFOHEADER lpbiPrev; + void* lpPrev; } ICCOMPRESS; long VFWAPIV ICCompress( - HIC hic,long dwFlags,LPBITMAPINFOHEADER lpbiOutput,void* lpData, - LPBITMAPINFOHEADER lpbiInput,void* lpBits,long* lpckid, - long* lpdwFlags,long lFrameNum,long dwFrameSize,long dwQuality, - LPBITMAPINFOHEADER lpbiPrev,void* lpPrev + HIC hic,long dwFlags,LPBITMAPINFOHEADER lpbiOutput,void* lpData, + LPBITMAPINFOHEADER lpbiInput,void* lpBits,long* lpckid, + long* lpdwFlags,long lFrameNum,long dwFrameSize,long dwQuality, + LPBITMAPINFOHEADER lpbiPrev,void* lpPrev ); -#define ICCompressGetFormat(hic, lpbiInput, lpbiOutput) \ - ICSendMessage( \ - hic,ICM_COMPRESS_GET_FORMAT,(long)(void*)(lpbiInput), \ - (long)(void*)(lpbiOutput) \ - ) +#define ICCompressGetFormat(hic, lpbiInput, lpbiOutput) \ + ICSendMessage( \ + hic,ICM_COMPRESS_GET_FORMAT,(long)(void*)(lpbiInput), \ + (long)(void*)(lpbiOutput) \ + ) #define ICCompressGetFormatSize(hic,lpbi) ICCompressGetFormat(hic,lpbi,NULL) -#define ICGetDefaultKeyFrameRate(hic,lpint) \ - ICSendMessage( \ - hic, ICM_GETDEFAULTKEYFRAMERATE, \ - (long)(void*)(lpint), \ - 0 ) - -#define ICGetDefaultQuality(hic,lpint) \ - ICSendMessage( \ - hic, ICM_GETDEFAULTQUALITY, \ - (long)(void*)(lpint), \ - 0 ) - - -#define ICCompressBegin(hic, lpbiInput, lpbiOutput) \ - ICSendMessage( \ - hic, ICM_COMPRESS_BEGIN, (long)(void*)(lpbiInput), \ - (long)(void*)(lpbiOutput) \ +#define ICGetDefaultKeyFrameRate(hic,lpint) \ + ICSendMessage( \ + hic, ICM_GETDEFAULTKEYFRAMERATE, \ + (long)(void*)(lpint), \ + 0 ) + +#define ICGetDefaultQuality(hic,lpint) \ + ICSendMessage( \ + hic, ICM_GETDEFAULTQUALITY, \ + (long)(void*)(lpint), \ + 0 ) + + +#define ICCompressBegin(hic, lpbiInput, lpbiOutput) \ + ICSendMessage( \ + hic, ICM_COMPRESS_BEGIN, (long)(void*)(lpbiInput), \ + (long)(void*)(lpbiOutput) \ ) -#define ICCompressGetSize(hic, lpbiInput, lpbiOutput) \ - ICSendMessage( \ - hic, ICM_COMPRESS_GET_SIZE, (long)(void*)(lpbiInput), \ - (long)(void*)(lpbiOutput) \ +#define ICCompressGetSize(hic, lpbiInput, lpbiOutput) \ + ICSendMessage( \ + hic, ICM_COMPRESS_GET_SIZE, (long)(void*)(lpbiInput), \ + (long)(void*)(lpbiOutput) \ ) -#define ICCompressQuery(hic, lpbiInput, lpbiOutput) \ - ICSendMessage( \ - hic, ICM_COMPRESS_QUERY, (long)(void*)(lpbiInput), \ - (long)(void*)(lpbiOutput) \ +#define ICCompressQuery(hic, lpbiInput, lpbiOutput) \ + ICSendMessage( \ + hic, ICM_COMPRESS_QUERY, (long)(void*)(lpbiInput), \ + (long)(void*)(lpbiOutput) \ ) @@ -284,12 +284,12 @@ typedef struct { } ICCOMPRESSFRAMES; /* Values for wMode of ICOpen() */ -#define ICMODE_COMPRESS 1 -#define ICMODE_DECOMPRESS 2 -#define ICMODE_FASTDECOMPRESS 3 -#define ICMODE_QUERY 4 -#define ICMODE_FASTCOMPRESS 5 -#define ICMODE_DRAW 8 +#define ICMODE_COMPRESS 1 +#define ICMODE_DECOMPRESS 2 +#define ICMODE_FASTDECOMPRESS 3 +#define ICMODE_QUERY 4 +#define ICMODE_FASTCOMPRESS 5 +#define ICMODE_DRAW 8 /* quality flags */ #define ICQUALITY_LOW 0 @@ -297,32 +297,32 @@ typedef struct { #define ICQUALITY_DEFAULT -1 typedef struct { - long dwSize; /* 00: */ - long fccType; /* 04:compressor type 'vidc' 'audc' */ - long fccHandler; /* 08:compressor sub-type 'rle ' 'jpeg' 'pcm '*/ - long dwFlags; /* 0c:flags LOshort is type specific */ - long dwVersion; /* 10:version of the driver */ - long dwVersionICM; /* 14:version of the ICM used */ - /* - * under Win32, the driver always returns UNICODE strings. - */ - WCHAR szName[16]; /* 18:short name */ - WCHAR szDescription[128]; /* 38:long name */ - WCHAR szDriver[128]; /* 138:driver that contains compressor*/ - /* 238: */ + long dwSize; /* 00: */ + long fccType; /* 04:compressor type 'vidc' 'audc' */ + long fccHandler; /* 08:compressor sub-type 'rle ' 'jpeg' 'pcm '*/ + long dwFlags; /* 0c:flags LOshort is type specific */ + long dwVersion; /* 10:version of the driver */ + long dwVersionICM; /* 14:version of the ICM used */ + /* + * under Win32, the driver always returns UNICODE strings. + */ + WCHAR szName[16]; /* 18:short name */ + WCHAR szDescription[128]; /* 38:long name */ + WCHAR szDriver[128]; /* 138:driver that contains compressor*/ + /* 238: */ } ICINFO; /* ICINFO.dwFlags */ -#define VIDCF_QUALITY 0x0001 /* supports quality */ -#define VIDCF_CRUNCH 0x0002 /* supports crunching to a frame size */ -#define VIDCF_TEMPORAL 0x0004 /* supports inter-frame compress */ -#define VIDCF_COMPRESSFRAMES 0x0008 /* wants the compress all frames message */ -#define VIDCF_DRAW 0x0010 /* supports drawing */ -#define VIDCF_FASTTEMPORALC 0x0020 /* does not need prev frame on compress */ -#define VIDCF_FASTTEMPORALD 0x0080 /* does not need prev frame on decompress */ -#define VIDCF_QUALITYTIME 0x0040 /* supports temporal quality */ +#define VIDCF_QUALITY 0x0001 /* supports quality */ +#define VIDCF_CRUNCH 0x0002 /* supports crunching to a frame size */ +#define VIDCF_TEMPORAL 0x0004 /* supports inter-frame compress */ +#define VIDCF_COMPRESSFRAMES 0x0008 /* wants the compress all frames message */ +#define VIDCF_DRAW 0x0010 /* supports drawing */ +#define VIDCF_FASTTEMPORALC 0x0020 /* does not need prev frame on compress */ +#define VIDCF_FASTTEMPORALD 0x0080 /* does not need prev frame on decompress */ +#define VIDCF_QUALITYTIME 0x0040 /* supports temporal quality */ -#define VIDCF_FASTTEMPORAL (VIDCF_FASTTEMPORALC|VIDCF_FASTTEMPORALD) +#define VIDCF_FASTTEMPORAL (VIDCF_FASTTEMPORALC|VIDCF_FASTTEMPORALD) /* function shortcuts */ @@ -330,51 +330,51 @@ typedef struct { #define ICMF_ABOUT_QUERY 0x00000001 #define ICQueryAbout(hic) \ - (ICSendMessage(hic,ICM_ABOUT,(long)-1,ICMF_ABOUT_QUERY)==ICERR_OK) + (ICSendMessage(hic,ICM_ABOUT,(long)-1,ICMF_ABOUT_QUERY)==ICERR_OK) #define ICAbout(hic, hwnd) ICSendMessage(hic,ICM_ABOUT,(long)(unsigned int)(hwnd),0) /* ICM_CONFIGURE */ -#define ICMF_CONFIGURE_QUERY 0x00000001 +#define ICMF_CONFIGURE_QUERY 0x00000001 #define ICQueryConfigure(hic) \ - (ICSendMessage(hic,ICM_CONFIGURE,(long)-1,ICMF_CONFIGURE_QUERY)==ICERR_OK) + (ICSendMessage(hic,ICM_CONFIGURE,(long)-1,ICMF_CONFIGURE_QUERY)==ICERR_OK) #define ICConfigure(hic,hwnd) \ - ICSendMessage(hic,ICM_CONFIGURE,(long)(unsigned int)(hwnd),0) + ICSendMessage(hic,ICM_CONFIGURE,(long)(unsigned int)(hwnd),0) /* Decompression stuff */ -#define ICDECOMPRESS_HURRYUP 0x80000000 /* don't draw just buffer (hurry up!) */ -#define ICDECOMPRESS_UPDATE 0x40000000 /* don't draw just update screen */ -#define ICDECOMPRESS_PREROL 0x20000000 /* this frame is before real start */ -#define ICDECOMPRESS_NULLFRAME 0x10000000 /* repeat last frame */ -#define ICDECOMPRESS_NOTKEYFRAME 0x08000000 /* this frame is not a key frame */ +#define ICDECOMPRESS_HURRYUP 0x80000000 /* don't draw just buffer (hurry up!) */ +#define ICDECOMPRESS_UPDATE 0x40000000 /* don't draw just update screen */ +#define ICDECOMPRESS_PREROL 0x20000000 /* this frame is before real start */ +#define ICDECOMPRESS_NULLFRAME 0x10000000 /* repeat last frame */ +#define ICDECOMPRESS_NOTKEYFRAME 0x08000000 /* this frame is not a key frame */ typedef struct { - long dwFlags; /* flags (from AVI index...) */ - LPBITMAPINFOHEADER lpbiInput; /* BITMAPINFO of compressed data */ - const void* lpInput; /* compressed data */ - LPBITMAPINFOHEADER lpbiOutput; /* DIB to decompress to */ - void* lpOutput; - long ckid; /* ckid from AVI file */ + long dwFlags; /* flags (from AVI index...) */ + LPBITMAPINFOHEADER lpbiInput; /* BITMAPINFO of compressed data */ + const void* lpInput; /* compressed data */ + LPBITMAPINFOHEADER lpbiOutput; /* DIB to decompress to */ + void* lpOutput; + long ckid; /* ckid from AVI file */ } ICDECOMPRESS; typedef struct { - long dwFlags; + long dwFlags; LPBITMAPINFOHEADER lpbiSrc; - const void* lpSrc; - LPBITMAPINFOHEADER lpbiDst; - void* lpDst; + const void* lpSrc; + LPBITMAPINFOHEADER lpbiDst; + void* lpDst; /* changed for ICM_DECOMPRESSEX */ - INT xDst; /* destination rectangle */ - INT yDst; - INT dxDst; - INT dyDst; - - INT xSrc; /* source rectangle */ - INT ySrc; - INT dxSrc; - INT dySrc; + INT xDst; /* destination rectangle */ + INT yDst; + INT dxDst; + INT dyDst; + + INT xSrc; /* source rectangle */ + INT ySrc; + INT dxSrc; + INT dySrc; } ICDECOMPRESSEX; @@ -383,50 +383,50 @@ long VFWAPIV ICDecompressEx(HIC hic,long dwFlags,LPBITMAPINFOHEADER lpbiFormat,v long VFWAPIV ICUniversalEx(HIC hic,int command,LPBITMAPINFOHEADER lpbiFormat,LPBITMAPINFOHEADER lpbi); -#define ICDecompressBegin(hic, lpbiInput, lpbiOutput) \ - ICSendMessage( \ - hic, ICM_DECOMPRESS_BEGIN, (long)(void*)(lpbiInput), \ - (long)(void*)(lpbiOutput) \ +#define ICDecompressBegin(hic, lpbiInput, lpbiOutput) \ + ICSendMessage( \ + hic, ICM_DECOMPRESS_BEGIN, (long)(void*)(lpbiInput), \ + (long)(void*)(lpbiOutput) \ ) -#define ICDecompressBeginEx(hic, lpbiInput, lpbiOutput) \ - ICUniversalEx( \ - hic, ICM_DECOMPRESSEX_BEGIN, (lpbiInput), \ - (lpbiOutput) \ +#define ICDecompressBeginEx(hic, lpbiInput, lpbiOutput) \ + ICUniversalEx( \ + hic, ICM_DECOMPRESSEX_BEGIN, (lpbiInput), \ + (lpbiOutput) \ ) -#define ICDecompressQuery(hic, lpbiInput, lpbiOutput) \ - ICSendMessage( \ - hic,ICM_DECOMPRESS_QUERY, (long)(void*)(lpbiInput), \ - (long) (void*)(lpbiOutput) \ +#define ICDecompressQuery(hic, lpbiInput, lpbiOutput) \ + ICSendMessage( \ + hic,ICM_DECOMPRESS_QUERY, (long)(void*)(lpbiInput), \ + (long) (void*)(lpbiOutput) \ ) -#define ICDecompressQueryEx(hic, lpbiInput, lpbiOutput) \ - ICUniversalEx( \ - hic,ICM_DECOMPRESSEX_QUERY, (lpbiInput), \ - (lpbiOutput) \ +#define ICDecompressQueryEx(hic, lpbiInput, lpbiOutput) \ + ICUniversalEx( \ + hic,ICM_DECOMPRESSEX_QUERY, (lpbiInput), \ + (lpbiOutput) \ ) -#define ICDecompressGetFormat(hic, lpbiInput, lpbiOutput) \ - ((long)ICSendMessage( \ - hic,ICM_DECOMPRESS_GET_FORMAT, (long)(void*)(lpbiInput), \ - (long)(void*)(lpbiOutput) \ +#define ICDecompressGetFormat(hic, lpbiInput, lpbiOutput) \ + ((long)ICSendMessage( \ + hic,ICM_DECOMPRESS_GET_FORMAT, (long)(void*)(lpbiInput), \ + (long)(void*)(lpbiOutput) \ )) -#define ICDecompressGetFormatSize(hic, lpbi) \ - ICDecompressGetFormat(hic, lpbi, NULL) +#define ICDecompressGetFormatSize(hic, lpbi) \ + ICDecompressGetFormat(hic, lpbi, NULL) -#define ICDecompressGetPalette(hic, lpbiInput, lpbiOutput) \ - ICSendMessage( \ - hic, ICM_DECOMPRESS_GET_PALETTE, (long)(void*)(lpbiInput), \ - (long)(void*)(lpbiOutput) \ +#define ICDecompressGetPalette(hic, lpbiInput, lpbiOutput) \ + ICSendMessage( \ + hic, ICM_DECOMPRESS_GET_PALETTE, (long)(void*)(lpbiInput), \ + (long)(void*)(lpbiOutput) \ ) -#define ICDecompressSetPalette(hic,lpbiPalette) \ - ICSendMessage( \ - hic,ICM_DECOMPRESS_SET_PALETTE, \ - (long)(void*)(lpbiPalette),0 \ - ) +#define ICDecompressSetPalette(hic,lpbiPalette) \ + ICSendMessage( \ + hic,ICM_DECOMPRESS_SET_PALETTE, \ + (long)(void*)(lpbiPalette),0 \ + ) #define ICDecompressEnd(hic) ICSendMessage(hic, ICM_DECOMPRESS_END, 0, 0) #define ICDecompressEndEx(hic) ICSendMessage(hic,ICM_DECOMPRESSEX_END, 0, 0) @@ -436,53 +436,53 @@ long VFWAPIV ICUniversalEx(HIC hic,int command,LPBITMAPINFOHEADER lpbiFormat,LPB #define ICDRAW_HDC 0x00000004L /* draw to a HDC/HWND */ -WIN_BOOL VFWAPI ICInfo(long fccType, long fccHandler, ICINFO * lpicinfo); -LRESULT VFWAPI ICGetInfo(HIC hic,ICINFO *picinfo, long cb); -HIC VFWAPI ICOpen(long fccType, long fccHandler, UINT wMode); -//HIC VFWAPI ICOpenFunction(long fccType, long fccHandler, unsigned int wMode, void* lpfnHandler); +WIN_BOOL VFWAPI ICInfo(long fccType, long fccHandler, ICINFO * lpicinfo); +LRESULT VFWAPI ICGetInfo(HIC hic,ICINFO *picinfo, long cb); +HIC VFWAPI ICOpen(long fccType, long fccHandler, UINT wMode); +//HIC VFWAPI ICOpenFunction(long fccType, long fccHandler, unsigned int wMode, void* lpfnHandler); LRESULT VFWAPI ICClose(HIC hic); -LRESULT VFWAPI ICSendMessage(HIC hic, unsigned int msg, long dw1, long dw2); -//HIC VFWAPI ICLocate(long fccType, long fccHandler, LPBITMAPINFOHEADER lpbiIn, LPBITMAPINFOHEADER lpbiOut, short wFlags); +LRESULT VFWAPI ICSendMessage(HIC hic, unsigned int msg, long dw1, long dw2); +//HIC VFWAPI ICLocate(long fccType, long fccHandler, LPBITMAPINFOHEADER lpbiIn, LPBITMAPINFOHEADER lpbiOut, short wFlags); int VFWAPI ICDoSomething(void); -long VFWAPIV ICDrawBegin( - HIC hic, - long dwFlags,/* flags */ - HPALETTE hpal, /* palette to draw with */ - HWND hwnd, /* window to draw to */ - HDC hdc, /* HDC to draw to */ - INT xDst, /* destination rectangle */ - INT yDst, - INT dxDst, - INT dyDst, - LPBITMAPINFOHEADER lpbi, /* format of frame to draw */ - INT xSrc, /* source rectangle */ - INT ySrc, - INT dxSrc, - INT dySrc, - long dwRate, /* frames/second = (dwRate/dwScale) */ - long dwScale +long VFWAPIV ICDrawBegin( + HIC hic, + long dwFlags,/* flags */ + HPALETTE hpal, /* palette to draw with */ + HWND hwnd, /* window to draw to */ + HDC hdc, /* HDC to draw to */ + INT xDst, /* destination rectangle */ + INT yDst, + INT dxDst, + INT dyDst, + LPBITMAPINFOHEADER lpbi, /* format of frame to draw */ + INT xSrc, /* source rectangle */ + INT ySrc, + INT dxSrc, + INT dySrc, + long dwRate, /* frames/second = (dwRate/dwScale) */ + long dwScale ); /* as passed to ICM_DRAW_BEGIN (FIXME: correct only for Win32?) */ typedef struct { - long dwFlags; - HPALETTE hpal; - HWND hwnd; - HDC hdc; - INT xDst; - INT yDst; - INT dxDst; - INT dyDst; - LPBITMAPINFOHEADER lpbi; - INT xSrc; - INT ySrc; - INT dxSrc; - INT dySrc; - long dwRate; - long dwScale; + long dwFlags; + HPALETTE hpal; + HWND hwnd; + HDC hdc; + INT xDst; + INT yDst; + INT dxDst; + INT dyDst; + LPBITMAPINFOHEADER lpbi; + INT xSrc; + INT ySrc; + INT dxSrc; + INT dySrc; + long dwRate; + long dwScale; } ICDRAWBEGIN; #define ICDRAW_HURRYUP 0x80000000L /* don't draw just buffer (hurry up!) */ @@ -492,78 +492,78 @@ typedef struct { #define ICDRAW_NOTKEYFRAME 0x08000000L /* this frame is not a key frame */ typedef struct { - long dwFlags; - void* lpFormat; - void* lpData; - long cbData; - long lTime; + long dwFlags; + void* lpFormat; + void* lpData; + long cbData; + long lTime; } ICDRAW; long VFWAPIV ICDraw(HIC hic,long dwFlags,void* lpFormat,void* lpData,long cbData,long lTime); -#define AVIGETFRAMEF_BESTDISPLAYFMT 1 +#define AVIGETFRAMEF_BESTDISPLAYFMT 1 typedef struct _AVISTREAMINFOA { - long fccType; - long fccHandler; - long dwFlags; /* AVIIF_* */ - long dwCaps; - short wPriority; - short wLanguage; - long dwScale; - long dwRate; /* dwRate / dwScale == samples/second */ - long dwStart; - long dwLength; /* In units above... */ - long dwInitialFrames; - long dwSuggestedBufferSize; - long dwQuality; - long dwSampleSize; - RECT rcFrame; - long dwEditCount; - long dwFormatChangeCount; - char szName[64]; + long fccType; + long fccHandler; + long dwFlags; /* AVIIF_* */ + long dwCaps; + short wPriority; + short wLanguage; + long dwScale; + long dwRate; /* dwRate / dwScale == samples/second */ + long dwStart; + long dwLength; /* In units above... */ + long dwInitialFrames; + long dwSuggestedBufferSize; + long dwQuality; + long dwSampleSize; + RECT rcFrame; + long dwEditCount; + long dwFormatChangeCount; + char szName[64]; } AVISTREAMINFOA, * LPAVISTREAMINFOA, *PAVISTREAMINFOA; typedef struct _AVISTREAMINFOW { - long fccType; - long fccHandler; - long dwFlags; - long dwCaps; - short wPriority; - short wLanguage; - long dwScale; - long dwRate; /* dwRate / dwScale == samples/second */ - long dwStart; - long dwLength; /* In units above... */ - long dwInitialFrames; - long dwSuggestedBufferSize; - long dwQuality; - long dwSampleSize; - RECT rcFrame; - long dwEditCount; - long dwFormatChangeCount; - short szName[64]; + long fccType; + long fccHandler; + long dwFlags; + long dwCaps; + short wPriority; + short wLanguage; + long dwScale; + long dwRate; /* dwRate / dwScale == samples/second */ + long dwStart; + long dwLength; /* In units above... */ + long dwInitialFrames; + long dwSuggestedBufferSize; + long dwQuality; + long dwSampleSize; + RECT rcFrame; + long dwEditCount; + long dwFormatChangeCount; + short szName[64]; } AVISTREAMINFOW, * LPAVISTREAMINFOW, *PAVISTREAMINFOW; DECL_WINELIB_TYPE_AW(AVISTREAMINFO) DECL_WINELIB_TYPE_AW(LPAVISTREAMINFO) DECL_WINELIB_TYPE_AW(PAVISTREAMINFO) -#define AVISTREAMINFO_DISABLED 0x00000001 -#define AVISTREAMINFO_FORMATCHANGES 0x00010000 +#define AVISTREAMINFO_DISABLED 0x00000001 +#define AVISTREAMINFO_FORMATCHANGES 0x00010000 /* AVIFILEINFO.dwFlags */ -#define AVIFILEINFO_HASINDEX 0x00000010 -#define AVIFILEINFO_MUSTUSEINDEX 0x00000020 -#define AVIFILEINFO_ISINTERLEAVED 0x00000100 -#define AVIFILEINFO_WASCAPTUREFILE 0x00010000 -#define AVIFILEINFO_COPYRIGHTED 0x00020000 +#define AVIFILEINFO_HASINDEX 0x00000010 +#define AVIFILEINFO_MUSTUSEINDEX 0x00000020 +#define AVIFILEINFO_ISINTERLEAVED 0x00000100 +#define AVIFILEINFO_WASCAPTUREFILE 0x00010000 +#define AVIFILEINFO_COPYRIGHTED 0x00020000 /* AVIFILEINFO.dwCaps */ -#define AVIFILECAPS_CANREAD 0x00000001 -#define AVIFILECAPS_CANWRITE 0x00000002 -#define AVIFILECAPS_ALLKEYFRAMES 0x00000010 -#define AVIFILECAPS_NOCOMPRESSION 0x00000020 +#define AVIFILECAPS_CANREAD 0x00000001 +#define AVIFILECAPS_CANWRITE 0x00000002 +#define AVIFILECAPS_ALLKEYFRAMES 0x00000010 +#define AVIFILECAPS_NOCOMPRESSION 0x00000020 typedef struct _AVIFILEINFOW { long dwMaxBytesPerSec; @@ -573,7 +573,7 @@ typedef struct _AVIFILEINFOW { long dwSuggestedBufferSize; long dwWidth; long dwHeight; - long dwScale; + long dwScale; long dwRate; long dwLength; long dwEditCount; @@ -588,11 +588,11 @@ typedef struct _AVIFILEINFOA { long dwSuggestedBufferSize; long dwWidth; long dwHeight; - long dwScale; + long dwScale; long dwRate; long dwLength; long dwEditCount; - char szFileType[64]; + char szFileType[64]; } AVIFILEINFOA, * LPAVIFILEINFOA, *PAVIFILEINFOA; DECL_WINELIB_TYPE_AW(AVIFILEINFO) @@ -600,73 +600,73 @@ DECL_WINELIB_TYPE_AW(PAVIFILEINFO) DECL_WINELIB_TYPE_AW(LPAVIFILEINFO) /* AVICOMPRESSOPTIONS.dwFlags. determines presence of fields in below struct */ -#define AVICOMPRESSF_INTERLEAVE 0x00000001 -#define AVICOMPRESSF_DATARATE 0x00000002 -#define AVICOMPRESSF_KEYFRAMES 0x00000004 -#define AVICOMPRESSF_VALID 0x00000008 +#define AVICOMPRESSF_INTERLEAVE 0x00000001 +#define AVICOMPRESSF_DATARATE 0x00000002 +#define AVICOMPRESSF_KEYFRAMES 0x00000004 +#define AVICOMPRESSF_VALID 0x00000008 typedef struct { - long fccType; /* stream type, for consistency */ - long fccHandler; /* compressor */ - long dwKeyFrameEvery; /* keyframe rate */ - long dwQuality; /* compress quality 0-10,000 */ - long dwBytesPerSecond; /* unsigned chars per second */ - long dwFlags; /* flags... see below */ - void* lpFormat; /* save format */ - long cbFormat; - void* lpParms; /* compressor options */ - long cbParms; - long dwInterleaveEvery; /* for non-video streams only */ + long fccType; /* stream type, for consistency */ + long fccHandler; /* compressor */ + long dwKeyFrameEvery; /* keyframe rate */ + long dwQuality; /* compress quality 0-10,000 */ + long dwBytesPerSecond; /* unsigned chars per second */ + long dwFlags; /* flags... see below */ + void* lpFormat; /* save format */ + long cbFormat; + void* lpParms; /* compressor options */ + long cbParms; + long dwInterleaveEvery; /* for non-video streams only */ } AVICOMPRESSOPTIONS, *LPAVICOMPRESSOPTIONS,*PAVICOMPRESSOPTIONS; typedef struct { - long cbSize; // set to sizeof(COMPVARS) before - // calling ICCompressorChoose - long dwFlags; // see below... - HIC hic; // HIC of chosen compressor - long fccType; // basically ICTYPE_VIDEO - long fccHandler; // handler of chosen compressor or - // "" or "DIB " - LPBITMAPINFO lpbiIn; // input format - LPBITMAPINFO lpbiOut; // output format - will compress to this - void* lpBitsOut; - void* lpBitsPrev; - long lFrame; - long lKey; // key frames how often? - long lDataRate; // desired data rate KB/Sec - long lQ; // desired quality - long lKeyCount; - void* lpState; // state of compressor - long cbState; // size of the state + long cbSize; // set to sizeof(COMPVARS) before + // calling ICCompressorChoose + long dwFlags; // see below... + HIC hic; // HIC of chosen compressor + long fccType; // basically ICTYPE_VIDEO + long fccHandler; // handler of chosen compressor or + // "" or "DIB " + LPBITMAPINFO lpbiIn; // input format + LPBITMAPINFO lpbiOut; // output format - will compress to this + void* lpBitsOut; + void* lpBitsPrev; + long lFrame; + long lKey; // key frames how often? + long lDataRate; // desired data rate KB/Sec + long lQ; // desired quality + long lKeyCount; + void* lpState; // state of compressor + long cbState; // size of the state } COMPVARS, *PCOMPVARS; // FLAGS for dwFlags element of COMPVARS structure: -#define AVIERR_OK 0 -#define MAKE_AVIERR(error) MAKE_SCODE(SEVERITY_ERROR,FACILITY_ITF,0x4000+error) - -#define AVIERR_UNSUPPORTED MAKE_AVIERR(101) -#define AVIERR_BADFORMAT MAKE_AVIERR(102) -#define AVIERR_MEMORY MAKE_AVIERR(103) -#define AVIERR_INTERNAL MAKE_AVIERR(104) -#define AVIERR_BADFLAGS MAKE_AVIERR(105) -#define AVIERR_BADPARAM MAKE_AVIERR(106) -#define AVIERR_BADSIZE MAKE_AVIERR(107) -#define AVIERR_BADHANDLE MAKE_AVIERR(108) -#define AVIERR_FILEREAD MAKE_AVIERR(109) -#define AVIERR_FILEWRITE MAKE_AVIERR(110) -#define AVIERR_FILEOPEN MAKE_AVIERR(111) -#define AVIERR_COMPRESSOR MAKE_AVIERR(112) -#define AVIERR_NOCOMPRESSOR MAKE_AVIERR(113) -#define AVIERR_READONLY MAKE_AVIERR(114) -#define AVIERR_NODATA MAKE_AVIERR(115) -#define AVIERR_BUFFERTOOSMALL MAKE_AVIERR(116) -#define AVIERR_CANTCOMPRESS MAKE_AVIERR(117) -#define AVIERR_USERABORT MAKE_AVIERR(198) -#define AVIERR_ERROR MAKE_AVIERR(199) +#define AVIERR_OK 0 +#define MAKE_AVIERR(error) MAKE_SCODE(SEVERITY_ERROR,FACILITY_ITF,0x4000+error) + +#define AVIERR_UNSUPPORTED MAKE_AVIERR(101) +#define AVIERR_BADFORMAT MAKE_AVIERR(102) +#define AVIERR_MEMORY MAKE_AVIERR(103) +#define AVIERR_INTERNAL MAKE_AVIERR(104) +#define AVIERR_BADFLAGS MAKE_AVIERR(105) +#define AVIERR_BADPARAM MAKE_AVIERR(106) +#define AVIERR_BADSIZE MAKE_AVIERR(107) +#define AVIERR_BADHANDLE MAKE_AVIERR(108) +#define AVIERR_FILEREAD MAKE_AVIERR(109) +#define AVIERR_FILEWRITE MAKE_AVIERR(110) +#define AVIERR_FILEOPEN MAKE_AVIERR(111) +#define AVIERR_COMPRESSOR MAKE_AVIERR(112) +#define AVIERR_NOCOMPRESSOR MAKE_AVIERR(113) +#define AVIERR_READONLY MAKE_AVIERR(114) +#define AVIERR_NODATA MAKE_AVIERR(115) +#define AVIERR_BUFFERTOOSMALL MAKE_AVIERR(116) +#define AVIERR_CANTCOMPRESS MAKE_AVIERR(117) +#define AVIERR_USERABORT MAKE_AVIERR(198) +#define AVIERR_ERROR MAKE_AVIERR(199) #ifdef __cplusplus } diff --git a/libs/loader/wine/winbase.h b/libs/loader/wine/winbase.h index dbc4fecec0..8746da891d 100644 --- a/libs/loader/wine/winbase.h +++ b/libs/loader/wine/winbase.h @@ -18,8 +18,8 @@ typedef struct tagCOORD { /* Windows Exit Procedure flag values */ -#define WEP_FREE_DLL 0 -#define WEP_SYSTEM_EXIT 1 +#define WEP_FREE_DLL 0 +#define WEP_SYSTEM_EXIT 1 typedef DWORD CALLBACK (*LPTHREAD_START_ROUTINE)(LPVOID); @@ -146,7 +146,7 @@ typedef struct #define COPY_FILE_OPEN_SOURCE_FOR_WRITE 0x00000004 /* GetTempFileName() Flags */ -#define TF_FORCEDRIVE 0x80 +#define TF_FORCEDRIVE 0x80 #define DRIVE_CANNOTDETERMINE 0 #define DRIVE_DOESNOTEXIST 1 @@ -241,90 +241,90 @@ typedef struct /* comm */ -#define CBR_110 0xFF10 -#define CBR_300 0xFF11 -#define CBR_600 0xFF12 -#define CBR_1200 0xFF13 -#define CBR_2400 0xFF14 -#define CBR_4800 0xFF15 -#define CBR_9600 0xFF16 -#define CBR_14400 0xFF17 -#define CBR_19200 0xFF18 -#define CBR_38400 0xFF1B -#define CBR_56000 0xFF1F -#define CBR_128000 0xFF23 -#define CBR_256000 0xFF27 - -#define NOPARITY 0 -#define ODDPARITY 1 -#define EVENPARITY 2 -#define MARKPARITY 3 -#define SPACEPARITY 4 -#define ONESTOPBIT 0 -#define ONE5STOPBITS 1 -#define TWOSTOPBITS 2 - -#define IGNORE 0 +#define CBR_110 0xFF10 +#define CBR_300 0xFF11 +#define CBR_600 0xFF12 +#define CBR_1200 0xFF13 +#define CBR_2400 0xFF14 +#define CBR_4800 0xFF15 +#define CBR_9600 0xFF16 +#define CBR_14400 0xFF17 +#define CBR_19200 0xFF18 +#define CBR_38400 0xFF1B +#define CBR_56000 0xFF1F +#define CBR_128000 0xFF23 +#define CBR_256000 0xFF27 + +#define NOPARITY 0 +#define ODDPARITY 1 +#define EVENPARITY 2 +#define MARKPARITY 3 +#define SPACEPARITY 4 +#define ONESTOPBIT 0 +#define ONE5STOPBITS 1 +#define TWOSTOPBITS 2 + +#define IGNORE 0 #define INFINITE16 0xFFFF #define INFINITE 0xFFFFFFFF -#define CE_RXOVER 0x0001 -#define CE_OVERRUN 0x0002 -#define CE_RXPARITY 0x0004 -#define CE_FRAME 0x0008 -#define CE_BREAK 0x0010 -#define CE_CTSTO 0x0020 -#define CE_DSRTO 0x0040 -#define CE_RLSDTO 0x0080 -#define CE_TXFULL 0x0100 -#define CE_PTO 0x0200 -#define CE_IOE 0x0400 -#define CE_DNS 0x0800 -#define CE_OOP 0x1000 -#define CE_MODE 0x8000 - -#define IE_BADID -1 -#define IE_OPEN -2 -#define IE_NOPEN -3 -#define IE_MEMORY -4 -#define IE_DEFAULT -5 -#define IE_HARDWARE -10 -#define IE_BYTESIZE -11 -#define IE_BAUDRATE -12 - -#define EV_RXCHAR 0x0001 -#define EV_RXFLAG 0x0002 -#define EV_TXEMPTY 0x0004 -#define EV_CTS 0x0008 -#define EV_DSR 0x0010 -#define EV_RLSD 0x0020 -#define EV_BREAK 0x0040 -#define EV_ERR 0x0080 -#define EV_RING 0x0100 -#define EV_PERR 0x0200 -#define EV_CTSS 0x0400 -#define EV_DSRS 0x0800 -#define EV_RLSDS 0x1000 -#define EV_RINGTE 0x2000 -#define EV_RingTe EV_RINGTE - -#define SETXOFF 1 -#define SETXON 2 -#define SETRTS 3 -#define CLRRTS 4 -#define SETDTR 5 -#define CLRDTR 6 -#define RESETDEV 7 -#define SETBREAK 8 -#define CLRBREAK 9 - -#define GETBASEIRQ 10 +#define CE_RXOVER 0x0001 +#define CE_OVERRUN 0x0002 +#define CE_RXPARITY 0x0004 +#define CE_FRAME 0x0008 +#define CE_BREAK 0x0010 +#define CE_CTSTO 0x0020 +#define CE_DSRTO 0x0040 +#define CE_RLSDTO 0x0080 +#define CE_TXFULL 0x0100 +#define CE_PTO 0x0200 +#define CE_IOE 0x0400 +#define CE_DNS 0x0800 +#define CE_OOP 0x1000 +#define CE_MODE 0x8000 + +#define IE_BADID -1 +#define IE_OPEN -2 +#define IE_NOPEN -3 +#define IE_MEMORY -4 +#define IE_DEFAULT -5 +#define IE_HARDWARE -10 +#define IE_BYTESIZE -11 +#define IE_BAUDRATE -12 + +#define EV_RXCHAR 0x0001 +#define EV_RXFLAG 0x0002 +#define EV_TXEMPTY 0x0004 +#define EV_CTS 0x0008 +#define EV_DSR 0x0010 +#define EV_RLSD 0x0020 +#define EV_BREAK 0x0040 +#define EV_ERR 0x0080 +#define EV_RING 0x0100 +#define EV_PERR 0x0200 +#define EV_CTSS 0x0400 +#define EV_DSRS 0x0800 +#define EV_RLSDS 0x1000 +#define EV_RINGTE 0x2000 +#define EV_RingTe EV_RINGTE + +#define SETXOFF 1 +#define SETXON 2 +#define SETRTS 3 +#define CLRRTS 4 +#define SETDTR 5 +#define CLRDTR 6 +#define RESETDEV 7 +#define SETBREAK 8 +#define CLRBREAK 9 + +#define GETBASEIRQ 10 /* Purge functions for Comm Port */ -#define PURGE_TXABORT 0x0001 /* Kill the pending/current writes to the - comm port */ -#define PURGE_RXABORT 0x0002 /*Kill the pending/current reads to - the comm port */ +#define PURGE_TXABORT 0x0001 /* Kill the pending/current writes to the + comm port */ +#define PURGE_RXABORT 0x0002 /*Kill the pending/current reads to + the comm port */ #define PURGE_TXCLEAR 0x0004 /* Kill the transmit queue if there*/ #define PURGE_RXCLEAR 0x0008 /* Kill the typeahead buffer if there*/ @@ -335,22 +335,22 @@ typedef struct #define MS_RING_ON ((DWORD)0x0040) #define MS_RLSD_ON ((DWORD)0x0080) -#define RTS_CONTROL_DISABLE 0 -#define RTS_CONTROL_ENABLE 1 -#define RTS_CONTROL_HANDSHAKE 2 -#define RTS_CONTROL_TOGGLE 3 +#define RTS_CONTROL_DISABLE 0 +#define RTS_CONTROL_ENABLE 1 +#define RTS_CONTROL_HANDSHAKE 2 +#define RTS_CONTROL_TOGGLE 3 -#define DTR_CONTROL_DISABLE 0 -#define DTR_CONTROL_ENABLE 1 -#define DTR_CONTROL_HANDSHAKE 2 +#define DTR_CONTROL_DISABLE 0 +#define DTR_CONTROL_ENABLE 1 +#define DTR_CONTROL_HANDSHAKE 2 -#define CSTF_CTSHOLD 0x01 -#define CSTF_DSRHOLD 0x02 -#define CSTF_RLSDHOLD 0x04 -#define CSTF_XOFFHOLD 0x08 -#define CSTF_XOFFSENT 0x10 -#define CSTF_EOF 0x20 -#define CSTF_TXIM 0x40 +#define CSTF_CTSHOLD 0x01 +#define CSTF_DSRHOLD 0x02 +#define CSTF_RLSDHOLD 0x04 +#define CSTF_XOFFHOLD 0x08 +#define CSTF_XOFFSENT 0x10 +#define CSTF_EOF 0x20 +#define CSTF_TXIM 0x40 #define MAKEINTRESOURCEA(i) (LPSTR)((DWORD)((WORD)(i))) #define MAKEINTRESOURCEW(i) (LPWSTR)((DWORD)((WORD)(i))) @@ -398,15 +398,15 @@ typedef struct #define RT_GROUP_ICON WINELIB_NAME_AW(RT_GROUP_ICON) -#define LMEM_FIXED 0 +#define LMEM_FIXED 0 #define LMEM_MOVEABLE 0x0002 #define LMEM_NOCOMPACT 0x0010 #define LMEM_NODISCARD 0x0020 #define LMEM_ZEROINIT 0x0040 #define LMEM_MODIFY 0x0080 #define LMEM_DISCARDABLE 0x0F00 -#define LMEM_DISCARDED 0x4000 -#define LMEM_LOCKCOUNT 0x00FF +#define LMEM_DISCARDED 0x4000 +#define LMEM_LOCKCOUNT 0x00FF #define LPTR (LMEM_FIXED | LMEM_ZEROINIT) @@ -610,36 +610,36 @@ typedef struct { */ /* STARTUPINFO.dwFlags */ -#define STARTF_USESHOWWINDOW 0x00000001 -#define STARTF_USESIZE 0x00000002 -#define STARTF_USEPOSITION 0x00000004 -#define STARTF_USECOUNTCHARS 0x00000008 -#define STARTF_USEFILLATTRIBUTE 0x00000010 -#define STARTF_RUNFULLSCREEN 0x00000020 -#define STARTF_FORCEONFEEDBACK 0x00000040 -#define STARTF_FORCEOFFFEEDBACK 0x00000080 -#define STARTF_USESTDHANDLES 0x00000100 -#define STARTF_USEHOTKEY 0x00000200 +#define STARTF_USESHOWWINDOW 0x00000001 +#define STARTF_USESIZE 0x00000002 +#define STARTF_USEPOSITION 0x00000004 +#define STARTF_USECOUNTCHARS 0x00000008 +#define STARTF_USEFILLATTRIBUTE 0x00000010 +#define STARTF_RUNFULLSCREEN 0x00000020 +#define STARTF_FORCEONFEEDBACK 0x00000040 +#define STARTF_FORCEOFFFEEDBACK 0x00000080 +#define STARTF_USESTDHANDLES 0x00000100 +#define STARTF_USEHOTKEY 0x00000200 typedef struct { - DWORD cb; /* 00: size of struct */ - LPSTR lpReserved; /* 04: */ - LPSTR lpDesktop; /* 08: */ - LPSTR lpTitle; /* 0c: */ - DWORD dwX; /* 10: */ - DWORD dwY; /* 14: */ - DWORD dwXSize; /* 18: */ - DWORD dwYSize; /* 1c: */ - DWORD dwXCountChars; /* 20: */ - DWORD dwYCountChars; /* 24: */ - DWORD dwFillAttribute; /* 28: */ - DWORD dwFlags; /* 2c: */ - WORD wShowWindow; /* 30: */ - WORD cbReserved2; /* 32: */ - BYTE *lpReserved2; /* 34: */ - HANDLE hStdInput; /* 38: */ - HANDLE hStdOutput; /* 3c: */ - HANDLE hStdError; /* 40: */ + DWORD cb; /* 00: size of struct */ + LPSTR lpReserved; /* 04: */ + LPSTR lpDesktop; /* 08: */ + LPSTR lpTitle; /* 0c: */ + DWORD dwX; /* 10: */ + DWORD dwY; /* 14: */ + DWORD dwXSize; /* 18: */ + DWORD dwYSize; /* 1c: */ + DWORD dwXCountChars; /* 20: */ + DWORD dwYCountChars; /* 24: */ + DWORD dwFillAttribute; /* 28: */ + DWORD dwFlags; /* 2c: */ + WORD wShowWindow; /* 30: */ + WORD cbReserved2; /* 32: */ + BYTE *lpReserved2; /* 34: */ + HANDLE hStdInput; /* 38: */ + HANDLE hStdOutput; /* 3c: */ + HANDLE hStdError; /* 40: */ } STARTUPINFOA, *LPSTARTUPINFOA; typedef struct { @@ -667,10 +667,10 @@ DECL_WINELIB_TYPE_AW(STARTUPINFO) DECL_WINELIB_TYPE_AW(LPSTARTUPINFO) typedef struct { - HANDLE hProcess; - HANDLE hThread; - DWORD dwProcessId; - DWORD dwThreadId; + HANDLE hProcess; + HANDLE hThread; + DWORD dwProcessId; + DWORD dwThreadId; } PROCESS_INFORMATION,*LPPROCESS_INFORMATION; typedef struct { @@ -720,7 +720,7 @@ typedef struct { /* File creation flags */ #define FILE_FLAG_WRITE_THROUGH 0x80000000UL -#define FILE_FLAG_OVERLAPPED 0x40000000L +#define FILE_FLAG_OVERLAPPED 0x40000000L #define FILE_FLAG_NO_BUFFERING 0x20000000L #define FILE_FLAG_RANDOM_ACCESS 0x10000000L #define FILE_FLAG_SEQUENTIAL_SCAN 0x08000000L @@ -786,28 +786,28 @@ DECL_WINELIB_TYPE_AW(LOCALE_ENUMPROC) typedef struct tagSYSTEM_INFO { union { - DWORD dwOemId; /* Obsolete field - do not use */ - struct { - WORD wProcessorArchitecture; - WORD wReserved; - } DUMMYSTRUCTNAME; + DWORD dwOemId; /* Obsolete field - do not use */ + struct { + WORD wProcessorArchitecture; + WORD wReserved; + } DUMMYSTRUCTNAME; } DUMMYUNIONNAME; - DWORD dwPageSize; - LPVOID lpMinimumApplicationAddress; - LPVOID lpMaximumApplicationAddress; - DWORD dwActiveProcessorMask; - DWORD dwNumberOfProcessors; - DWORD dwProcessorType; - DWORD dwAllocationGranularity; - WORD wProcessorLevel; - WORD wProcessorRevision; + DWORD dwPageSize; + LPVOID lpMinimumApplicationAddress; + LPVOID lpMaximumApplicationAddress; + DWORD dwActiveProcessorMask; + DWORD dwNumberOfProcessors; + DWORD dwProcessorType; + DWORD dwAllocationGranularity; + WORD wProcessorLevel; + WORD wProcessorRevision; } SYSTEM_INFO, *LPSYSTEM_INFO; /* {G,S}etPriorityClass */ -#define NORMAL_PRIORITY_CLASS 0x00000020 -#define IDLE_PRIORITY_CLASS 0x00000040 -#define HIGH_PRIORITY_CLASS 0x00000080 -#define REALTIME_PRIORITY_CLASS 0x00000100 +#define NORMAL_PRIORITY_CLASS 0x00000020 +#define IDLE_PRIORITY_CLASS 0x00000040 +#define HIGH_PRIORITY_CLASS 0x00000080 +#define REALTIME_PRIORITY_CLASS 0x00000100 typedef WIN_BOOL CALLBACK (*ENUMRESTYPEPROCA)(HMODULE,LPSTR,LONG); typedef WIN_BOOL CALLBACK (*ENUMRESTYPEPROCW)(HMODULE,LPWSTR,LONG); @@ -821,33 +821,33 @@ DECL_WINELIB_TYPE_AW(ENUMRESNAMEPROC) DECL_WINELIB_TYPE_AW(ENUMRESLANGPROC) /* flags that can be passed to LoadLibraryEx */ -#define DONT_RESOLVE_DLL_REFERENCES 0x00000001 -#define LOAD_LIBRARY_AS_DATAFILE 0x00000002 -#define LOAD_WITH_ALTERED_SEARCH_PATH 0x00000008 +#define DONT_RESOLVE_DLL_REFERENCES 0x00000001 +#define LOAD_LIBRARY_AS_DATAFILE 0x00000002 +#define LOAD_WITH_ALTERED_SEARCH_PATH 0x00000008 /* ifdef _x86_ ... */ typedef struct _LDT_ENTRY { - WORD LimitLow; - WORD BaseLow; + WORD LimitLow; + WORD BaseLow; union { - struct { - BYTE BaseMid; - BYTE Flags1;/*Declare as bytes to avoid alignment problems */ - BYTE Flags2; - BYTE BaseHi; - } Bytes; - struct { - unsigned BaseMid : 8; - unsigned Type : 5; - unsigned Dpl : 2; - unsigned Pres : 1; - unsigned LimitHi : 4; - unsigned Sys : 1; - unsigned Reserved_0 : 1; - unsigned Default_Big : 1; - unsigned Granularity : 1; - unsigned BaseHi : 8; - } Bits; + struct { + BYTE BaseMid; + BYTE Flags1;/*Declare as bytes to avoid alignment problems */ + BYTE Flags2; + BYTE BaseHi; + } Bytes; + struct { + unsigned BaseMid : 8; + unsigned Type : 5; + unsigned Dpl : 2; + unsigned Pres : 1; + unsigned LimitHi : 4; + unsigned Sys : 1; + unsigned Reserved_0 : 1; + unsigned Default_Big : 1; + unsigned Granularity : 1; + unsigned BaseHi : 8; + } Bits; } HighWord; } LDT_ENTRY, *LPLDT_ENTRY; @@ -877,29 +877,29 @@ typedef struct _DllVersionInfo { * This one seems to be a Win32 only definition. It also is defined with * WINAPI instead of CALLBACK in the windows headers. */ -typedef DWORD WINAPI (*LPPROGRESS_ROUTINE)(LARGE_INTEGER, LARGE_INTEGER, LARGE_INTEGER, +typedef DWORD WINAPI (*LPPROGRESS_ROUTINE)(LARGE_INTEGER, LARGE_INTEGER, LARGE_INTEGER, LARGE_INTEGER, DWORD, DWORD, HANDLE, HANDLE, LPVOID); -#define WAIT_FAILED 0xffffffff -#define WAIT_OBJECT_0 0 -#define WAIT_ABANDONED STATUS_ABANDONED_WAIT_0 -#define WAIT_ABANDONED_0 STATUS_ABANDONED_WAIT_0 -#define WAIT_IO_COMPLETION STATUS_USER_APC -#define WAIT_TIMEOUT STATUS_TIMEOUT +#define WAIT_FAILED 0xffffffff +#define WAIT_OBJECT_0 0 +#define WAIT_ABANDONED STATUS_ABANDONED_WAIT_0 +#define WAIT_ABANDONED_0 STATUS_ABANDONED_WAIT_0 +#define WAIT_IO_COMPLETION STATUS_USER_APC +#define WAIT_TIMEOUT STATUS_TIMEOUT #define STILL_ACTIVE STATUS_PENDING -#define PAGE_NOACCESS 0x01 -#define PAGE_READONLY 0x02 -#define PAGE_READWRITE 0x04 -#define PAGE_WRITECOPY 0x08 -#define PAGE_EXECUTE 0x10 -#define PAGE_EXECUTE_READ 0x20 -#define PAGE_EXECUTE_READWRITE 0x40 -#define PAGE_EXECUTE_WRITECOPY 0x80 -#define PAGE_GUARD 0x100 -#define PAGE_NOCACHE 0x200 +#define PAGE_NOACCESS 0x01 +#define PAGE_READONLY 0x02 +#define PAGE_READWRITE 0x04 +#define PAGE_WRITECOPY 0x08 +#define PAGE_EXECUTE 0x10 +#define PAGE_EXECUTE_READ 0x20 +#define PAGE_EXECUTE_READWRITE 0x40 +#define PAGE_EXECUTE_WRITECOPY 0x80 +#define PAGE_GUARD 0x100 +#define PAGE_NOCACHE 0x200 #define MEM_COMMIT 0x00001000 #define MEM_RESERVE 0x00002000 @@ -968,8 +968,8 @@ typedef DWORD WINAPI (*LPPROGRESS_ROUTINE)(LARGE_INTEGER, LARGE_INTEGER, LARGE_I /* Wine extension; Windows doesn't have a name for this code */ #define EXCEPTION_CRITICAL_SECTION_WAIT 0xc0000194 -#define DUPLICATE_CLOSE_SOURCE 0x00000001 -#define DUPLICATE_SAME_ACCESS 0x00000002 +#define DUPLICATE_CLOSE_SOURCE 0x00000001 +#define DUPLICATE_SAME_ACCESS 0x00000002 #define HANDLE_FLAG_INHERIT 0x00000001 #define HANDLE_FLAG_PROTECT_FROM_CLOSE 0x00000002 @@ -987,12 +987,12 @@ typedef DWORD WINAPI (*LPPROGRESS_ROUTINE)(LARGE_INTEGER, LARGE_INTEGER, LARGE_I /* Could this type be considered opaque? */ typedef struct { - LPVOID DebugInfo; - LONG LockCount; - LONG RecursionCount; - HANDLE OwningThread; - HANDLE LockSemaphore; - DWORD Reserved; + LPVOID DebugInfo; + LONG LockCount; + LONG RecursionCount; + HANDLE OwningThread; + HANDLE LockSemaphore; + DWORD Reserved; }CRITICAL_SECTION; #ifdef __WINE__ @@ -1009,21 +1009,21 @@ typedef struct { } OSVERSIONINFO16; typedef struct { - DWORD dwOSVersionInfoSize; - DWORD dwMajorVersion; - DWORD dwMinorVersion; - DWORD dwBuildNumber; - DWORD dwPlatformId; - CHAR szCSDVersion[128]; + DWORD dwOSVersionInfoSize; + DWORD dwMajorVersion; + DWORD dwMinorVersion; + DWORD dwBuildNumber; + DWORD dwPlatformId; + CHAR szCSDVersion[128]; } OSVERSIONINFOA; typedef struct { - DWORD dwOSVersionInfoSize; - DWORD dwMajorVersion; - DWORD dwMinorVersion; - DWORD dwBuildNumber; - DWORD dwPlatformId; - WCHAR szCSDVersion[128]; + DWORD dwOSVersionInfoSize; + DWORD dwMajorVersion; + DWORD dwMinorVersion; + DWORD dwBuildNumber; + DWORD dwPlatformId; + WCHAR szCSDVersion[128]; } OSVERSIONINFOW; DECL_WINELIB_TYPE_AW(OSVERSIONINFO) @@ -1073,13 +1073,13 @@ typedef struct tagDCB typedef struct tagCOMMTIMEOUTS { - DWORD ReadIntervalTimeout; - DWORD ReadTotalTimeoutMultiplier; - DWORD ReadTotalTimeoutConstant; - DWORD WriteTotalTimeoutMultiplier; - DWORD WriteTotalTimeoutConstant; + DWORD ReadIntervalTimeout; + DWORD ReadTotalTimeoutMultiplier; + DWORD ReadTotalTimeoutConstant; + DWORD WriteTotalTimeoutMultiplier; + DWORD WriteTotalTimeoutConstant; } COMMTIMEOUTS,*LPCOMMTIMEOUTS; - + #include "poppack.h" typedef void CALLBACK (*PAPCFUNC)(ULONG_PTR); @@ -1099,7 +1099,7 @@ WIN_BOOL WINAPI SetCommState(INT,LPDCB); WIN_BOOL WINAPI TransmitCommChar(INT,CHAR); WIN_BOOL WINAPI SetupComm(HANDLE, DWORD, DWORD); WIN_BOOL WINAPI GetCommProperties(HANDLE, LPDCB *); - + /*DWORD WINAPI GetVersion( void );*/ WIN_BOOL16 WINAPI GetVersionEx16(OSVERSIONINFO16*); WIN_BOOL WINAPI GetVersionExA(OSVERSIONINFOA*); @@ -1120,7 +1120,7 @@ void WINAPI RaiseException(DWORD,DWORD,DWORD,const LPDWORD); WIN_BOOL WINAPI SetProcessWorkingSetSize(HANDLE,DWORD,DWORD); WIN_BOOL WINAPI TerminateProcess(HANDLE,DWORD); WIN_BOOL WINAPI TerminateThread(HANDLE,DWORD); -WIN_BOOL WINAPI GetExitCodeThread(HANDLE,LPDWORD); +WIN_BOOL WINAPI GetExitCodeThread(HANDLE,LPDWORD); /* GetBinaryType return values. */ @@ -1252,9 +1252,9 @@ WIN_BOOL WINAPI FlushConsoleInputBuffer(HANDLE); WIN_BOOL WINAPI FlushFileBuffers(HANDLE); WIN_BOOL WINAPI FlushViewOfFile(LPCVOID, DWORD); DWORD WINAPI FormatMessageA(DWORD,LPCVOID,DWORD,DWORD,LPSTR, - DWORD,LPDWORD); + DWORD,LPDWORD); DWORD WINAPI FormatMessageW(DWORD,LPCVOID,DWORD,DWORD,LPWSTR, - DWORD,LPDWORD); + DWORD,LPDWORD); #define FormatMessage WINELIB_NAME_AW(FormatMessage) WIN_BOOL WINAPI FreeConsole(void); WIN_BOOL WINAPI FreeEnvironmentStringsA(LPSTR); @@ -1372,7 +1372,7 @@ WIN_BOOL WINAPI LookupAccountSidW(LPCWSTR,PSID,LPWSTR,LPDWORD,LPWSTR,LPDW #define LookupAccountSid WINELIB_NAME_AW(LookupAccountSidW) WIN_BOOL WINAPI LocalFileTimeToFileTime(const FILETIME*,LPFILETIME); WIN_BOOL WINAPI LockFile(HANDLE,DWORD,DWORD,DWORD,DWORD); -WIN_BOOL WINAPI LockFileEx(HANDLE, DWORD, DWORD, DWORD, DWORD, LPOVERLAPPED); +WIN_BOOL WINAPI LockFileEx(HANDLE, DWORD, DWORD, DWORD, DWORD, LPOVERLAPPED); WIN_BOOL WINAPI LookupPrivilegeValueA(LPCSTR,LPCSTR,LPVOID); WIN_BOOL WINAPI LookupPrivilegeValueW(LPCWSTR,LPCWSTR,LPVOID); #define LookupPrivilegeValue WINELIB_NAME_AW(LookupPrivilegeValue) @@ -1426,7 +1426,7 @@ WIN_BOOL WINAPI ReadConsoleA(HANDLE,LPVOID,DWORD,LPDWORD,LPVOID); WIN_BOOL WINAPI ReadConsoleW(HANDLE,LPVOID,DWORD,LPDWORD,LPVOID); #define ReadConsole WINELIB_NAME_AW(ReadConsole) WIN_BOOL WINAPI ReadConsoleOutputCharacterA(HANDLE,LPSTR,DWORD, - COORD,LPDWORD); + COORD,LPDWORD); #define ReadConsoleOutputCharacter WINELIB_NAME_AW(ReadConsoleOutputCharacter) WIN_BOOL WINAPI ReadEventLogA(HANDLE,DWORD,DWORD,LPVOID,DWORD,DWORD *,DWORD *); WIN_BOOL WINAPI ReadEventLogW(HANDLE,DWORD,DWORD,LPVOID,DWORD,DWORD *,DWORD *); @@ -1722,8 +1722,8 @@ WIN_BOOL WINAPI WritePrivateProfileSectionW(LPCWSTR,LPCWSTR,LPCWSTR); WIN_BOOL WINAPI WritePrivateProfileStringA(LPCSTR,LPCSTR,LPCSTR,LPCSTR); WIN_BOOL WINAPI WritePrivateProfileStringW(LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR); #define WritePrivateProfileString WINELIB_NAME_AW(WritePrivateProfileString) -WIN_BOOL WINAPI WriteProfileSectionA(LPCSTR,LPCSTR); -WIN_BOOL WINAPI WriteProfileSectionW(LPCWSTR,LPCWSTR); +WIN_BOOL WINAPI WriteProfileSectionA(LPCSTR,LPCSTR); +WIN_BOOL WINAPI WriteProfileSectionW(LPCWSTR,LPCWSTR); #define WritePrivateProfileSection WINELIB_NAME_AW(WritePrivateProfileSection) WIN_BOOL WINAPI WritePrivateProfileStructA(LPCSTR,LPCSTR,LPVOID,UINT,LPCSTR); WIN_BOOL WINAPI WritePrivateProfileStructW(LPCWSTR,LPCWSTR,LPVOID,UINT,LPCWSTR); diff --git a/libs/loader/wine/windef.h b/libs/loader/wine/windef.h index 5d38ba0f08..a84cf0e98e 100644 --- a/libs/loader/wine/windef.h +++ b/libs/loader/wine/windef.h @@ -112,7 +112,7 @@ extern "C" { #ifdef __i386__ # if defined(__GNUC__) && ((__GNUC__ > 2) || ((__GNUC__ == 2) && (__GNUC_MINOR__ >= 7))) -# ifndef _EGCS_ +# ifndef _EGCS_ #define __stdcall __attribute__((__stdcall__)) #define __cdecl __attribute__((__cdecl__)) # define __RESTORE_ES __asm__ __volatile__("pushl %ds\n\tpopl %es") @@ -120,7 +120,7 @@ extern "C" { # else // # error You need gcc >= 2.7 to build Wine on a 386 # endif -#else +#else # define __stdcall # define __cdecl # define __RESTORE_ES @@ -260,14 +260,14 @@ typedef void* SEGPTR; #ifdef STRICT #define DECLARE_HANDLE(a) \ - typedef struct a##__ { int unused; } *a; \ - typedef a *P##a; \ - typedef a *LP##a + typedef struct a##__ { int unused; } *a; \ + typedef a *P##a; \ + typedef a *LP##a #else /*STRICT*/ #define DECLARE_HANDLE(a) \ - typedef HANDLE a; \ - typedef a *P##a; \ - typedef a *LP##a + typedef HANDLE a; \ + typedef a *P##a; \ + typedef a *LP##a #endif /*STRICT*/ DECLARE_HANDLE(HACMDRIVERID); @@ -382,10 +382,10 @@ typedef INT16 *LPINT16; typedef UINT16 *LPUINT16; #define DECLARE_HANDLE16(a) \ - typedef HANDLE16 a##16; \ - typedef a##16 *P##a##16; \ - typedef a##16 *NP##a##16; \ - typedef a##16 *LP##a##16 + typedef HANDLE16 a##16; \ + typedef a##16 *P##a##16; \ + typedef a##16 *NP##a##16; \ + typedef a##16 *LP##a##16 DECLARE_HANDLE16(HACMDRIVERID); DECLARE_HANDLE16(HACMDRIVER); @@ -539,15 +539,15 @@ typedef LRESULT CALLBACK (*WNDPROC16)(HWND16,UINT16,WPARAM16,LPARAM); /* Macros to access unaligned or wrong-endian WORDs and DWORDs. */ /* Note: These macros are semantically broken, at least for wrc. wrc - spits out data in the platform's current binary format, *not* in + spits out data in the platform's current binary format, *not* in little-endian format. These macros are used throughout the resource - code to load and store data to the resources. Since it is unlikely - that we'll ever be dealing with little-endian resource data, the - byte-swapping nature of these macros has been disabled. Rather than + code to load and store data to the resources. Since it is unlikely + that we'll ever be dealing with little-endian resource data, the + byte-swapping nature of these macros has been disabled. Rather than remove the use of these macros from the resource loading code, the - macros have simply been disabled. In the future, someone may want + macros have simply been disabled. In the future, someone may want to reactivate these macros for other purposes. In that case, the - resource code will have to be modified to use different macros. */ + resource code will have to be modified to use different macros. */ #if 1 #define PUT_WORD(ptr,w) (*(WORD *)(ptr) = (w)) @@ -636,8 +636,8 @@ typedef struct _POINTL typedef struct tagPOINTS { - SHORT x; - SHORT y; + SHORT x; + SHORT y; } POINTS, *PPOINTS, *LPPOINTS; @@ -658,7 +658,7 @@ typedef const RECT *LPCRECT; typedef struct tagRECTL { LONG left; - LONG top; + LONG top; LONG right; LONG bottom; } RECTL, *PRECTL, *LPRECTL; diff --git a/libs/loader/wine/winerror.h b/libs/loader/wine/winerror.h index 19a75c33a0..0c78792b9c 100644 --- a/libs/loader/wine/winerror.h +++ b/libs/loader/wine/winerror.h @@ -8,15 +8,15 @@ extern int WIN32_LastError; #define FACILITY_RPC 1 #define FACILITY_DISPATCH 2 #define FACILITY_STORAGE 3 -#define FACILITY_ITF 4 -#define FACILITY_WIN32 7 +#define FACILITY_ITF 4 +#define FACILITY_WIN32 7 #define FACILITY_WINDOWS 8 #define FACILITY_SSPI 9 #define FACILITY_CONTROL 10 #define FACILITY_CERT 11 #define FACILITY_INTERNET 12 -#define SEVERITY_ERROR 1 +#define SEVERITY_ERROR 1 #define MAKE_HRESULT(sev,fac,code) \ @@ -1489,28 +1489,28 @@ extern int WIN32_LastError; #define DRAGDROP_E_ALREADYREGISTERED 0x80040101L #define DRAGDROP_S_USEDEFAULTCURSORS 0x00040102L -#define E_UNEXPECTED 0x8000FFFF +#define E_UNEXPECTED 0x8000FFFF -#define E_NOTIMPL 0x80004001 -#define E_NOINTERFACE 0x80004002 -#define E_POINTER 0x80004003 -#define E_ABORT 0x80004004 -#define E_FAIL 0x80004005 +#define E_NOTIMPL 0x80004001 +#define E_NOINTERFACE 0x80004002 +#define E_POINTER 0x80004003 +#define E_ABORT 0x80004004 +#define E_FAIL 0x80004005 #define E_UNSPEC E_FAIL /* must to be defined (used by FileMoniker, IOleLink and DoDragDrop as a return value) */ -/*#define CO_E_INIT_TLS 0x80004006 -#define CO_E_INIT_SHARED_ALLOCATOR 0x80004007 -#define CO_E_INIT_MEMORY_ALLOCATOR 0x80004008 -#define CO_E_INIT_CLASS_CACHE 0x80004009 -#define CO_E_INIT_RPC_CHANNEL 0x8000400A -#define CO_E_INIT_TLS_SET_CHANNEL_CONTROL 0x8000400B -#define CO_E_INIT_TLS_CHANNEL_CONTROL 0x8000400C -#define CO_E_INIT_UNACCEPTED_USER_ALLOCATOR 0x8000400D -#define CO_E_INIT_SCM_MUTEX_EXISTS 0x8000400E -#define CO_E_INIT_SCM_FILE_MAPPING_EXISTS 0x8000400F -#define CO_E_INIT_SCM_MAP_VIEW_OF_FILE 0x80004010 -#define CO_E_INIT_SCM_EXEC_FAILURE 0x80004011 -#define CO_E_INIT_ONLY_SINGLE_THREADED 0x80004012 */ +/*#define CO_E_INIT_TLS 0x80004006 +#define CO_E_INIT_SHARED_ALLOCATOR 0x80004007 +#define CO_E_INIT_MEMORY_ALLOCATOR 0x80004008 +#define CO_E_INIT_CLASS_CACHE 0x80004009 +#define CO_E_INIT_RPC_CHANNEL 0x8000400A +#define CO_E_INIT_TLS_SET_CHANNEL_CONTROL 0x8000400B +#define CO_E_INIT_TLS_CHANNEL_CONTROL 0x8000400C +#define CO_E_INIT_UNACCEPTED_USER_ALLOCATOR 0x8000400D +#define CO_E_INIT_SCM_MUTEX_EXISTS 0x8000400E +#define CO_E_INIT_SCM_FILE_MAPPING_EXISTS 0x8000400F +#define CO_E_INIT_SCM_MAP_VIEW_OF_FILE 0x80004010 +#define CO_E_INIT_SCM_EXEC_FAILURE 0x80004011 +#define CO_E_INIT_ONLY_SINGLE_THREADED 0x80004012 */ #define CO_S_NOTALLINTERFACES 0x00080012 #define CO_E_NOTINITIALIZED 0x800401F0 @@ -1522,15 +1522,15 @@ extern int WIN32_LastError; #define OLE_S_FIRST 0x00040000L #define OLE_S_LAST 0x000400FFL -#define OLE_E_ENUM_NOMORE 0x80040002 -#define OLE_E_ADVISENOTSUPPORTED 0x80040003 -#define OLE_E_NOCONNECTION 0x80040004 -#define OLE_E_NOTRUNNING 0x80040005 -#define OLE_E_NOCACHE 0x80040006 -#define OLE_E_BLANK 0x80040007 -#define OLE_E_NOT_INPLACEACTIVE 0x80040010 -#define OLE_E_STATIC 0x8004000B -#define OLE_E_PROMPTSAVECANCELLED 0x8004000C +#define OLE_E_ENUM_NOMORE 0x80040002 +#define OLE_E_ADVISENOTSUPPORTED 0x80040003 +#define OLE_E_NOCONNECTION 0x80040004 +#define OLE_E_NOTRUNNING 0x80040005 +#define OLE_E_NOCACHE 0x80040006 +#define OLE_E_BLANK 0x80040007 +#define OLE_E_NOT_INPLACEACTIVE 0x80040010 +#define OLE_E_STATIC 0x8004000B +#define OLE_E_PROMPTSAVECANCELLED 0x8004000C #define OLE_S_USEREG 0x00040000 #define OLE_S_STATIC 0x00040001 @@ -1540,14 +1540,14 @@ extern int WIN32_LastError; #define DV_E_TYMED 0x80040069 #define CLASS_E_NOAGGREGATION 0x80040110 -#define CLASS_E_CLASSNOTAVAILABLE 0x80040111 +#define CLASS_E_CLASSNOTAVAILABLE 0x80040111 #define DATA_S_SAMEFORMATETC 0x80040130 -#define E_ACCESSDENIED 0x80070005 -#define E_HANDLE 0x80070006 -#define E_OUTOFMEMORY 0x8007000E -#define E_INVALIDARG 0x80070057 +#define E_ACCESSDENIED 0x80070005 +#define E_HANDLE 0x80070006 +#define E_OUTOFMEMORY 0x8007000E +#define E_INVALIDARG 0x80070057 /*#define OLE_E_FIRST 0x80040000L */ /*#define OLE_E_LAST 0x800400FFL */ @@ -1575,39 +1575,39 @@ extern int WIN32_LastError; #define MK_E_NOSTORAGE 0x800401ED #define MK_E_NOPREFIX 0x800401EE -#define STG_E_INVALIDFUNCTION 0x80030001 -#define STG_E_FILENOTFOUND 0x80030002 -#define STG_E_PATHNOTFOUND 0x80030003 -#define STG_E_TOOMANYOPENFILES 0x80030004 -#define STG_E_ACCESSDENIED 0x80030005 -#define STG_E_INVALIDHANDLE 0x80030006 -#define STG_E_INSUFFICIENTMEMORY 0x80030008 -#define STG_E_INVALIDPOINTER 0x80030009 -#define STG_E_NOMOREFILES 0x80030012 -#define STG_E_DISKISWRITEPROTECTED 0x80030013 -#define STG_E_SEEKERROR 0x80030019 -#define STG_E_WRITEFAULT 0x8003001D -#define STG_E_READFAULT 0x8003001E -#define STG_E_SHAREVIOLATION 0x80030020 -#define STG_E_LOCKVIOLATION 0x80030021 -#define STG_E_FILEALREADYEXISTS 0x80030050 -#define STG_E_INVALIDPARAMETER 0x80030057 -#define STG_E_MEDIUMFULL 0x80030070 -#define STG_E_ABNORMALAPIEXIT 0x800300FA -#define STG_E_INVALIDHEADER 0x800300FB -#define STG_E_INVALIDNAME 0x800300FC -#define STG_E_UNKNOWN 0x800300FD -#define STG_E_UNIMPLEMENTEDFUNCTION 0x800300FE -#define STG_E_INVALIDFLAG 0x800300FF -#define STG_E_INUSE 0x80030100 -#define STG_E_NOTCURRENT 0x80030101 -#define STG_E_REVERTED 0x80030102 -#define STG_E_CANTSAVE 0x80030103 -#define STG_E_OLDFORMAT 0x80030104 -#define STG_E_OLDDLL 0x80030105 -#define STG_E_SHAREREQUIRED 0x80030106 -#define STG_E_NOTFILEBASEDSTORAGE 0x80030107 -#define STG_E_EXTANTMARSHALLINGS 0x80030108 +#define STG_E_INVALIDFUNCTION 0x80030001 +#define STG_E_FILENOTFOUND 0x80030002 +#define STG_E_PATHNOTFOUND 0x80030003 +#define STG_E_TOOMANYOPENFILES 0x80030004 +#define STG_E_ACCESSDENIED 0x80030005 +#define STG_E_INVALIDHANDLE 0x80030006 +#define STG_E_INSUFFICIENTMEMORY 0x80030008 +#define STG_E_INVALIDPOINTER 0x80030009 +#define STG_E_NOMOREFILES 0x80030012 +#define STG_E_DISKISWRITEPROTECTED 0x80030013 +#define STG_E_SEEKERROR 0x80030019 +#define STG_E_WRITEFAULT 0x8003001D +#define STG_E_READFAULT 0x8003001E +#define STG_E_SHAREVIOLATION 0x80030020 +#define STG_E_LOCKVIOLATION 0x80030021 +#define STG_E_FILEALREADYEXISTS 0x80030050 +#define STG_E_INVALIDPARAMETER 0x80030057 +#define STG_E_MEDIUMFULL 0x80030070 +#define STG_E_ABNORMALAPIEXIT 0x800300FA +#define STG_E_INVALIDHEADER 0x800300FB +#define STG_E_INVALIDNAME 0x800300FC +#define STG_E_UNKNOWN 0x800300FD +#define STG_E_UNIMPLEMENTEDFUNCTION 0x800300FE +#define STG_E_INVALIDFLAG 0x800300FF +#define STG_E_INUSE 0x80030100 +#define STG_E_NOTCURRENT 0x80030101 +#define STG_E_REVERTED 0x80030102 +#define STG_E_CANTSAVE 0x80030103 +#define STG_E_OLDFORMAT 0x80030104 +#define STG_E_OLDDLL 0x80030105 +#define STG_E_SHAREREQUIRED 0x80030106 +#define STG_E_NOTFILEBASEDSTORAGE 0x80030107 +#define STG_E_EXTANTMARSHALLINGS 0x80030108 #define CONVERT10_E_OLESTREAM_GET 0x800401C0 #define CONVERT10_E_OLESTREAM_PUT 0x800401C1 @@ -1618,18 +1618,18 @@ extern int WIN32_LastError; #define CONVERT10_E_STG_DIB_TO_BITMAP 0x800401C6 /* alten versionen -#define E_NOTIMPL 0x80000001 -#define E_OUTOFMEMORY 0x80000002 -#define E_INVALIDARG 0x80000003 -#define E_NOINTERFACE 0x80000004 -#define E_POINTER 0x80000005 -#define E_HANDLE 0x80000006 -#define E_ABORT 0x80000007 -#define E_FAIL 0x80000008 -#define E_ACCESSDENIED 0x80000009 */ +#define E_NOTIMPL 0x80000001 +#define E_OUTOFMEMORY 0x80000002 +#define E_INVALIDARG 0x80000003 +#define E_NOINTERFACE 0x80000004 +#define E_POINTER 0x80000005 +#define E_HANDLE 0x80000006 +#define E_ABORT 0x80000007 +#define E_FAIL 0x80000008 +#define E_ACCESSDENIED 0x80000009 */ /* Obtained from lcc-win32 include files */ -#define GDI_ERROR 0xffffffff +#define GDI_ERROR 0xffffffff /* registry errors */ @@ -1648,7 +1648,7 @@ extern int WIN32_LastError; #define CLASS_E_NOTLICENSED (CLASSFACTORY_E_FIRST+2) #define CLASS_E_NOAGGREGATION 0x80040110 -#define CLASS_E_CLASSNOTAVAILABLE 0x80040111 +#define CLASS_E_CLASSNOTAVAILABLE 0x80040111 #define OLEOBJ_E_NOVERBS 0x00040180L diff --git a/libs/loader/wine/winnt.h b/libs/loader/wine/winnt.h index e247d7932b..401c39889c 100644 --- a/libs/loader/wine/winnt.h +++ b/libs/loader/wine/winnt.h @@ -17,20 +17,20 @@ /* Defines */ /* Argument 1 passed to the DllEntryProc. */ -#define DLL_PROCESS_DETACH 0 /* detach process (unload library) */ -#define DLL_PROCESS_ATTACH 1 /* attach process (load library) */ -#define DLL_THREAD_ATTACH 2 /* attach new thread */ -#define DLL_THREAD_DETACH 3 /* detach thread */ +#define DLL_PROCESS_DETACH 0 /* detach process (unload library) */ +#define DLL_PROCESS_ATTACH 1 /* attach process (load library) */ +#define DLL_THREAD_ATTACH 2 /* attach new thread */ +#define DLL_THREAD_DETACH 3 /* detach thread */ /* u.x.wProcessorArchitecture (NT) */ -#define PROCESSOR_ARCHITECTURE_INTEL 0 -#define PROCESSOR_ARCHITECTURE_MIPS 1 -#define PROCESSOR_ARCHITECTURE_ALPHA 2 -#define PROCESSOR_ARCHITECTURE_PPC 3 -#define PROCESSOR_ARCHITECTURE_SHX 4 -#define PROCESSOR_ARCHITECTURE_ARM 5 -#define PROCESSOR_ARCHITECTURE_UNKNOWN 0xFFFF +#define PROCESSOR_ARCHITECTURE_INTEL 0 +#define PROCESSOR_ARCHITECTURE_MIPS 1 +#define PROCESSOR_ARCHITECTURE_ALPHA 2 +#define PROCESSOR_ARCHITECTURE_PPC 3 +#define PROCESSOR_ARCHITECTURE_SHX 4 +#define PROCESSOR_ARCHITECTURE_ARM 5 +#define PROCESSOR_ARCHITECTURE_UNKNOWN 0xFFFF /* dwProcessorType */ #define PROCESSOR_INTEL_386 386 @@ -126,16 +126,16 @@ typedef struct _SINGLE_LIST_ENTRY { #define HEAP_WINE_SHARED 0x08000000 /* Not a Win32 flag */ /* Processor feature flags. */ -#define PF_FLOATING_POINT_PRECISION_ERRATA 0 -#define PF_FLOATING_POINT_EMULATED 1 -#define PF_COMPARE_EXCHANGE_DOUBLE 2 -#define PF_MMX_INSTRUCTIONS_AVAILABLE 3 -#define PF_PPC_MOVEMEM_64BIT_OK 4 -#define PF_ALPHA_BYTE_INSTRUCTIONS 5 +#define PF_FLOATING_POINT_PRECISION_ERRATA 0 +#define PF_FLOATING_POINT_EMULATED 1 +#define PF_COMPARE_EXCHANGE_DOUBLE 2 +#define PF_MMX_INSTRUCTIONS_AVAILABLE 3 +#define PF_PPC_MOVEMEM_64BIT_OK 4 +#define PF_ALPHA_BYTE_INSTRUCTIONS 5 /* based on wine-20010510 -- alex */ -#define PF_XMMI_INSTRUCTIONS_AVAILABLE 6 -#define PF_AMD3D_INSTRUCTIONS_AVAILABLE 7 -#define PF_RDTSC_INSTRUCTION_AVAILABLE 8 +#define PF_XMMI_INSTRUCTIONS_AVAILABLE 6 +#define PF_AMD3D_INSTRUCTIONS_AVAILABLE 7 +#define PF_RDTSC_INSTRUCTION_AVAILABLE 8 /* The Win32 register context */ @@ -154,11 +154,11 @@ typedef struct _FLOATING_SAVE_AREA { DWORD ControlWord; DWORD StatusWord; - DWORD TagWord; + DWORD TagWord; DWORD ErrorOffset; DWORD ErrorSelector; DWORD DataOffset; - DWORD DataSelector; + DWORD DataSelector; BYTE RegisterArea[SIZE_OF_80387_REGISTERS]; DWORD Cr0NpxState; } FLOATING_SAVE_AREA, *PFLOATING_SAVE_AREA; @@ -182,18 +182,18 @@ typedef struct _CONTEXT86 DWORD SegGs; DWORD SegFs; DWORD SegEs; - DWORD SegDs; + DWORD SegDs; /* These are selected by CONTEXT_INTEGER */ DWORD Edi; DWORD Esi; DWORD Ebx; - DWORD Edx; + DWORD Edx; DWORD Ecx; DWORD Eax; /* These are selected by CONTEXT_CONTROL */ - DWORD Ebp; + DWORD Ebp; DWORD Eip; DWORD SegCs; DWORD EFlags; @@ -231,9 +231,9 @@ typedef CONTEXT86 CONTEXT; #define CONTEXT_ALPHA 0x00020000 -#define CONTEXT_CONTROL (CONTEXT_ALPHA | 0x00000001L) -#define CONTEXT_FLOATING_POINT (CONTEXT_ALPHA | 0x00000002L) -#define CONTEXT_INTEGER (CONTEXT_ALPHA | 0x00000004L) +#define CONTEXT_CONTROL (CONTEXT_ALPHA | 0x00000001L) +#define CONTEXT_FLOATING_POINT (CONTEXT_ALPHA | 0x00000002L) +#define CONTEXT_INTEGER (CONTEXT_ALPHA | 0x00000004L) #define CONTEXT_FULL (CONTEXT_CONTROL | CONTEXT_FLOATING_POINT | CONTEXT_INTEGER) typedef struct _CONTEXT @@ -545,10 +545,10 @@ typedef struct _STACK_FRAME_HEADER #ifdef __sparc__ -/* - * FIXME: +/* + * FIXME: * - * There is no official CONTEXT structure defined for the SPARC + * There is no official CONTEXT structure defined for the SPARC * architecture, so I just made one up. * * This structure is valid only for 32-bit SPARC architectures, @@ -558,8 +558,8 @@ typedef struct _STACK_FRAME_HEADER * the rest of the register window chain is not visible. * * The layout follows the Solaris 'prgregset_t' structure. - * - */ + * + */ #define CONTEXT_SPARC 0x10000000 @@ -667,7 +667,7 @@ typedef HANDLE *PHANDLE; #define CH_reg(context) (*((BYTE*)&ECX_reg(context)+1)) #define DL_reg(context) (*(BYTE*)&EDX_reg(context)) #define DH_reg(context) (*((BYTE*)&EDX_reg(context)+1)) - + #define SET_CFLAG(context) (EFL_reg(context) |= 0x0001) #define RESET_CFLAG(context) (EFL_reg(context) &= ~0x0001) #define SET_ZFLAG(context) (EFL_reg(context) |= 0x0040) @@ -778,11 +778,11 @@ typedef HANDLE *PHANDLE; #define STATUS_TIMEOUT 0x00000102 #define STATUS_PENDING 0x00000103 -#define STATUS_GUARD_PAGE_VIOLATION 0x80000001 +#define STATUS_GUARD_PAGE_VIOLATION 0x80000001 #define STATUS_DATATYPE_MISALIGNMENT 0x80000002 #define STATUS_BREAKPOINT 0x80000003 #define STATUS_SINGLE_STEP 0x80000004 -#define STATUS_BUFFER_OVERFLOW 0x80000005 +#define STATUS_BUFFER_OVERFLOW 0x80000005 #define STATUS_NO_MORE_FILES 0x80000006 #define STATUS_WAKE_SYSTEM_DEBUGGER 0x80000007 @@ -849,7 +849,7 @@ typedef HANDLE *PHANDLE; #define STATUS_INVALID_FILE_FOR_SECTION 0xC0000020 #define STATUS_ALREADY_COMMITTED 0xC0000021 #define STATUS_ACCESS_DENIED 0xC0000022 -#define STATUS_BUFFER_TOO_SMALL 0xC0000023 +#define STATUS_BUFFER_TOO_SMALL 0xC0000023 #define STATUS_OBJECT_TYPE_MISMATCH 0xC0000024 #define STATUS_NONCONTINUABLE_EXCEPTION 0xC0000025 #define STATUS_INVALID_DISPOSITION 0xC0000026 @@ -889,9 +889,9 @@ typedef HANDLE *PHANDLE; #define STATUS_SUSPEND_COUNT_EXCEEDED 0xC000004A #define STATUS_LOCK_NOT_GRANTED 0xC0000054 /* FIXME: not sure */ #define STATUS_FILE_LOCK_CONFLICT 0xC0000055 /* FIXME: not sure */ -#define STATUS_UNKNOWN_REVISION 0xC0000058 -#define STATUS_INVALID_SECURITY_DESCR 0xC0000079 -#define STATUS_DISK_FULL 0xC000007F +#define STATUS_UNKNOWN_REVISION 0xC0000058 +#define STATUS_INVALID_SECURITY_DESCR 0xC0000079 +#define STATUS_DISK_FULL 0xC000007F #define STATUS_SECTION_NOT_EXTENDED 0xC0000087 #define STATUS_ARRAY_BOUNDS_EXCEEDED 0xC000008C #define STATUS_FLOAT_DENORMAL_OPERAND 0xC000008D @@ -905,7 +905,7 @@ typedef HANDLE *PHANDLE; #define STATUS_INTEGER_OVERFLOW 0xC0000095 #define STATUS_PRIVILEGED_INSTRUCTION 0xC0000096 #define STATUS_MEDIA_WRITE_PROTECTED 0XC00000A2 -#define STATUS_INVALID_PARAMETER_2 0xC00000F0 +#define STATUS_INVALID_PARAMETER_2 0xC00000F0 #define STATUS_STACK_OVERFLOW 0xC00000FD #define STATUS_DIRECTORY_NOT_EMPTY 0xC0000101 #define STATUS_TOO_MANY_OPENED_FILES 0xC000011F @@ -993,7 +993,7 @@ typedef HANDLE *PHANDLE; #define EXCEPTION_NONCONTINUABLE EH_NONCONTINUABLE /* - * The exception record used by Win32 to give additional information + * The exception record used by Win32 to give additional information * about exception to exception handlers. */ @@ -1015,7 +1015,7 @@ typedef struct __EXCEPTION_RECORD * in except() and the UnhandledExceptionFilter(). */ -typedef struct _EXCEPTION_POINTERS +typedef struct _EXCEPTION_POINTERS { PEXCEPTION_RECORD ExceptionRecord; PCONTEXT ContextRecord; @@ -1023,8 +1023,8 @@ typedef struct _EXCEPTION_POINTERS /* - * The exception frame, used for registering exception handlers - * Win32 cares only about this, but compilers generally emit + * The exception frame, used for registering exception handlers + * Win32 cares only about this, but compilers generally emit * larger exception frames for their own use. */ @@ -1060,18 +1060,18 @@ WINAPI SetUnhandledExceptionFilter( LPTOP_LEVEL_EXCEPTION_FILTER filter ); #define DBG_CONTROL_BREAK 0x40010008 #define DBG_EXCEPTION_NOT_HANDLED 0x80010001 -typedef struct _NT_TIB +typedef struct _NT_TIB { - struct _EXCEPTION_REGISTRATION_RECORD *ExceptionList; - PVOID StackBase; - PVOID StackLimit; - PVOID SubSystemTib; - union { + struct _EXCEPTION_REGISTRATION_RECORD *ExceptionList; + PVOID StackBase; + PVOID StackLimit; + PVOID SubSystemTib; + union { PVOID FiberData; DWORD Version; - } DUMMYUNIONNAME; - PVOID ArbitraryUserPointer; - struct _NT_TIB *Self; + } DUMMYUNIONNAME; + PVOID ArbitraryUserPointer; + struct _NT_TIB *Self; } NT_TIB, *PNT_TIB; struct _TEB; @@ -1126,7 +1126,7 @@ typedef struct _IMAGE_DOS_HEADER { * This is the Windows executable (NE) header. * the name IMAGE_OS2_HEADER is misleading, but in the SDK this way. */ -typedef struct +typedef struct { WORD ne_magic; /* 00 NE signature 'NE' */ BYTE ne_ver; /* 02 Linker version number */ @@ -1218,73 +1218,73 @@ typedef struct _IMAGE_VXD_HEADER { /* These defines describe the meanings of the bits in the Characteristics field */ -#define IMAGE_FILE_RELOCS_STRIPPED 0x0001 /* No relocation info */ -#define IMAGE_FILE_EXECUTABLE_IMAGE 0x0002 +#define IMAGE_FILE_RELOCS_STRIPPED 0x0001 /* No relocation info */ +#define IMAGE_FILE_EXECUTABLE_IMAGE 0x0002 #define IMAGE_FILE_LINE_NUMS_STRIPPED 0x0004 #define IMAGE_FILE_LOCAL_SYMS_STRIPPED 0x0008 -#define IMAGE_FILE_16BIT_MACHINE 0x0040 -#define IMAGE_FILE_BYTES_REVERSED_LO 0x0080 -#define IMAGE_FILE_32BIT_MACHINE 0x0100 -#define IMAGE_FILE_DEBUG_STRIPPED 0x0200 -#define IMAGE_FILE_SYSTEM 0x1000 -#define IMAGE_FILE_DLL 0x2000 -#define IMAGE_FILE_BYTES_REVERSED_HI 0x8000 +#define IMAGE_FILE_16BIT_MACHINE 0x0040 +#define IMAGE_FILE_BYTES_REVERSED_LO 0x0080 +#define IMAGE_FILE_32BIT_MACHINE 0x0100 +#define IMAGE_FILE_DEBUG_STRIPPED 0x0200 +#define IMAGE_FILE_SYSTEM 0x1000 +#define IMAGE_FILE_DLL 0x2000 +#define IMAGE_FILE_BYTES_REVERSED_HI 0x8000 /* These are the settings of the Machine field. */ -#define IMAGE_FILE_MACHINE_UNKNOWN 0 -#define IMAGE_FILE_MACHINE_I860 0x14d -#define IMAGE_FILE_MACHINE_I386 0x14c -#define IMAGE_FILE_MACHINE_R3000 0x162 -#define IMAGE_FILE_MACHINE_R4000 0x166 -#define IMAGE_FILE_MACHINE_R10000 0x168 -#define IMAGE_FILE_MACHINE_ALPHA 0x184 -#define IMAGE_FILE_MACHINE_POWERPC 0x1F0 +#define IMAGE_FILE_MACHINE_UNKNOWN 0 +#define IMAGE_FILE_MACHINE_I860 0x14d +#define IMAGE_FILE_MACHINE_I386 0x14c +#define IMAGE_FILE_MACHINE_R3000 0x162 +#define IMAGE_FILE_MACHINE_R4000 0x166 +#define IMAGE_FILE_MACHINE_R10000 0x168 +#define IMAGE_FILE_MACHINE_ALPHA 0x184 +#define IMAGE_FILE_MACHINE_POWERPC 0x1F0 -#define IMAGE_SIZEOF_FILE_HEADER 20 +#define IMAGE_SIZEOF_FILE_HEADER 20 /* Possible Magic values */ #define IMAGE_NT_OPTIONAL_HDR_MAGIC 0x10b #define IMAGE_ROM_OPTIONAL_HDR_MAGIC 0x107 /* These are indexes into the DataDirectory array */ -#define IMAGE_FILE_EXPORT_DIRECTORY 0 -#define IMAGE_FILE_IMPORT_DIRECTORY 1 -#define IMAGE_FILE_RESOURCE_DIRECTORY 2 -#define IMAGE_FILE_EXCEPTION_DIRECTORY 3 -#define IMAGE_FILE_SECURITY_DIRECTORY 4 -#define IMAGE_FILE_BASE_RELOCATION_TABLE 5 -#define IMAGE_FILE_DEBUG_DIRECTORY 6 -#define IMAGE_FILE_DESCRIPTION_STRING 7 -#define IMAGE_FILE_MACHINE_VALUE 8 /* Mips */ -#define IMAGE_FILE_THREAD_LOCAL_STORAGE 9 -#define IMAGE_FILE_CALLBACK_DIRECTORY 10 +#define IMAGE_FILE_EXPORT_DIRECTORY 0 +#define IMAGE_FILE_IMPORT_DIRECTORY 1 +#define IMAGE_FILE_RESOURCE_DIRECTORY 2 +#define IMAGE_FILE_EXCEPTION_DIRECTORY 3 +#define IMAGE_FILE_SECURITY_DIRECTORY 4 +#define IMAGE_FILE_BASE_RELOCATION_TABLE 5 +#define IMAGE_FILE_DEBUG_DIRECTORY 6 +#define IMAGE_FILE_DESCRIPTION_STRING 7 +#define IMAGE_FILE_MACHINE_VALUE 8 /* Mips */ +#define IMAGE_FILE_THREAD_LOCAL_STORAGE 9 +#define IMAGE_FILE_CALLBACK_DIRECTORY 10 /* Directory Entries, indices into the DataDirectory array */ -#define IMAGE_DIRECTORY_ENTRY_EXPORT 0 -#define IMAGE_DIRECTORY_ENTRY_IMPORT 1 -#define IMAGE_DIRECTORY_ENTRY_RESOURCE 2 -#define IMAGE_DIRECTORY_ENTRY_EXCEPTION 3 -#define IMAGE_DIRECTORY_ENTRY_SECURITY 4 -#define IMAGE_DIRECTORY_ENTRY_BASERELOC 5 -#define IMAGE_DIRECTORY_ENTRY_DEBUG 6 -#define IMAGE_DIRECTORY_ENTRY_COPYRIGHT 7 -#define IMAGE_DIRECTORY_ENTRY_GLOBALPTR 8 /* (MIPS GP) */ -#define IMAGE_DIRECTORY_ENTRY_TLS 9 -#define IMAGE_DIRECTORY_ENTRY_LOAD_CONFIG 10 -#define IMAGE_DIRECTORY_ENTRY_BOUND_IMPORT 11 -#define IMAGE_DIRECTORY_ENTRY_IAT 12 /* Import Address Table */ -#define IMAGE_DIRECTORY_ENTRY_DELAY_IMPORT 13 -#define IMAGE_DIRECTORY_ENTRY_COM_DESCRIPTOR 14 +#define IMAGE_DIRECTORY_ENTRY_EXPORT 0 +#define IMAGE_DIRECTORY_ENTRY_IMPORT 1 +#define IMAGE_DIRECTORY_ENTRY_RESOURCE 2 +#define IMAGE_DIRECTORY_ENTRY_EXCEPTION 3 +#define IMAGE_DIRECTORY_ENTRY_SECURITY 4 +#define IMAGE_DIRECTORY_ENTRY_BASERELOC 5 +#define IMAGE_DIRECTORY_ENTRY_DEBUG 6 +#define IMAGE_DIRECTORY_ENTRY_COPYRIGHT 7 +#define IMAGE_DIRECTORY_ENTRY_GLOBALPTR 8 /* (MIPS GP) */ +#define IMAGE_DIRECTORY_ENTRY_TLS 9 +#define IMAGE_DIRECTORY_ENTRY_LOAD_CONFIG 10 +#define IMAGE_DIRECTORY_ENTRY_BOUND_IMPORT 11 +#define IMAGE_DIRECTORY_ENTRY_IAT 12 /* Import Address Table */ +#define IMAGE_DIRECTORY_ENTRY_DELAY_IMPORT 13 +#define IMAGE_DIRECTORY_ENTRY_COM_DESCRIPTOR 14 /* Subsystem Values */ -#define IMAGE_SUBSYSTEM_UNKNOWN 0 -#define IMAGE_SUBSYSTEM_NATIVE 1 -#define IMAGE_SUBSYSTEM_WINDOWS_GUI 2 /* Windows GUI subsystem */ -#define IMAGE_SUBSYSTEM_WINDOWS_CUI 3 /* Windows character subsystem*/ -#define IMAGE_SUBSYSTEM_OS2_CUI 5 -#define IMAGE_SUBSYSTEM_POSIX_CUI 7 +#define IMAGE_SUBSYSTEM_UNKNOWN 0 +#define IMAGE_SUBSYSTEM_NATIVE 1 +#define IMAGE_SUBSYSTEM_WINDOWS_GUI 2 /* Windows GUI subsystem */ +#define IMAGE_SUBSYSTEM_WINDOWS_CUI 3 /* Windows character subsystem*/ +#define IMAGE_SUBSYSTEM_OS2_CUI 5 +#define IMAGE_SUBSYSTEM_POSIX_CUI 7 typedef struct _IMAGE_FILE_HEADER { WORD Machine; @@ -1367,59 +1367,59 @@ typedef struct _IMAGE_SECTION_HEADER { DWORD Characteristics; } IMAGE_SECTION_HEADER, *PIMAGE_SECTION_HEADER; -#define IMAGE_SIZEOF_SECTION_HEADER 40 +#define IMAGE_SIZEOF_SECTION_HEADER 40 #define IMAGE_FIRST_SECTION(ntheader) \ ((PIMAGE_SECTION_HEADER)((LPBYTE)&((PIMAGE_NT_HEADERS)(ntheader))->OptionalHeader + \ ((PIMAGE_NT_HEADERS)(ntheader))->FileHeader.SizeOfOptionalHeader)) /* These defines are for the Characteristics bitfield. */ -/* #define IMAGE_SCN_TYPE_REG 0x00000000 - Reserved */ -/* #define IMAGE_SCN_TYPE_DSECT 0x00000001 - Reserved */ -/* #define IMAGE_SCN_TYPE_NOLOAD 0x00000002 - Reserved */ -/* #define IMAGE_SCN_TYPE_GROUP 0x00000004 - Reserved */ -/* #define IMAGE_SCN_TYPE_NO_PAD 0x00000008 - Reserved */ -/* #define IMAGE_SCN_TYPE_COPY 0x00000010 - Reserved */ - -#define IMAGE_SCN_CNT_CODE 0x00000020 -#define IMAGE_SCN_CNT_INITIALIZED_DATA 0x00000040 -#define IMAGE_SCN_CNT_UNINITIALIZED_DATA 0x00000080 - -#define IMAGE_SCN_LNK_OTHER 0x00000100 -#define IMAGE_SCN_LNK_INFO 0x00000200 -/* #define IMAGE_SCN_TYPE_OVER 0x00000400 - Reserved */ -#define IMAGE_SCN_LNK_REMOVE 0x00000800 -#define IMAGE_SCN_LNK_COMDAT 0x00001000 - -/* 0x00002000 - Reserved */ -/* #define IMAGE_SCN_MEM_PROTECTED 0x00004000 - Obsolete */ -#define IMAGE_SCN_MEM_FARDATA 0x00008000 - -/* #define IMAGE_SCN_MEM_SYSHEAP 0x00010000 - Obsolete */ -#define IMAGE_SCN_MEM_PURGEABLE 0x00020000 -#define IMAGE_SCN_MEM_16BIT 0x00020000 -#define IMAGE_SCN_MEM_LOCKED 0x00040000 -#define IMAGE_SCN_MEM_PRELOAD 0x00080000 - -#define IMAGE_SCN_ALIGN_1BYTES 0x00100000 -#define IMAGE_SCN_ALIGN_2BYTES 0x00200000 -#define IMAGE_SCN_ALIGN_4BYTES 0x00300000 -#define IMAGE_SCN_ALIGN_8BYTES 0x00400000 -#define IMAGE_SCN_ALIGN_16BYTES 0x00500000 /* Default */ -#define IMAGE_SCN_ALIGN_32BYTES 0x00600000 -#define IMAGE_SCN_ALIGN_64BYTES 0x00700000 -/* 0x00800000 - Unused */ - -#define IMAGE_SCN_LNK_NRELOC_OVFL 0x01000000 - - -#define IMAGE_SCN_MEM_DISCARDABLE 0x02000000 -#define IMAGE_SCN_MEM_NOT_CACHED 0x04000000 -#define IMAGE_SCN_MEM_NOT_PAGED 0x08000000 -#define IMAGE_SCN_MEM_SHARED 0x10000000 -#define IMAGE_SCN_MEM_EXECUTE 0x20000000 -#define IMAGE_SCN_MEM_READ 0x40000000 -#define IMAGE_SCN_MEM_WRITE 0x80000000 +/* #define IMAGE_SCN_TYPE_REG 0x00000000 - Reserved */ +/* #define IMAGE_SCN_TYPE_DSECT 0x00000001 - Reserved */ +/* #define IMAGE_SCN_TYPE_NOLOAD 0x00000002 - Reserved */ +/* #define IMAGE_SCN_TYPE_GROUP 0x00000004 - Reserved */ +/* #define IMAGE_SCN_TYPE_NO_PAD 0x00000008 - Reserved */ +/* #define IMAGE_SCN_TYPE_COPY 0x00000010 - Reserved */ + +#define IMAGE_SCN_CNT_CODE 0x00000020 +#define IMAGE_SCN_CNT_INITIALIZED_DATA 0x00000040 +#define IMAGE_SCN_CNT_UNINITIALIZED_DATA 0x00000080 + +#define IMAGE_SCN_LNK_OTHER 0x00000100 +#define IMAGE_SCN_LNK_INFO 0x00000200 +/* #define IMAGE_SCN_TYPE_OVER 0x00000400 - Reserved */ +#define IMAGE_SCN_LNK_REMOVE 0x00000800 +#define IMAGE_SCN_LNK_COMDAT 0x00001000 + +/* 0x00002000 - Reserved */ +/* #define IMAGE_SCN_MEM_PROTECTED 0x00004000 - Obsolete */ +#define IMAGE_SCN_MEM_FARDATA 0x00008000 + +/* #define IMAGE_SCN_MEM_SYSHEAP 0x00010000 - Obsolete */ +#define IMAGE_SCN_MEM_PURGEABLE 0x00020000 +#define IMAGE_SCN_MEM_16BIT 0x00020000 +#define IMAGE_SCN_MEM_LOCKED 0x00040000 +#define IMAGE_SCN_MEM_PRELOAD 0x00080000 + +#define IMAGE_SCN_ALIGN_1BYTES 0x00100000 +#define IMAGE_SCN_ALIGN_2BYTES 0x00200000 +#define IMAGE_SCN_ALIGN_4BYTES 0x00300000 +#define IMAGE_SCN_ALIGN_8BYTES 0x00400000 +#define IMAGE_SCN_ALIGN_16BYTES 0x00500000 /* Default */ +#define IMAGE_SCN_ALIGN_32BYTES 0x00600000 +#define IMAGE_SCN_ALIGN_64BYTES 0x00700000 +/* 0x00800000 - Unused */ + +#define IMAGE_SCN_LNK_NRELOC_OVFL 0x01000000 + + +#define IMAGE_SCN_MEM_DISCARDABLE 0x02000000 +#define IMAGE_SCN_MEM_NOT_CACHED 0x04000000 +#define IMAGE_SCN_MEM_NOT_PAGED 0x08000000 +#define IMAGE_SCN_MEM_SHARED 0x10000000 +#define IMAGE_SCN_MEM_EXECUTE 0x20000000 +#define IMAGE_SCN_MEM_READ 0x40000000 +#define IMAGE_SCN_MEM_WRITE 0x80000000 #include "pshpack2.h" @@ -1595,58 +1595,58 @@ typedef IMAGE_AUX_SYMBOL *PIMAGE_AUX_SYMBOL; /* Export module directory */ typedef struct _IMAGE_EXPORT_DIRECTORY { - DWORD Characteristics; - DWORD TimeDateStamp; - WORD MajorVersion; - WORD MinorVersion; - DWORD Name; - DWORD Base; - DWORD NumberOfFunctions; - DWORD NumberOfNames; - LPDWORD *AddressOfFunctions; - LPDWORD *AddressOfNames; - LPWORD *AddressOfNameOrdinals; + DWORD Characteristics; + DWORD TimeDateStamp; + WORD MajorVersion; + WORD MinorVersion; + DWORD Name; + DWORD Base; + DWORD NumberOfFunctions; + DWORD NumberOfNames; + LPDWORD *AddressOfFunctions; + LPDWORD *AddressOfNames; + LPWORD *AddressOfNameOrdinals; } IMAGE_EXPORT_DIRECTORY,*PIMAGE_EXPORT_DIRECTORY; /* Import name entry */ typedef struct _IMAGE_IMPORT_BY_NAME { - WORD Hint; - BYTE Name[1]; + WORD Hint; + BYTE Name[1]; } IMAGE_IMPORT_BY_NAME,*PIMAGE_IMPORT_BY_NAME; /* Import thunk */ typedef struct _IMAGE_THUNK_DATA { - union { - LPBYTE ForwarderString; - FARPROC Function; - DWORD Ordinal; - PIMAGE_IMPORT_BY_NAME AddressOfData; - } u1; + union { + LPBYTE ForwarderString; + FARPROC Function; + DWORD Ordinal; + PIMAGE_IMPORT_BY_NAME AddressOfData; + } u1; } IMAGE_THUNK_DATA,*PIMAGE_THUNK_DATA; /* Import module directory */ typedef struct _IMAGE_IMPORT_DESCRIPTOR { - union { - DWORD Characteristics; /* 0 for terminating null import descriptor */ - PIMAGE_THUNK_DATA OriginalFirstThunk; /* RVA to original unbound IAT */ - } u; - DWORD TimeDateStamp; /* 0 if not bound, - * -1 if bound, and real date\time stamp - * in IMAGE_DIRECTORY_ENTRY_BOUND_IMPORT - * (new BIND) - * otherwise date/time stamp of DLL bound to - * (Old BIND) - */ - DWORD ForwarderChain; /* -1 if no forwarders */ - DWORD Name; - /* RVA to IAT (if bound this IAT has actual addresses) */ - PIMAGE_THUNK_DATA FirstThunk; + union { + DWORD Characteristics; /* 0 for terminating null import descriptor */ + PIMAGE_THUNK_DATA OriginalFirstThunk; /* RVA to original unbound IAT */ + } u; + DWORD TimeDateStamp; /* 0 if not bound, + * -1 if bound, and real date\time stamp + * in IMAGE_DIRECTORY_ENTRY_BOUND_IMPORT + * (new BIND) + * otherwise date/time stamp of DLL bound to + * (Old BIND) + */ + DWORD ForwarderChain; /* -1 if no forwarders */ + DWORD Name; + /* RVA to IAT (if bound this IAT has actual addresses) */ + PIMAGE_THUNK_DATA FirstThunk; } IMAGE_IMPORT_DESCRIPTOR,*PIMAGE_IMPORT_DESCRIPTOR; -#define IMAGE_ORDINAL_FLAG 0x80000000 -#define IMAGE_SNAP_BY_ORDINAL(Ordinal) ((Ordinal & IMAGE_ORDINAL_FLAG) != 0) -#define IMAGE_ORDINAL(Ordinal) (Ordinal & 0xffff) +#define IMAGE_ORDINAL_FLAG 0x80000000 +#define IMAGE_SNAP_BY_ORDINAL(Ordinal) ((Ordinal & IMAGE_ORDINAL_FLAG) != 0) +#define IMAGE_ORDINAL(Ordinal) (Ordinal & 0xffff) typedef struct _IMAGE_BOUND_IMPORT_DESCRIPTOR { @@ -1665,9 +1665,9 @@ typedef struct _IMAGE_BOUND_FORWARDER_REF typedef struct _IMAGE_BASE_RELOCATION { - DWORD VirtualAddress; - DWORD SizeOfBlock; - WORD TypeOffset[1]; + DWORD VirtualAddress; + DWORD SizeOfBlock; + WORD TypeOffset[1]; } IMAGE_BASE_RELOCATION,*PIMAGE_BASE_RELOCATION; typedef struct _IMAGE_RELOCATION @@ -1684,72 +1684,72 @@ typedef IMAGE_RELOCATION *PIMAGE_RELOCATION; #define IMAGE_SIZEOF_RELOCATION 10 /* generic relocation types */ -#define IMAGE_REL_BASED_ABSOLUTE 0 -#define IMAGE_REL_BASED_HIGH 1 -#define IMAGE_REL_BASED_LOW 2 -#define IMAGE_REL_BASED_HIGHLOW 3 -#define IMAGE_REL_BASED_HIGHADJ 4 -#define IMAGE_REL_BASED_MIPS_JMPADDR 5 -#define IMAGE_REL_BASED_SECTION 6 -#define IMAGE_REL_BASED_REL 7 -#define IMAGE_REL_BASED_MIPS_JMPADDR16 9 -#define IMAGE_REL_BASED_IA64_IMM64 9 /* yes, 9 too */ -#define IMAGE_REL_BASED_DIR64 10 -#define IMAGE_REL_BASED_HIGH3ADJ 11 +#define IMAGE_REL_BASED_ABSOLUTE 0 +#define IMAGE_REL_BASED_HIGH 1 +#define IMAGE_REL_BASED_LOW 2 +#define IMAGE_REL_BASED_HIGHLOW 3 +#define IMAGE_REL_BASED_HIGHADJ 4 +#define IMAGE_REL_BASED_MIPS_JMPADDR 5 +#define IMAGE_REL_BASED_SECTION 6 +#define IMAGE_REL_BASED_REL 7 +#define IMAGE_REL_BASED_MIPS_JMPADDR16 9 +#define IMAGE_REL_BASED_IA64_IMM64 9 /* yes, 9 too */ +#define IMAGE_REL_BASED_DIR64 10 +#define IMAGE_REL_BASED_HIGH3ADJ 11 /* I386 relocation types */ -#define IMAGE_REL_I386_ABSOLUTE 0 -#define IMAGE_REL_I386_DIR16 1 -#define IMAGE_REL_I386_REL16 2 -#define IMAGE_REL_I386_DIR32 6 -#define IMAGE_REL_I386_DIR32NB 7 -#define IMAGE_REL_I386_SEG12 9 -#define IMAGE_REL_I386_SECTION 10 -#define IMAGE_REL_I386_SECREL 11 -#define IMAGE_REL_I386_REL32 20 +#define IMAGE_REL_I386_ABSOLUTE 0 +#define IMAGE_REL_I386_DIR16 1 +#define IMAGE_REL_I386_REL16 2 +#define IMAGE_REL_I386_DIR32 6 +#define IMAGE_REL_I386_DIR32NB 7 +#define IMAGE_REL_I386_SEG12 9 +#define IMAGE_REL_I386_SECTION 10 +#define IMAGE_REL_I386_SECREL 11 +#define IMAGE_REL_I386_REL32 20 /* MIPS relocation types */ -#define IMAGE_REL_MIPS_ABSOLUTE 0x0000 -#define IMAGE_REL_MIPS_REFHALF 0x0001 -#define IMAGE_REL_MIPS_REFWORD 0x0002 -#define IMAGE_REL_MIPS_JMPADDR 0x0003 -#define IMAGE_REL_MIPS_REFHI 0x0004 -#define IMAGE_REL_MIPS_REFLO 0x0005 -#define IMAGE_REL_MIPS_GPREL 0x0006 -#define IMAGE_REL_MIPS_LITERAL 0x0007 -#define IMAGE_REL_MIPS_SECTION 0x000A -#define IMAGE_REL_MIPS_SECREL 0x000B -#define IMAGE_REL_MIPS_SECRELLO 0x000C -#define IMAGE_REL_MIPS_SECRELHI 0x000D -#define IMAGE_REL_MIPS_JMPADDR16 0x0010 -#define IMAGE_REL_MIPS_REFWORDNB 0x0022 -#define IMAGE_REL_MIPS_PAIR 0x0025 +#define IMAGE_REL_MIPS_ABSOLUTE 0x0000 +#define IMAGE_REL_MIPS_REFHALF 0x0001 +#define IMAGE_REL_MIPS_REFWORD 0x0002 +#define IMAGE_REL_MIPS_JMPADDR 0x0003 +#define IMAGE_REL_MIPS_REFHI 0x0004 +#define IMAGE_REL_MIPS_REFLO 0x0005 +#define IMAGE_REL_MIPS_GPREL 0x0006 +#define IMAGE_REL_MIPS_LITERAL 0x0007 +#define IMAGE_REL_MIPS_SECTION 0x000A +#define IMAGE_REL_MIPS_SECREL 0x000B +#define IMAGE_REL_MIPS_SECRELLO 0x000C +#define IMAGE_REL_MIPS_SECRELHI 0x000D +#define IMAGE_REL_MIPS_JMPADDR16 0x0010 +#define IMAGE_REL_MIPS_REFWORDNB 0x0022 +#define IMAGE_REL_MIPS_PAIR 0x0025 /* ALPHA relocation types */ -#define IMAGE_REL_ALPHA_ABSOLUTE 0x0000 -#define IMAGE_REL_ALPHA_REFLONG 0x0001 -#define IMAGE_REL_ALPHA_REFQUAD 0x0002 -#define IMAGE_REL_ALPHA_GPREL 0x0003 -#define IMAGE_REL_ALPHA_LITERAL 0x0004 -#define IMAGE_REL_ALPHA_LITUSE 0x0005 -#define IMAGE_REL_ALPHA_GPDISP 0x0006 -#define IMAGE_REL_ALPHA_BRADDR 0x0007 -#define IMAGE_REL_ALPHA_HINT 0x0008 -#define IMAGE_REL_ALPHA_INLINE_REFLONG 0x0009 -#define IMAGE_REL_ALPHA_REFHI 0x000A -#define IMAGE_REL_ALPHA_REFLO 0x000B -#define IMAGE_REL_ALPHA_PAIR 0x000C -#define IMAGE_REL_ALPHA_MATCH 0x000D -#define IMAGE_REL_ALPHA_SECTION 0x000E -#define IMAGE_REL_ALPHA_SECREL 0x000F -#define IMAGE_REL_ALPHA_REFLONGNB 0x0010 -#define IMAGE_REL_ALPHA_SECRELLO 0x0011 -#define IMAGE_REL_ALPHA_SECRELHI 0x0012 -#define IMAGE_REL_ALPHA_REFQ3 0x0013 -#define IMAGE_REL_ALPHA_REFQ2 0x0014 -#define IMAGE_REL_ALPHA_REFQ1 0x0015 -#define IMAGE_REL_ALPHA_GPRELLO 0x0016 -#define IMAGE_REL_ALPHA_GPRELHI 0x0017 +#define IMAGE_REL_ALPHA_ABSOLUTE 0x0000 +#define IMAGE_REL_ALPHA_REFLONG 0x0001 +#define IMAGE_REL_ALPHA_REFQUAD 0x0002 +#define IMAGE_REL_ALPHA_GPREL 0x0003 +#define IMAGE_REL_ALPHA_LITERAL 0x0004 +#define IMAGE_REL_ALPHA_LITUSE 0x0005 +#define IMAGE_REL_ALPHA_GPDISP 0x0006 +#define IMAGE_REL_ALPHA_BRADDR 0x0007 +#define IMAGE_REL_ALPHA_HINT 0x0008 +#define IMAGE_REL_ALPHA_INLINE_REFLONG 0x0009 +#define IMAGE_REL_ALPHA_REFHI 0x000A +#define IMAGE_REL_ALPHA_REFLO 0x000B +#define IMAGE_REL_ALPHA_PAIR 0x000C +#define IMAGE_REL_ALPHA_MATCH 0x000D +#define IMAGE_REL_ALPHA_SECTION 0x000E +#define IMAGE_REL_ALPHA_SECREL 0x000F +#define IMAGE_REL_ALPHA_REFLONGNB 0x0010 +#define IMAGE_REL_ALPHA_SECRELLO 0x0011 +#define IMAGE_REL_ALPHA_SECRELHI 0x0012 +#define IMAGE_REL_ALPHA_REFQ3 0x0013 +#define IMAGE_REL_ALPHA_REFQ2 0x0014 +#define IMAGE_REL_ALPHA_REFQ1 0x0015 +#define IMAGE_REL_ALPHA_GPRELLO 0x0016 +#define IMAGE_REL_ALPHA_GPRELHI 0x0017 /* PowerPC relocation types */ #define IMAGE_REL_PPC_ABSOLUTE 0x0000 @@ -1773,7 +1773,7 @@ typedef IMAGE_RELOCATION *PIMAGE_RELOCATION; #define IMAGE_REL_PPC_PAIR 0x0012 #define IMAGE_REL_PPC_SECRELLO 0x0013 #define IMAGE_REL_PPC_SECRELHI 0x0014 -#define IMAGE_REL_PPC_GPREL 0x0015 +#define IMAGE_REL_PPC_GPREL 0x0015 #define IMAGE_REL_PPC_TYPEMASK 0x00FF /* modifier bits */ #define IMAGE_REL_PPC_NEG 0x0100 @@ -1801,39 +1801,39 @@ typedef IMAGE_RELOCATION *PIMAGE_RELOCATION; #define IMAGE_REL_SH3_DIRECT32_NB 0x0010 /* ARM (Archimedes?) relocation types */ -#define IMAGE_REL_ARM_ABSOLUTE 0x0000 -#define IMAGE_REL_ARM_ADDR 0x0001 -#define IMAGE_REL_ARM_ADDR32NB 0x0002 -#define IMAGE_REL_ARM_BRANCH24 0x0003 -#define IMAGE_REL_ARM_BRANCH11 0x0004 -#define IMAGE_REL_ARM_SECTION 0x000E -#define IMAGE_REL_ARM_SECREL 0x000F +#define IMAGE_REL_ARM_ABSOLUTE 0x0000 +#define IMAGE_REL_ARM_ADDR 0x0001 +#define IMAGE_REL_ARM_ADDR32NB 0x0002 +#define IMAGE_REL_ARM_BRANCH24 0x0003 +#define IMAGE_REL_ARM_BRANCH11 0x0004 +#define IMAGE_REL_ARM_SECTION 0x000E +#define IMAGE_REL_ARM_SECREL 0x000F /* IA64 relocation types */ -#define IMAGE_REL_IA64_ABSOLUTE 0x0000 -#define IMAGE_REL_IA64_IMM14 0x0001 -#define IMAGE_REL_IA64_IMM22 0x0002 -#define IMAGE_REL_IA64_IMM64 0x0003 -#define IMAGE_REL_IA64_DIR 0x0004 -#define IMAGE_REL_IA64_DIR64 0x0005 -#define IMAGE_REL_IA64_PCREL21B 0x0006 -#define IMAGE_REL_IA64_PCREL21M 0x0007 -#define IMAGE_REL_IA64_PCREL21F 0x0008 -#define IMAGE_REL_IA64_GPREL22 0x0009 -#define IMAGE_REL_IA64_LTOFF22 0x000A -#define IMAGE_REL_IA64_SECTION 0x000B -#define IMAGE_REL_IA64_SECREL22 0x000C -#define IMAGE_REL_IA64_SECREL64I 0x000D -#define IMAGE_REL_IA64_SECREL 0x000E -#define IMAGE_REL_IA64_LTOFF64 0x000F -#define IMAGE_REL_IA64_DIR32NB 0x0010 -#define IMAGE_REL_IA64_RESERVED_11 0x0011 -#define IMAGE_REL_IA64_RESERVED_12 0x0012 -#define IMAGE_REL_IA64_RESERVED_13 0x0013 -#define IMAGE_REL_IA64_RESERVED_14 0x0014 -#define IMAGE_REL_IA64_RESERVED_15 0x0015 -#define IMAGE_REL_IA64_RESERVED_16 0x0016 -#define IMAGE_REL_IA64_ADDEND 0x001F +#define IMAGE_REL_IA64_ABSOLUTE 0x0000 +#define IMAGE_REL_IA64_IMM14 0x0001 +#define IMAGE_REL_IA64_IMM22 0x0002 +#define IMAGE_REL_IA64_IMM64 0x0003 +#define IMAGE_REL_IA64_DIR 0x0004 +#define IMAGE_REL_IA64_DIR64 0x0005 +#define IMAGE_REL_IA64_PCREL21B 0x0006 +#define IMAGE_REL_IA64_PCREL21M 0x0007 +#define IMAGE_REL_IA64_PCREL21F 0x0008 +#define IMAGE_REL_IA64_GPREL22 0x0009 +#define IMAGE_REL_IA64_LTOFF22 0x000A +#define IMAGE_REL_IA64_SECTION 0x000B +#define IMAGE_REL_IA64_SECREL22 0x000C +#define IMAGE_REL_IA64_SECREL64I 0x000D +#define IMAGE_REL_IA64_SECREL 0x000E +#define IMAGE_REL_IA64_LTOFF64 0x000F +#define IMAGE_REL_IA64_DIR32NB 0x0010 +#define IMAGE_REL_IA64_RESERVED_11 0x0011 +#define IMAGE_REL_IA64_RESERVED_12 0x0012 +#define IMAGE_REL_IA64_RESERVED_13 0x0013 +#define IMAGE_REL_IA64_RESERVED_14 0x0014 +#define IMAGE_REL_IA64_RESERVED_15 0x0015 +#define IMAGE_REL_IA64_RESERVED_16 0x0016 +#define IMAGE_REL_IA64_ADDEND 0x001F /* archive format */ @@ -1861,66 +1861,66 @@ typedef struct _IMAGE_ARCHIVE_MEMBER_HEADER * Resource directory stuff */ typedef struct _IMAGE_RESOURCE_DIRECTORY { - DWORD Characteristics; - DWORD TimeDateStamp; - WORD MajorVersion; - WORD MinorVersion; - WORD NumberOfNamedEntries; - WORD NumberOfIdEntries; - /* IMAGE_RESOURCE_DIRECTORY_ENTRY DirectoryEntries[]; */ + DWORD Characteristics; + DWORD TimeDateStamp; + WORD MajorVersion; + WORD MinorVersion; + WORD NumberOfNamedEntries; + WORD NumberOfIdEntries; + /* IMAGE_RESOURCE_DIRECTORY_ENTRY DirectoryEntries[]; */ } IMAGE_RESOURCE_DIRECTORY,*PIMAGE_RESOURCE_DIRECTORY; -#define IMAGE_RESOURCE_NAME_IS_STRING 0x80000000 -#define IMAGE_RESOURCE_DATA_IS_DIRECTORY 0x80000000 +#define IMAGE_RESOURCE_NAME_IS_STRING 0x80000000 +#define IMAGE_RESOURCE_DATA_IS_DIRECTORY 0x80000000 typedef struct _IMAGE_RESOURCE_DIRECTORY_ENTRY { - union { - struct { - unsigned NameOffset:31; - unsigned NameIsString:1; - } s; - DWORD Name; - WORD Id; - } u1; - union { - DWORD OffsetToData; - struct { - unsigned OffsetToDirectory:31; - unsigned DataIsDirectory:1; - } s; - } u2; + union { + struct { + unsigned NameOffset:31; + unsigned NameIsString:1; + } s; + DWORD Name; + WORD Id; + } u1; + union { + DWORD OffsetToData; + struct { + unsigned OffsetToDirectory:31; + unsigned DataIsDirectory:1; + } s; + } u2; } IMAGE_RESOURCE_DIRECTORY_ENTRY,*PIMAGE_RESOURCE_DIRECTORY_ENTRY; typedef struct _IMAGE_RESOURCE_DIRECTORY_STRING { - WORD Length; - CHAR NameString[ 1 ]; + WORD Length; + CHAR NameString[ 1 ]; } IMAGE_RESOURCE_DIRECTORY_STRING,*PIMAGE_RESOURCE_DIRECTORY_STRING; typedef struct _IMAGE_RESOURCE_DIR_STRING_U { - WORD Length; - WCHAR NameString[ 1 ]; + WORD Length; + WCHAR NameString[ 1 ]; } IMAGE_RESOURCE_DIR_STRING_U,*PIMAGE_RESOURCE_DIR_STRING_U; typedef struct _IMAGE_RESOURCE_DATA_ENTRY { - DWORD OffsetToData; - DWORD Size; - DWORD CodePage; - DWORD ResourceHandle; + DWORD OffsetToData; + DWORD Size; + DWORD CodePage; + DWORD ResourceHandle; } IMAGE_RESOURCE_DATA_ENTRY,*PIMAGE_RESOURCE_DATA_ENTRY; typedef VOID CALLBACK (*PIMAGE_TLS_CALLBACK)( - LPVOID DllHandle,DWORD Reason,LPVOID Reserved + LPVOID DllHandle,DWORD Reason,LPVOID Reserved ); typedef struct _IMAGE_TLS_DIRECTORY { - DWORD StartAddressOfRawData; - DWORD EndAddressOfRawData; - LPDWORD AddressOfIndex; - PIMAGE_TLS_CALLBACK *AddressOfCallBacks; - DWORD SizeOfZeroFill; - DWORD Characteristics; + DWORD StartAddressOfRawData; + DWORD EndAddressOfRawData; + LPDWORD AddressOfIndex; + PIMAGE_TLS_CALLBACK *AddressOfCallBacks; + DWORD SizeOfZeroFill; + DWORD Characteristics; } IMAGE_TLS_DIRECTORY,*PIMAGE_TLS_DIRECTORY; typedef struct _IMAGE_DEBUG_DIRECTORY { @@ -2005,45 +2005,45 @@ typedef struct _IMAGE_FUNCTION_ENTRY { /* This is the structure that appears at the very start of a .DBG file. */ typedef struct _IMAGE_SEPARATE_DEBUG_HEADER { - WORD Signature; - WORD Flags; - WORD Machine; - WORD Characteristics; - DWORD TimeDateStamp; - DWORD CheckSum; - DWORD ImageBase; - DWORD SizeOfImage; - DWORD NumberOfSections; - DWORD ExportedNamesSize; - DWORD DebugDirectorySize; - DWORD SectionAlignment; - DWORD Reserved[ 2 ]; + WORD Signature; + WORD Flags; + WORD Machine; + WORD Characteristics; + DWORD TimeDateStamp; + DWORD CheckSum; + DWORD ImageBase; + DWORD SizeOfImage; + DWORD NumberOfSections; + DWORD ExportedNamesSize; + DWORD DebugDirectorySize; + DWORD SectionAlignment; + DWORD Reserved[ 2 ]; } IMAGE_SEPARATE_DEBUG_HEADER,*PIMAGE_SEPARATE_DEBUG_HEADER; #define IMAGE_SEPARATE_DEBUG_SIGNATURE 0x4944 typedef struct tagMESSAGE_RESOURCE_ENTRY { - WORD Length; - WORD Flags; - BYTE Text[1]; + WORD Length; + WORD Flags; + BYTE Text[1]; } MESSAGE_RESOURCE_ENTRY,*PMESSAGE_RESOURCE_ENTRY; -#define MESSAGE_RESOURCE_UNICODE 0x0001 +#define MESSAGE_RESOURCE_UNICODE 0x0001 typedef struct tagMESSAGE_RESOURCE_BLOCK { - DWORD LowId; - DWORD HighId; - DWORD OffsetToEntries; + DWORD LowId; + DWORD HighId; + DWORD OffsetToEntries; } MESSAGE_RESOURCE_BLOCK,*PMESSAGE_RESOURCE_BLOCK; typedef struct tagMESSAGE_RESOURCE_DATA { - DWORD NumberOfBlocks; - MESSAGE_RESOURCE_BLOCK Blocks[ 1 ]; + DWORD NumberOfBlocks; + MESSAGE_RESOURCE_BLOCK Blocks[ 1 ]; } MESSAGE_RESOURCE_DATA,*PMESSAGE_RESOURCE_DATA; /* * Here follows typedefs for security and tokens. - */ + */ /* * First a constant for the following typdefs. @@ -2059,17 +2059,17 @@ typedef PVOID PACCESS_TOKEN; */ typedef enum _TOKEN_INFORMATION_CLASS { - TokenUser = 1, - TokenGroups, - TokenPrivileges, - TokenOwner, - TokenPrimaryGroup, - TokenDefaultDacl, - TokenSource, - TokenType, - TokenImpersonationLevel, - TokenStatistics -} TOKEN_INFORMATION_CLASS; + TokenUser = 1, + TokenGroups, + TokenPrivileges, + TokenOwner, + TokenPrimaryGroup, + TokenDefaultDacl, + TokenSource, + TokenType, + TokenImpersonationLevel, + TokenStatistics +} TOKEN_INFORMATION_CLASS; #ifndef _SECURITY_DEFINED #define _SECURITY_DEFINED @@ -2102,13 +2102,13 @@ typedef struct _SID { } SID,*PSID; #endif /* !defined(SID_DEFINED) */ -#define SID_REVISION (1) /* Current revision */ -#define SID_MAX_SUB_AUTHORITIES (15) /* current max subauths */ -#define SID_RECOMMENDED_SUB_AUTHORITIES (1) /* recommended subauths */ +#define SID_REVISION (1) /* Current revision */ +#define SID_MAX_SUB_AUTHORITIES (15) /* current max subauths */ +#define SID_RECOMMENDED_SUB_AUTHORITIES (1) /* recommended subauths */ -/* - * ACL +/* + * ACL */ #define ACL_REVISION1 1 @@ -2128,17 +2128,17 @@ typedef struct _ACL { } ACL, *PACL; /* SECURITY_DESCRIPTOR */ -#define SECURITY_DESCRIPTOR_REVISION 1 -#define SECURITY_DESCRIPTOR_REVISION1 1 +#define SECURITY_DESCRIPTOR_REVISION 1 +#define SECURITY_DESCRIPTOR_REVISION1 1 -#define SE_OWNER_DEFAULTED 0x0001 -#define SE_GROUP_DEFAULTED 0x0002 -#define SE_DACL_PRESENT 0x0004 -#define SE_DACL_DEFAULTED 0x0008 -#define SE_SACL_PRESENT 0x0010 -#define SE_SACL_DEFAULTED 0x0020 -#define SE_SELF_RELATIVE 0x8000 +#define SE_OWNER_DEFAULTED 0x0001 +#define SE_GROUP_DEFAULTED 0x0002 +#define SE_DACL_PRESENT 0x0004 +#define SE_DACL_DEFAULTED 0x0008 +#define SE_SACL_PRESENT 0x0010 +#define SE_SACL_DEFAULTED 0x0020 +#define SE_SELF_RELATIVE 0x8000 typedef DWORD SECURITY_INFORMATION, *PSECURITY_INFORMATION; typedef WORD SECURITY_DESCRIPTOR_CONTROL, *PSECURITY_DESCRIPTOR_CONTROL; @@ -2164,7 +2164,7 @@ typedef struct { PACL Dacl; } SECURITY_DESCRIPTOR, *PSECURITY_DESCRIPTOR; -#define SECURITY_DESCRIPTOR_MIN_LENGTH (sizeof(SECURITY_DESCRIPTOR)) +#define SECURITY_DESCRIPTOR_MIN_LENGTH (sizeof(SECURITY_DESCRIPTOR)) #include "poppack.h" @@ -2172,40 +2172,40 @@ typedef struct { #include "pshpack1.h" -/* +/* * SID_AND_ATTRIBUTES */ typedef struct _SID_AND_ATTRIBUTES { - PSID Sid; - DWORD Attributes; -} SID_AND_ATTRIBUTES ; + PSID Sid; + DWORD Attributes; +} SID_AND_ATTRIBUTES ; /* security entities */ -#define SECURITY_NULL_RID (0x00000000L) -#define SECURITY_WORLD_RID (0x00000000L) -#define SECURITY_LOCAL_RID (0X00000000L) +#define SECURITY_NULL_RID (0x00000000L) +#define SECURITY_WORLD_RID (0x00000000L) +#define SECURITY_LOCAL_RID (0X00000000L) -#define SECURITY_NULL_SID_AUTHORITY {0,0,0,0,0,0} +#define SECURITY_NULL_SID_AUTHORITY {0,0,0,0,0,0} /* S-1-1 */ -#define SECURITY_WORLD_SID_AUTHORITY {0,0,0,0,0,1} +#define SECURITY_WORLD_SID_AUTHORITY {0,0,0,0,0,1} /* S-1-2 */ -#define SECURITY_LOCAL_SID_AUTHORITY {0,0,0,0,0,2} +#define SECURITY_LOCAL_SID_AUTHORITY {0,0,0,0,0,2} /* S-1-3 */ -#define SECURITY_CREATOR_SID_AUTHORITY {0,0,0,0,0,3} -#define SECURITY_CREATOR_OWNER_RID (0x00000000L) -#define SECURITY_CREATOR_GROUP_RID (0x00000001L) -#define SECURITY_CREATOR_OWNER_SERVER_RID (0x00000002L) -#define SECURITY_CREATOR_GROUP_SERVER_RID (0x00000003L) +#define SECURITY_CREATOR_SID_AUTHORITY {0,0,0,0,0,3} +#define SECURITY_CREATOR_OWNER_RID (0x00000000L) +#define SECURITY_CREATOR_GROUP_RID (0x00000001L) +#define SECURITY_CREATOR_OWNER_SERVER_RID (0x00000002L) +#define SECURITY_CREATOR_GROUP_SERVER_RID (0x00000003L) /* S-1-4 */ -#define SECURITY_NON_UNIQUE_AUTHORITY {0,0,0,0,0,4} +#define SECURITY_NON_UNIQUE_AUTHORITY {0,0,0,0,0,4} /* S-1-5 */ -#define SECURITY_NT_AUTHORITY {0,0,0,0,0,5} +#define SECURITY_NT_AUTHORITY {0,0,0,0,0,5} #define SECURITY_DIALUP_RID 0x00000001L #define SECURITY_NETWORK_RID 0x00000002L #define SECURITY_BATCH_RID 0x00000003L @@ -2231,26 +2231,26 @@ typedef struct _SID_AND_ATTRIBUTES { #define DOMAIN_ALIAS_RID_USERS 0x00000221L #define DOMAIN_ALIAS_RID_GUESTS 0x00000222L -#define SECURITY_SERVER_LOGON_RID SECURITY_ENTERPRISE_CONTROLLERS_RID +#define SECURITY_SERVER_LOGON_RID SECURITY_ENTERPRISE_CONTROLLERS_RID -#define SECURITY_LOGON_IDS_RID_COUNT (3L) +#define SECURITY_LOGON_IDS_RID_COUNT (3L) /* * TOKEN_USER */ typedef struct _TOKEN_USER { - SID_AND_ATTRIBUTES User; -} TOKEN_USER; + SID_AND_ATTRIBUTES User; +} TOKEN_USER; /* * TOKEN_GROUPS */ typedef struct _TOKEN_GROUPS { - DWORD GroupCount; - SID_AND_ATTRIBUTES Groups[ANYSIZE_ARRAY]; -} TOKEN_GROUPS; + DWORD GroupCount; + SID_AND_ATTRIBUTES Groups[ANYSIZE_ARRAY]; +} TOKEN_GROUPS; /* * LUID_AND_ATTRIBUTES @@ -2279,9 +2279,9 @@ typedef union _ULARGE_INTEGER { typedef LARGE_INTEGER LUID,*PLUID; typedef struct _LUID_AND_ATTRIBUTES { - LUID Luid; - DWORD Attributes; -} LUID_AND_ATTRIBUTES; + LUID Luid; + DWORD Attributes; +} LUID_AND_ATTRIBUTES; /* * PRIVILEGE_SET @@ -2298,76 +2298,76 @@ typedef struct _PRIVILEGE_SET { */ typedef struct _TOKEN_PRIVILEGES { - DWORD PrivilegeCount; - LUID_AND_ATTRIBUTES Privileges[ANYSIZE_ARRAY]; -} TOKEN_PRIVILEGES, *PTOKEN_PRIVILEGES; + DWORD PrivilegeCount; + LUID_AND_ATTRIBUTES Privileges[ANYSIZE_ARRAY]; +} TOKEN_PRIVILEGES, *PTOKEN_PRIVILEGES; /* * TOKEN_OWNER */ typedef struct _TOKEN_OWNER { - PSID Owner; -} TOKEN_OWNER; + PSID Owner; +} TOKEN_OWNER; /* * TOKEN_PRIMARY_GROUP */ typedef struct _TOKEN_PRIMARY_GROUP { - PSID PrimaryGroup; -} TOKEN_PRIMARY_GROUP; + PSID PrimaryGroup; +} TOKEN_PRIMARY_GROUP; /* * TOKEN_DEFAULT_DACL */ -typedef struct _TOKEN_DEFAULT_DACL { - PACL DefaultDacl; -} TOKEN_DEFAULT_DACL; +typedef struct _TOKEN_DEFAULT_DACL { + PACL DefaultDacl; +} TOKEN_DEFAULT_DACL; /* * TOKEN_SOURCEL */ typedef struct _TOKEN_SOURCE { - char Sourcename[8]; - LUID SourceIdentifier; -} TOKEN_SOURCE; + char Sourcename[8]; + LUID SourceIdentifier; +} TOKEN_SOURCE; /* * TOKEN_TYPE */ typedef enum tagTOKEN_TYPE { - TokenPrimary = 1, - TokenImpersonation -} TOKEN_TYPE; + TokenPrimary = 1, + TokenImpersonation +} TOKEN_TYPE; /* * SECURITY_IMPERSONATION_LEVEL */ typedef enum _SECURITY_IMPERSONATION_LEVEL { - SecurityAnonymous, - SecurityIdentification, - SecurityImpersonation, - SecurityDelegation -} SECURITY_IMPERSONATION_LEVEL, *PSECURITY_IMPERSONATION_LEVEL; + SecurityAnonymous, + SecurityIdentification, + SecurityImpersonation, + SecurityDelegation +} SECURITY_IMPERSONATION_LEVEL, *PSECURITY_IMPERSONATION_LEVEL; typedef BOOLEAN SECURITY_CONTEXT_TRACKING_MODE, - * PSECURITY_CONTEXT_TRACKING_MODE; + * PSECURITY_CONTEXT_TRACKING_MODE; /* - * Quality of Service + * Quality of Service */ typedef struct _SECURITY_QUALITY_OF_SERVICE { - DWORD Length; - SECURITY_IMPERSONATION_LEVEL ImpersonationLevel; + DWORD Length; + SECURITY_IMPERSONATION_LEVEL ImpersonationLevel; SECURITY_CONTEXT_TRACKING_MODE ContextTrackingMode; - WIN_BOOL EffectiveOnly; + WIN_BOOL EffectiveOnly; } SECURITY_QUALITY_OF_SERVICE, *PSECURITY_QUALITY_OF_SERVICE; /* @@ -2375,52 +2375,52 @@ typedef struct _SECURITY_QUALITY_OF_SERVICE { */ typedef struct _TOKEN_STATISTICS { - LUID TokenId; - LUID AuthenticationId; - LARGE_INTEGER ExpirationTime; - TOKEN_TYPE TokenType; - SECURITY_IMPERSONATION_LEVEL ImpersonationLevel; - DWORD DynamicCharged; - DWORD DynamicAvailable; - DWORD GroupCount; - DWORD PrivilegeCount; - LUID ModifiedId; -} TOKEN_STATISTICS; - -/* - * ACLs of NT + LUID TokenId; + LUID AuthenticationId; + LARGE_INTEGER ExpirationTime; + TOKEN_TYPE TokenType; + SECURITY_IMPERSONATION_LEVEL ImpersonationLevel; + DWORD DynamicCharged; + DWORD DynamicAvailable; + DWORD GroupCount; + DWORD PrivilegeCount; + LUID ModifiedId; +} TOKEN_STATISTICS; + +/* + * ACLs of NT */ -#define ACL_REVISION 2 +#define ACL_REVISION 2 -#define ACL_REVISION1 1 -#define ACL_REVISION2 2 +#define ACL_REVISION1 1 +#define ACL_REVISION2 2 /* ACEs, directly starting after an ACL */ typedef struct _ACE_HEADER { - BYTE AceType; - BYTE AceFlags; - WORD AceSize; + BYTE AceType; + BYTE AceFlags; + WORD AceSize; } ACE_HEADER,*PACE_HEADER; /* AceType */ -#define ACCESS_ALLOWED_ACE_TYPE 0 -#define ACCESS_DENIED_ACE_TYPE 1 -#define SYSTEM_AUDIT_ACE_TYPE 2 -#define SYSTEM_ALARM_ACE_TYPE 3 +#define ACCESS_ALLOWED_ACE_TYPE 0 +#define ACCESS_DENIED_ACE_TYPE 1 +#define SYSTEM_AUDIT_ACE_TYPE 2 +#define SYSTEM_ALARM_ACE_TYPE 3 /* inherit AceFlags */ -#define OBJECT_INHERIT_ACE 0x01 -#define CONTAINER_INHERIT_ACE 0x02 -#define NO_PROPAGATE_INHERIT_ACE 0x04 -#define INHERIT_ONLY_ACE 0x08 -#define VALID_INHERIT_FLAGS 0x0F +#define OBJECT_INHERIT_ACE 0x01 +#define CONTAINER_INHERIT_ACE 0x02 +#define NO_PROPAGATE_INHERIT_ACE 0x04 +#define INHERIT_ONLY_ACE 0x08 +#define VALID_INHERIT_FLAGS 0x0F /* AceFlags mask for what events we (should) audit */ -#define SUCCESSFUL_ACCESS_ACE_FLAG 0x40 -#define FAILED_ACCESS_ACE_FLAG 0x80 +#define SUCCESSFUL_ACCESS_ACE_FLAG 0x40 +#define FAILED_ACCESS_ACE_FLAG 0x80 -/* different ACEs depending on AceType +/* different ACEs depending on AceType * SidStart marks the begin of a SID * so the thing finally looks like this: * 0: ACE_HEADER @@ -2428,38 +2428,38 @@ typedef struct _ACE_HEADER { * 8... : SID */ typedef struct _ACCESS_ALLOWED_ACE { - ACE_HEADER Header; - DWORD Mask; - DWORD SidStart; + ACE_HEADER Header; + DWORD Mask; + DWORD SidStart; } ACCESS_ALLOWED_ACE,*PACCESS_ALLOWED_ACE; typedef struct _ACCESS_DENIED_ACE { - ACE_HEADER Header; - DWORD Mask; - DWORD SidStart; + ACE_HEADER Header; + DWORD Mask; + DWORD SidStart; } ACCESS_DENIED_ACE,*PACCESS_DENIED_ACE; typedef struct _SYSTEM_AUDIT_ACE { - ACE_HEADER Header; - DWORD Mask; - DWORD SidStart; + ACE_HEADER Header; + DWORD Mask; + DWORD SidStart; } SYSTEM_AUDIT_ACE,*PSYSTEM_AUDIT_ACE; typedef struct _SYSTEM_ALARM_ACE { - ACE_HEADER Header; - DWORD Mask; - DWORD SidStart; + ACE_HEADER Header; + DWORD Mask; + DWORD SidStart; } SYSTEM_ALARM_ACE,*PSYSTEM_ALARM_ACE; typedef enum tagSID_NAME_USE { - SidTypeUser = 1, - SidTypeGroup, - SidTypeDomain, - SidTypeAlias, - SidTypeWellKnownGroup, - SidTypeDeletedAccount, - SidTypeInvalid, - SidTypeUnknown + SidTypeUser = 1, + SidTypeGroup, + SidTypeDomain, + SidTypeAlias, + SidTypeWellKnownGroup, + SidTypeDeletedAccount, + SidTypeInvalid, + SidTypeUnknown } SID_NAME_USE,*PSID_NAME_USE; /* Access rights */ @@ -2519,8 +2519,8 @@ typedef enum tagSID_NAME_USE { #define THREAD_DIRECT_IMPERSONATION 0x0200 #define THREAD_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|0x3ff) -#define THREAD_BASE_PRIORITY_LOWRT 15 -#define THREAD_BASE_PRIORITY_MAX 2 +#define THREAD_BASE_PRIORITY_LOWRT 15 +#define THREAD_BASE_PRIORITY_MAX 2 #define THREAD_BASE_PRIORITY_MIN -2 #define THREAD_BASE_PRIORITY_IDLE -15 @@ -2554,9 +2554,9 @@ typedef enum tagSID_NAME_USE { /* File attribute flags */ -#define FILE_SHARE_READ 0x00000001L -#define FILE_SHARE_WRITE 0x00000002L -#define FILE_SHARE_DELETE 0x00000004L +#define FILE_SHARE_READ 0x00000001L +#define FILE_SHARE_WRITE 0x00000002L +#define FILE_SHARE_DELETE 0x00000004L #define FILE_ATTRIBUTE_READONLY 0x00000001L #define FILE_ATTRIBUTE_HIDDEN 0x00000002L #define FILE_ATTRIBUTE_SYSTEM 0x00000004L @@ -2568,92 +2568,92 @@ typedef enum tagSID_NAME_USE { #define FILE_ATTRIBUTE_ATOMIC_WRITE 0x00000200L #define FILE_ATTRIBUTE_XACTION_WRITE 0x00000400L #define FILE_ATTRIBUTE_COMPRESSED 0x00000800L -#define FILE_ATTRIBUTE_OFFLINE 0x00001000L +#define FILE_ATTRIBUTE_OFFLINE 0x00001000L /* File alignments (NT) */ -#define FILE_BYTE_ALIGNMENT 0x00000000 -#define FILE_WORD_ALIGNMENT 0x00000001 -#define FILE_LONG_ALIGNMENT 0x00000003 -#define FILE_QUAD_ALIGNMENT 0x00000007 -#define FILE_OCTA_ALIGNMENT 0x0000000f -#define FILE_32_BYTE_ALIGNMENT 0x0000001f -#define FILE_64_BYTE_ALIGNMENT 0x0000003f -#define FILE_128_BYTE_ALIGNMENT 0x0000007f -#define FILE_256_BYTE_ALIGNMENT 0x000000ff -#define FILE_512_BYTE_ALIGNMENT 0x000001ff - -#define REG_NONE 0 /* no type */ -#define REG_SZ 1 /* string type (ASCII) */ -#define REG_EXPAND_SZ 2 /* string, includes %ENVVAR% (expanded by caller) (ASCII) */ -#define REG_BINARY 3 /* binary format, callerspecific */ +#define FILE_BYTE_ALIGNMENT 0x00000000 +#define FILE_WORD_ALIGNMENT 0x00000001 +#define FILE_LONG_ALIGNMENT 0x00000003 +#define FILE_QUAD_ALIGNMENT 0x00000007 +#define FILE_OCTA_ALIGNMENT 0x0000000f +#define FILE_32_BYTE_ALIGNMENT 0x0000001f +#define FILE_64_BYTE_ALIGNMENT 0x0000003f +#define FILE_128_BYTE_ALIGNMENT 0x0000007f +#define FILE_256_BYTE_ALIGNMENT 0x000000ff +#define FILE_512_BYTE_ALIGNMENT 0x000001ff + +#define REG_NONE 0 /* no type */ +#define REG_SZ 1 /* string type (ASCII) */ +#define REG_EXPAND_SZ 2 /* string, includes %ENVVAR% (expanded by caller) (ASCII) */ +#define REG_BINARY 3 /* binary format, callerspecific */ /* YES, REG_DWORD == REG_DWORD_LITTLE_ENDIAN */ -#define REG_DWORD 4 /* DWORD in little endian format */ -#define REG_DWORD_LITTLE_ENDIAN 4 /* DWORD in little endian format */ -#define REG_DWORD_BIG_ENDIAN 5 /* DWORD in big endian format */ -#define REG_LINK 6 /* symbolic link (UNICODE) */ -#define REG_MULTI_SZ 7 /* multiple strings, delimited by \0, terminated by \0\0 (ASCII) */ -#define REG_RESOURCE_LIST 8 /* resource list? huh? */ -#define REG_FULL_RESOURCE_DESCRIPTOR 9 /* full resource descriptor? huh? */ -#define REG_RESOURCE_REQUIREMENTS_LIST 10 +#define REG_DWORD 4 /* DWORD in little endian format */ +#define REG_DWORD_LITTLE_ENDIAN 4 /* DWORD in little endian format */ +#define REG_DWORD_BIG_ENDIAN 5 /* DWORD in big endian format */ +#define REG_LINK 6 /* symbolic link (UNICODE) */ +#define REG_MULTI_SZ 7 /* multiple strings, delimited by \0, terminated by \0\0 (ASCII) */ +#define REG_RESOURCE_LIST 8 /* resource list? huh? */ +#define REG_FULL_RESOURCE_DESCRIPTOR 9 /* full resource descriptor? huh? */ +#define REG_RESOURCE_REQUIREMENTS_LIST 10 /* ----------------------------- begin registry ----------------------------- */ /* Registry security values */ -#define OWNER_SECURITY_INFORMATION 0x00000001 -#define GROUP_SECURITY_INFORMATION 0x00000002 -#define DACL_SECURITY_INFORMATION 0x00000004 -#define SACL_SECURITY_INFORMATION 0x00000008 - -#define REG_OPTION_RESERVED 0x00000000 -#define REG_OPTION_NON_VOLATILE 0x00000000 -#define REG_OPTION_VOLATILE 0x00000001 -#define REG_OPTION_CREATE_LINK 0x00000002 -#define REG_OPTION_BACKUP_RESTORE 0x00000004 /* FIXME */ -#define REG_OPTION_OPEN_LINK 0x00000008 -#define REG_LEGAL_OPTION (REG_OPTION_RESERVED| \ - REG_OPTION_NON_VOLATILE| \ - REG_OPTION_VOLATILE| \ - REG_OPTION_CREATE_LINK| \ - REG_OPTION_BACKUP_RESTORE| \ - REG_OPTION_OPEN_LINK) - - -#define REG_CREATED_NEW_KEY 0x00000001 -#define REG_OPENED_EXISTING_KEY 0x00000002 +#define OWNER_SECURITY_INFORMATION 0x00000001 +#define GROUP_SECURITY_INFORMATION 0x00000002 +#define DACL_SECURITY_INFORMATION 0x00000004 +#define SACL_SECURITY_INFORMATION 0x00000008 + +#define REG_OPTION_RESERVED 0x00000000 +#define REG_OPTION_NON_VOLATILE 0x00000000 +#define REG_OPTION_VOLATILE 0x00000001 +#define REG_OPTION_CREATE_LINK 0x00000002 +#define REG_OPTION_BACKUP_RESTORE 0x00000004 /* FIXME */ +#define REG_OPTION_OPEN_LINK 0x00000008 +#define REG_LEGAL_OPTION (REG_OPTION_RESERVED| \ + REG_OPTION_NON_VOLATILE| \ + REG_OPTION_VOLATILE| \ + REG_OPTION_CREATE_LINK| \ + REG_OPTION_BACKUP_RESTORE| \ + REG_OPTION_OPEN_LINK) + + +#define REG_CREATED_NEW_KEY 0x00000001 +#define REG_OPENED_EXISTING_KEY 0x00000002 /* For RegNotifyChangeKeyValue */ -#define REG_NOTIFY_CHANGE_NAME 0x1 - -#define KEY_QUERY_VALUE 0x00000001 -#define KEY_SET_VALUE 0x00000002 -#define KEY_CREATE_SUB_KEY 0x00000004 -#define KEY_ENUMERATE_SUB_KEYS 0x00000008 -#define KEY_NOTIFY 0x00000010 -#define KEY_CREATE_LINK 0x00000020 - -#define KEY_READ ((STANDARD_RIGHTS_READ| \ - KEY_QUERY_VALUE| \ - KEY_ENUMERATE_SUB_KEYS| \ - KEY_NOTIFY) \ - & (~SYNCHRONIZE) \ - ) -#define KEY_WRITE ((STANDARD_RIGHTS_WRITE| \ - KEY_SET_VALUE| \ - KEY_CREATE_SUB_KEY) \ - & (~SYNCHRONIZE) \ - ) -#define KEY_EXECUTE ((KEY_READ) \ - & (~SYNCHRONIZE)) \ - ) +#define REG_NOTIFY_CHANGE_NAME 0x1 + +#define KEY_QUERY_VALUE 0x00000001 +#define KEY_SET_VALUE 0x00000002 +#define KEY_CREATE_SUB_KEY 0x00000004 +#define KEY_ENUMERATE_SUB_KEYS 0x00000008 +#define KEY_NOTIFY 0x00000010 +#define KEY_CREATE_LINK 0x00000020 + +#define KEY_READ ((STANDARD_RIGHTS_READ| \ + KEY_QUERY_VALUE| \ + KEY_ENUMERATE_SUB_KEYS| \ + KEY_NOTIFY) \ + & (~SYNCHRONIZE) \ + ) +#define KEY_WRITE ((STANDARD_RIGHTS_WRITE| \ + KEY_SET_VALUE| \ + KEY_CREATE_SUB_KEY) \ + & (~SYNCHRONIZE) \ + ) +#define KEY_EXECUTE ((KEY_READ) \ + & (~SYNCHRONIZE)) \ + ) #define KEY_ALL_ACCESS ((STANDARD_RIGHTS_ALL| \ - KEY_QUERY_VALUE| \ - KEY_SET_VALUE| \ - KEY_CREATE_SUB_KEY| \ - KEY_ENUMERATE_SUB_KEYS| \ - KEY_NOTIFY| \ - KEY_CREATE_LINK) \ - & (~SYNCHRONIZE) \ - ) + KEY_QUERY_VALUE| \ + KEY_SET_VALUE| \ + KEY_CREATE_SUB_KEY| \ + KEY_ENUMERATE_SUB_KEYS| \ + KEY_NOTIFY| \ + KEY_CREATE_LINK) \ + & (~SYNCHRONIZE) \ + ) /* ------------------------------ end registry ------------------------------ */ diff --git a/libs/loader/wine/winreg.h b/libs/loader/wine/winreg.h index 22d29fb387..8c290b58f2 100644 --- a/libs/loader/wine/winreg.h +++ b/libs/loader/wine/winreg.h @@ -1,5 +1,5 @@ /* - * Win32 registry defines (see also winnt.h) + * Win32 registry defines (see also winnt.h) */ #ifndef __WINE_WINREG_H #define __WINE_WINREG_H @@ -32,20 +32,20 @@ extern "C" { #define HKEY_DYN_DATA ((HKEY) 0x80000006) /* - * registry provider structs + * registry provider structs */ -typedef struct value_entA -{ LPSTR ve_valuename; - DWORD ve_valuelen; - DWORD_PTR ve_valueptr; - DWORD ve_type; +typedef struct value_entA +{ LPSTR ve_valuename; + DWORD ve_valuelen; + DWORD_PTR ve_valueptr; + DWORD ve_type; } VALENTA, *PVALENTA; typedef struct value_entW { - LPWSTR ve_valuename; - DWORD ve_valuelen; - DWORD_PTR ve_valueptr; - DWORD ve_type; + LPWSTR ve_valuename; + DWORD ve_valuelen; + DWORD_PTR ve_valueptr; + DWORD ve_type; } VALENTW, *PVALENTW; typedef ACCESS_MASK REGSAM; diff --git a/libs/loader/wine/winuser.h b/libs/loader/wine/winuser.h index 6974808744..d74864ef7d 100644 --- a/libs/loader/wine/winuser.h +++ b/libs/loader/wine/winuser.h @@ -98,11 +98,11 @@ typedef struct #undef FSHIFT #endif -#define FVIRTKEY TRUE /* Assumed to be == TRUE */ -#define FNOINVERT 0x02 -#define FSHIFT 0x04 -#define FCONTROL 0x08 -#define FALT 0x10 +#define FVIRTKEY TRUE /* Assumed to be == TRUE */ +#define FNOINVERT 0x02 +#define FSHIFT 0x04 +#define FCONTROL 0x08 +#define FALT 0x10 typedef struct tagANIMATIONINFO @@ -120,11 +120,11 @@ typedef struct tagNMHDR typedef struct { - UINT cbSize; - INT iTabLength; - INT iLeftMargin; - INT iRightMargin; - UINT uiLengthDrawn; + UINT cbSize; + INT iTabLength; + INT iLeftMargin; + INT iRightMargin; + UINT uiLengthDrawn; } DRAWTEXTPARAMS,*LPDRAWTEXTPARAMS; #define WM_USER 0x0400 @@ -221,20 +221,20 @@ typedef struct #define BS_FLAT 0x00008000L /* Dialog styles */ -#define DS_ABSALIGN 0x0001 -#define DS_SYSMODAL 0x0002 -#define DS_3DLOOK 0x0004 /* win95 */ -#define DS_FIXEDSYS 0x0008 /* win95 */ -#define DS_NOFAILCREATE 0x0010 /* win95 */ -#define DS_LOCALEDIT 0x0020 -#define DS_SETFONT 0x0040 -#define DS_MODALFRAME 0x0080 -#define DS_NOIDLEMSG 0x0100 -#define DS_SETFOREGROUND 0x0200 /* win95 */ -#define DS_CONTROL 0x0400 /* win95 */ -#define DS_CENTER 0x0800 /* win95 */ -#define DS_CENTERMOUSE 0x1000 /* win95 */ -#define DS_CONTEXTHELP 0x2000 /* win95 */ +#define DS_ABSALIGN 0x0001 +#define DS_SYSMODAL 0x0002 +#define DS_3DLOOK 0x0004 /* win95 */ +#define DS_FIXEDSYS 0x0008 /* win95 */ +#define DS_NOFAILCREATE 0x0010 /* win95 */ +#define DS_LOCALEDIT 0x0020 +#define DS_SETFONT 0x0040 +#define DS_MODALFRAME 0x0080 +#define DS_NOIDLEMSG 0x0100 +#define DS_SETFOREGROUND 0x0200 /* win95 */ +#define DS_CONTROL 0x0400 /* win95 */ +#define DS_CENTER 0x0800 /* win95 */ +#define DS_CENTERMOUSE 0x1000 /* win95 */ +#define DS_CONTEXTHELP 0x2000 /* win95 */ /* Dialog messages */ @@ -320,8 +320,8 @@ typedef struct #define OBM_SIZE 32766 #define OBM_OLD_CLOSE 32767 -#define OCR_BUMMER 100 -#define OCR_DRAGOBJECT 101 +#define OCR_BUMMER 100 +#define OCR_DRAGOBJECT 101 #define OCR_NORMAL 32512 #define OCR_IBEAM 32513 @@ -355,25 +355,25 @@ typedef struct #define OIC_HDISK 32524 #define OIC_NETWORK 32525 -#define COLOR_SCROLLBAR 0 -#define COLOR_BACKGROUND 1 -#define COLOR_ACTIVECAPTION 2 -#define COLOR_INACTIVECAPTION 3 -#define COLOR_MENU 4 -#define COLOR_WINDOW 5 -#define COLOR_WINDOWFRAME 6 -#define COLOR_MENUTEXT 7 -#define COLOR_WINDOWTEXT 8 -#define COLOR_CAPTIONTEXT 9 -#define COLOR_ACTIVEBORDER 10 -#define COLOR_INACTIVEBORDER 11 -#define COLOR_APPWORKSPACE 12 -#define COLOR_HIGHLIGHT 13 -#define COLOR_HIGHLIGHTTEXT 14 +#define COLOR_SCROLLBAR 0 +#define COLOR_BACKGROUND 1 +#define COLOR_ACTIVECAPTION 2 +#define COLOR_INACTIVECAPTION 3 +#define COLOR_MENU 4 +#define COLOR_WINDOW 5 +#define COLOR_WINDOWFRAME 6 +#define COLOR_MENUTEXT 7 +#define COLOR_WINDOWTEXT 8 +#define COLOR_CAPTIONTEXT 9 +#define COLOR_ACTIVEBORDER 10 +#define COLOR_INACTIVEBORDER 11 +#define COLOR_APPWORKSPACE 12 +#define COLOR_HIGHLIGHT 13 +#define COLOR_HIGHLIGHTTEXT 14 #define COLOR_BTNFACE 15 #define COLOR_BTNSHADOW 16 #define COLOR_GRAYTEXT 17 -#define COLOR_BTNTEXT 18 +#define COLOR_BTNTEXT 18 #define COLOR_INACTIVECAPTIONTEXT 19 #define COLOR_BTNHIGHLIGHT 20 /* win95 colors */ @@ -461,9 +461,9 @@ typedef struct #define EN_VSCROLL 0x0602 /* New since win95 : EM_SETMARGIN parameters */ -#define EC_LEFTMARGIN 0x0001 -#define EC_RIGHTMARGIN 0x0002 -#define EC_USEFONTINFO 0xffff +#define EC_LEFTMARGIN 0x0001 +#define EC_RIGHTMARGIN 0x0002 +#define EC_USEFONTINFO 0xffff /* Messages */ @@ -532,30 +532,30 @@ typedef struct #define WM_COMPAREITEM 0x0039 #define WM_TESTING 0x003a -#define WM_OTHERWINDOWCREATED 0x003c -#define WM_OTHERWINDOWDESTROYED 0x003d -#define WM_ACTIVATESHELLWINDOW 0x003e +#define WM_OTHERWINDOWCREATED 0x003c +#define WM_OTHERWINDOWDESTROYED 0x003d +#define WM_ACTIVATESHELLWINDOW 0x003e -#define WM_COMPACTING 0x0041 +#define WM_COMPACTING 0x0041 -#define WM_COMMNOTIFY 0x0044 -#define WM_WINDOWPOSCHANGING 0x0046 -#define WM_WINDOWPOSCHANGED 0x0047 -#define WM_POWER 0x0048 +#define WM_COMMNOTIFY 0x0044 +#define WM_WINDOWPOSCHANGING 0x0046 +#define WM_WINDOWPOSCHANGED 0x0047 +#define WM_POWER 0x0048 /* Win32 4.0 messages */ -#define WM_COPYDATA 0x004a -#define WM_CANCELJOURNAL 0x004b -#define WM_NOTIFY 0x004e -#define WM_HELP 0x0053 -#define WM_NOTIFYFORMAT 0x0055 - -#define WM_CONTEXTMENU 0x007b -#define WM_STYLECHANGING 0x007c -#define WM_STYLECHANGED 0x007d +#define WM_COPYDATA 0x004a +#define WM_CANCELJOURNAL 0x004b +#define WM_NOTIFY 0x004e +#define WM_HELP 0x0053 +#define WM_NOTIFYFORMAT 0x0055 + +#define WM_CONTEXTMENU 0x007b +#define WM_STYLECHANGING 0x007c +#define WM_STYLECHANGED 0x007d #define WM_DISPLAYCHANGE 0x007e -#define WM_GETICON 0x007f -#define WM_SETICON 0x0080 +#define WM_GETICON 0x007f +#define WM_SETICON 0x0080 /* Non-client system messages */ #define WM_NCCREATE 0x0081 @@ -565,9 +565,9 @@ typedef struct #define WM_NCPAINT 0x0085 #define WM_NCACTIVATE 0x0086 -#define WM_GETDLGCODE 0x0087 -#define WM_SYNCPAINT 0x0088 -#define WM_SYNCTASK 0x0089 +#define WM_GETDLGCODE 0x0087 +#define WM_SYNCPAINT 0x0088 +#define WM_SYNCTASK 0x0089 /* Non-client mouse messages */ #define WM_NCMOUSEMOVE 0x00a0 @@ -599,11 +599,11 @@ typedef struct #define WM_IME_COMPOSITION 0x010f #define WM_IME_KEYLAST 0x010f -#define WM_INITDIALOG 0x0110 +#define WM_INITDIALOG 0x0110 #define WM_COMMAND 0x0111 #define WM_SYSCOMMAND 0x0112 -#define WM_TIMER 0x0113 -#define WM_SYSTIMER 0x0118 +#define WM_TIMER 0x0113 +#define WM_SYSTIMER 0x0118 /* scroll messages */ #define WM_HSCROLL 0x0114 @@ -629,59 +629,59 @@ typedef struct #define WM_CTLCOLORSTATIC 0x0138 /* Mouse messages */ -#define WM_MOUSEMOVE 0x0200 -#define WM_LBUTTONDOWN 0x0201 -#define WM_LBUTTONUP 0x0202 +#define WM_MOUSEMOVE 0x0200 +#define WM_LBUTTONDOWN 0x0201 +#define WM_LBUTTONUP 0x0202 #define WM_LBUTTONDBLCLK 0x0203 -#define WM_RBUTTONDOWN 0x0204 -#define WM_RBUTTONUP 0x0205 +#define WM_RBUTTONDOWN 0x0204 +#define WM_RBUTTONUP 0x0205 #define WM_RBUTTONDBLCLK 0x0206 -#define WM_MBUTTONDOWN 0x0207 -#define WM_MBUTTONUP 0x0208 +#define WM_MBUTTONDOWN 0x0207 +#define WM_MBUTTONUP 0x0208 #define WM_MBUTTONDBLCLK 0x0209 #define WM_MOUSEWHEEL 0x020A -#define WM_MOUSEFIRST WM_MOUSEMOVE +#define WM_MOUSEFIRST WM_MOUSEMOVE -#define WM_MOUSELAST WM_MOUSEWHEEL +#define WM_MOUSELAST WM_MOUSEWHEEL #define WHEEL_DELTA 120 #define WHEEL_PAGESCROLL (UINT_MAX) #define WM_PARENTNOTIFY 0x0210 #define WM_ENTERMENULOOP 0x0211 #define WM_EXITMENULOOP 0x0212 -#define WM_NEXTMENU 0x0213 +#define WM_NEXTMENU 0x0213 /* Win32 4.0 messages */ -#define WM_SIZING 0x0214 +#define WM_SIZING 0x0214 #define WM_CAPTURECHANGED 0x0215 -#define WM_MOVING 0x0216 +#define WM_MOVING 0x0216 /* MDI messages */ -#define WM_MDICREATE 0x0220 -#define WM_MDIDESTROY 0x0221 -#define WM_MDIACTIVATE 0x0222 -#define WM_MDIRESTORE 0x0223 -#define WM_MDINEXT 0x0224 -#define WM_MDIMAXIMIZE 0x0225 -#define WM_MDITILE 0x0226 -#define WM_MDICASCADE 0x0227 +#define WM_MDICREATE 0x0220 +#define WM_MDIDESTROY 0x0221 +#define WM_MDIACTIVATE 0x0222 +#define WM_MDIRESTORE 0x0223 +#define WM_MDINEXT 0x0224 +#define WM_MDIMAXIMIZE 0x0225 +#define WM_MDITILE 0x0226 +#define WM_MDICASCADE 0x0227 #define WM_MDIICONARRANGE 0x0228 #define WM_MDIGETACTIVE 0x0229 #define WM_MDIREFRESHMENU 0x0234 /* D&D messages */ -#define WM_DROPOBJECT 0x022A +#define WM_DROPOBJECT 0x022A #define WM_QUERYDROPOBJECT 0x022B -#define WM_BEGINDRAG 0x022C -#define WM_DRAGLOOP 0x022D -#define WM_DRAGSELECT 0x022E -#define WM_DRAGMOVE 0x022F -#define WM_MDISETMENU 0x0230 +#define WM_BEGINDRAG 0x022C +#define WM_DRAGLOOP 0x022D +#define WM_DRAGSELECT 0x022E +#define WM_DRAGMOVE 0x022F +#define WM_MDISETMENU 0x0230 #define WM_ENTERSIZEMOVE 0x0231 #define WM_EXITSIZEMOVE 0x0232 -#define WM_DROPFILES 0x0233 +#define WM_DROPFILES 0x0233 /* Win32 4.0 messages for IME */ @@ -722,7 +722,7 @@ typedef struct #define WM_QUERYNEWPALETTE 0x030F #define WM_PALETTEISCHANGING 0x0310 #define WM_PALETTECHANGED 0x0311 -#define WM_HOTKEY 0x0312 +#define WM_HOTKEY 0x0312 #define WM_PRINT 0x0317 #define WM_PRINTCLIENT 0x0318 @@ -733,19 +733,19 @@ typedef struct #define WM_QUERYAFXWNDPROC 0x0360 #define WM_SIZEPARENT 0x0361 #define WM_SETMESSAGESTRING 0x0362 -#define WM_IDLEUPDATECMDUI 0x0363 +#define WM_IDLEUPDATECMDUI 0x0363 #define WM_INITIALUPDATE 0x0364 #define WM_COMMANDHELP 0x0365 #define WM_HELPHITTEST 0x0366 #define WM_EXITHELPMODE 0x0367 #define WM_RECALCPARENT 0x0368 #define WM_SIZECHILD 0x0369 -#define WM_KICKIDLE 0x036A +#define WM_KICKIDLE 0x036A #define WM_QUERYCENTERWND 0x036B #define WM_DISABLEMODAL 0x036C -#define WM_FLOATSTATUS 0x036D -#define WM_ACTIVATETOPLEVEL 0x036E -#define WM_QUERY3DCONTROLS 0x036F +#define WM_FLOATSTATUS 0x036D +#define WM_ACTIVATETOPLEVEL 0x036E +#define WM_QUERY3DCONTROLS 0x036F #define WM_SOCKET_NOTIFY 0x0373 #define WM_SOCKET_DEAD 0x0374 #define WM_POPMESSAGESTRING 0x0375 @@ -789,7 +789,7 @@ typedef struct #define IDYES 6 #define IDNO 7 #define IDCLOSE 8 -#define IDHELP 9 +#define IDHELP 9 /****** Window classes ******/ @@ -838,7 +838,7 @@ typedef struct BYTE rgbReserved[32]; } PAINTSTRUCT, *PPAINTSTRUCT, *LPPAINTSTRUCT; -typedef struct +typedef struct { HMENU hWindowMenu; UINT idFirstChild; @@ -874,7 +874,7 @@ typedef struct DECL_WINELIB_TYPE_AW(MDICREATESTRUCT) DECL_WINELIB_TYPE_AW(LPMDICREATESTRUCT) -#define MDITILE_VERTICAL 0x0000 +#define MDITILE_VERTICAL 0x0000 #define MDITILE_HORIZONTAL 0x0001 #define MDITILE_SKIPDISABLED 0x0002 @@ -896,17 +896,17 @@ typedef struct { #define GWW_HINSTANCE (-6) #define GWL_HINSTANCE GWW_HINSTANCE #define GWL_WNDPROC (-4) -#define DWL_MSGRESULT 0 -#define DWL_DLGPROC 4 -#define DWL_USER 8 +#define DWL_MSGRESULT 0 +#define DWL_DLGPROC 4 +#define DWL_USER 8 /* GetWindow() constants */ -#define GW_HWNDFIRST 0 -#define GW_HWNDLAST 1 -#define GW_HWNDNEXT 2 -#define GW_HWNDPREV 3 -#define GW_OWNER 4 -#define GW_CHILD 5 +#define GW_HWNDFIRST 0 +#define GW_HWNDLAST 1 +#define GW_HWNDNEXT 2 +#define GW_HWNDPREV 3 +#define GW_OWNER 4 +#define GW_CHILD 5 /* WM_GETMINMAXINFO struct */ typedef struct @@ -1084,18 +1084,18 @@ typedef struct /***** Window hooks *****/ /* Hook values */ -#define WH_MIN (-1) -#define WH_MSGFILTER (-1) +#define WH_MIN (-1) +#define WH_MSGFILTER (-1) #define WH_JOURNALRECORD 0 #define WH_JOURNALPLAYBACK 1 -#define WH_KEYBOARD 2 -#define WH_GETMESSAGE 3 -#define WH_CALLWNDPROC 4 -#define WH_CBT 5 -#define WH_SYSMSGFILTER 6 -#define WH_MOUSE 7 -#define WH_HARDWARE 8 -#define WH_DEBUG 9 +#define WH_KEYBOARD 2 +#define WH_GETMESSAGE 3 +#define WH_CALLWNDPROC 4 +#define WH_CBT 5 +#define WH_SYSMSGFILTER 6 +#define WH_MOUSE 7 +#define WH_HARDWARE 8 +#define WH_DEBUG 9 #define WH_SHELL 10 #define WH_FOREGROUNDIDLE 11 #define WH_CALLWNDPROCRET 12 @@ -1170,12 +1170,12 @@ typedef struct { /* WinHelp internal structure */ typedef struct { - WORD size; - WORD command; - LONG data; - LONG reserved; - WORD ofsFilename; - WORD ofsData; + WORD size; + WORD command; + LONG data; + LONG reserved; + WORD ofsFilename; + WORD ofsData; } WINHELP,*LPWINHELP; typedef struct @@ -1186,13 +1186,13 @@ typedef struct } MULTIKEYHELP, *LPMULTIKEYHELP; typedef struct { - WORD wStructSize; - WORD x; - WORD y; - WORD dx; - WORD dy; - WORD wMax; - char rgchMember[2]; + WORD wStructSize; + WORD x; + WORD y; + WORD dx; + WORD dy; + WORD wMax; + char rgchMember[2]; } HELPWININFO, *LPHELPWININFO; #define HELP_CONTEXT 0x0001 @@ -1210,12 +1210,12 @@ typedef struct { #define HELP_MULTIKEY 0x0201 #define HELP_SETWINPOS 0x0203 #define HELP_CONTEXTMENU 0x000a -#define HELP_FINDER 0x000b -#define HELP_WM_HELP 0x000c +#define HELP_FINDER 0x000b +#define HELP_WM_HELP 0x000c #define HELP_SETPOPUP_POS 0x000d -#define HELP_TCARD 0x8000 -#define HELP_TCARD_DATA 0x0010 +#define HELP_TCARD 0x8000 +#define HELP_TCARD_DATA 0x0010 #define HELP_TCARD_OTHER_CALLER 0x0011 @@ -1230,23 +1230,23 @@ typedef struct { #define DISP_CHANGE_BADPARAM (-5) /* ChangeDisplaySettings.dwFlags */ -#define CDS_UPDATEREGISTRY 0x00000001 -#define CDS_TEST 0x00000002 -#define CDS_FULLSCREEN 0x00000004 -#define CDS_GLOBAL 0x00000008 -#define CDS_SET_PRIMARY 0x00000010 -#define CDS_RESET 0x40000000 -#define CDS_SETRECT 0x20000000 -#define CDS_NORESET 0x10000000 +#define CDS_UPDATEREGISTRY 0x00000001 +#define CDS_TEST 0x00000002 +#define CDS_FULLSCREEN 0x00000004 +#define CDS_GLOBAL 0x00000008 +#define CDS_SET_PRIMARY 0x00000010 +#define CDS_RESET 0x40000000 +#define CDS_SETRECT 0x20000000 +#define CDS_NORESET 0x10000000 /* flags to FormatMessage */ -#define FORMAT_MESSAGE_ALLOCATE_BUFFER 0x00000100 -#define FORMAT_MESSAGE_IGNORE_INSERTS 0x00000200 -#define FORMAT_MESSAGE_FROM_STRING 0x00000400 -#define FORMAT_MESSAGE_FROM_HMODULE 0x00000800 -#define FORMAT_MESSAGE_FROM_SYSTEM 0x00001000 -#define FORMAT_MESSAGE_ARGUMENT_ARRAY 0x00002000 -#define FORMAT_MESSAGE_MAX_WIDTH_MASK 0x000000FF +#define FORMAT_MESSAGE_ALLOCATE_BUFFER 0x00000100 +#define FORMAT_MESSAGE_IGNORE_INSERTS 0x00000200 +#define FORMAT_MESSAGE_FROM_STRING 0x00000400 +#define FORMAT_MESSAGE_FROM_HMODULE 0x00000800 +#define FORMAT_MESSAGE_FROM_SYSTEM 0x00001000 +#define FORMAT_MESSAGE_ARGUMENT_ARRAY 0x00002000 +#define FORMAT_MESSAGE_MAX_WIDTH_MASK 0x000000FF typedef struct { @@ -1295,7 +1295,7 @@ typedef struct tagMSG #define POINTSTOPOINT(pt, pts) \ { (pt).x = (LONG)(SHORT)LOWORD(*(LONG*)&pts); \ - (pt).y = (LONG)(SHORT)HIWORD(*(LONG*)&pts); } + (pt).y = (LONG)(SHORT)HIWORD(*(LONG*)&pts); } #define POINTTOPOINTS(pt) (MAKELONG((short)((pt).x), (short)((pt).y))) @@ -1303,11 +1303,11 @@ typedef struct tagMSG /* Cursors / Icons */ typedef struct { - WIN_BOOL fIcon; - DWORD xHotspot; - DWORD yHotspot; - HBITMAP hbmMask; - HBITMAP hbmColor; + WIN_BOOL fIcon; + DWORD xHotspot; + DWORD yHotspot; + HBITMAP hbmMask; + HBITMAP hbmColor; } ICONINFO,*LPICONINFO; @@ -1345,7 +1345,7 @@ typedef struct #define TPM_NONOTIFY 0x0080 #define TPM_RETURNCMD 0x0100 -typedef struct +typedef struct { UINT cbSize; RECT rcExclude; @@ -1397,12 +1397,12 @@ typedef struct { typedef MENUINFO const * LPCMENUINFO; -#define MIM_MAXHEIGHT 0x00000001 -#define MIM_BACKGROUND 0x00000002 -#define MIM_HELPID 0x00000004 -#define MIM_MENUDATA 0x00000008 -#define MIM_STYLE 0x00000010 -#define MIM_APPLYTOSUBMENUS 0x80000000 +#define MIM_MAXHEIGHT 0x00000001 +#define MIM_BACKGROUND 0x00000002 +#define MIM_HELPID 0x00000004 +#define MIM_MENUDATA 0x00000008 +#define MIM_STYLE 0x00000010 +#define MIM_APPLYTOSUBMENUS 0x80000000 typedef struct { WORD versionNumber; @@ -1431,17 +1431,17 @@ typedef PVOID *LPMENUTEMPLATE; #define MIIM_BITMAP 0x00000080 #define MIIM_FTYPE 0x00000100 -#define HBMMENU_CALLBACK ((HBITMAP) -1) -#define HBMMENU_SYSTEM ((HBITMAP) 1) -#define HBMMENU_MBAR_RESTORE ((HBITMAP) 2) -#define HBMMENU_MBAR_MINIMIZE ((HBITMAP) 3) -#define HBMMENU_MBAR_CLOSE ((HBITMAP) 5) -#define HBMMENU_MBAR_CLOSE_D ((HBITMAP) 6) -#define HBMMENU_MBAR_MINIMIZE_D ((HBITMAP) 7) -#define HBMMENU_POPUP_CLOSE ((HBITMAP) 8) -#define HBMMENU_POPUP_RESTORE ((HBITMAP) 9) -#define HBMMENU_POPUP_MAXIMIZE ((HBITMAP) 10) -#define HBMMENU_POPUP_MINIMIZE ((HBITMAP) 11) +#define HBMMENU_CALLBACK ((HBITMAP) -1) +#define HBMMENU_SYSTEM ((HBITMAP) 1) +#define HBMMENU_MBAR_RESTORE ((HBITMAP) 2) +#define HBMMENU_MBAR_MINIMIZE ((HBITMAP) 3) +#define HBMMENU_MBAR_CLOSE ((HBITMAP) 5) +#define HBMMENU_MBAR_CLOSE_D ((HBITMAP) 6) +#define HBMMENU_MBAR_MINIMIZE_D ((HBITMAP) 7) +#define HBMMENU_POPUP_CLOSE ((HBITMAP) 8) +#define HBMMENU_POPUP_RESTORE ((HBITMAP) 9) +#define HBMMENU_POPUP_MAXIMIZE ((HBITMAP) 10) +#define HBMMENU_POPUP_MINIMIZE ((HBITMAP) 11) /* DrawState defines ... */ typedef WIN_BOOL CALLBACK (*DRAWSTATEPROC)(HDC,LPARAM,WPARAM,INT,INT); @@ -1518,7 +1518,7 @@ typedef WIN_BOOL CALLBACK (*DRAWSTATEPROC)(HDC,LPARAM,WPARAM,INT,INT); #define BST_CHECKED 0x0001 #define BST_INDETERMINATE 0x0002 #define BST_PUSHED 0x0004 -#define BST_FOCUS 0x0008 +#define BST_FOCUS 0x0008 /* Static Control Styles */ #define SS_LEFT 0x00000000L @@ -1579,7 +1579,7 @@ typedef struct INT nTrackPos; } SCROLLINFO, *LPSCROLLINFO; -/* GetScrollInfo() flags */ +/* GetScrollInfo() flags */ #define SIF_RANGE 0x0001 #define SIF_PAGE 0x0002 #define SIF_POS 0x0004 @@ -1677,8 +1677,8 @@ typedef struct #define CBS_NOINTEGRALHEIGHT 0x0400L #define CBS_DISABLENOSCROLL 0x0800L -#define CBS_UPPERCASE 0x2000L -#define CBS_LOWERCASE 0x4000L +#define CBS_UPPERCASE 0x2000L +#define CBS_LOWERCASE 0x4000L /* Combo box messages */ @@ -1735,90 +1735,90 @@ typedef struct #define CB_ERR (-1) #define CB_ERRSPACE (-2) -#define MB_OK 0x00000000 -#define MB_OKCANCEL 0x00000001 -#define MB_ABORTRETRYIGNORE 0x00000002 -#define MB_YESNOCANCEL 0x00000003 -#define MB_YESNO 0x00000004 -#define MB_RETRYCANCEL 0x00000005 -#define MB_TYPEMASK 0x0000000F - -#define MB_ICONHAND 0x00000010 -#define MB_ICONQUESTION 0x00000020 -#define MB_ICONEXCLAMATION 0x00000030 -#define MB_ICONASTERISK 0x00000040 -#define MB_USERICON 0x00000080 -#define MB_ICONMASK 0x000000F0 - -#define MB_ICONINFORMATION MB_ICONASTERISK -#define MB_ICONSTOP MB_ICONHAND -#define MB_ICONWARNING MB_ICONEXCLAMATION -#define MB_ICONERROR MB_ICONHAND - -#define MB_DEFBUTTON1 0x00000000 -#define MB_DEFBUTTON2 0x00000100 -#define MB_DEFBUTTON3 0x00000200 -#define MB_DEFBUTTON4 0x00000300 -#define MB_DEFMASK 0x00000F00 - -#define MB_APPLMODAL 0x00000000 -#define MB_SYSTEMMODAL 0x00001000 -#define MB_TASKMODAL 0x00002000 -#define MB_MODEMASK 0x00003000 - -#define MB_HELP 0x00004000 -#define MB_NOFOCUS 0x00008000 -#define MB_MISCMASK 0x0000C000 - -#define MB_SETFOREGROUND 0x00010000 -#define MB_DEFAULT_DESKTOP_ONLY 0x00020000 -#define MB_SERVICE_NOTIFICATION 0x00040000 -#define MB_TOPMOST 0x00040000 -#define MB_RIGHT 0x00080000 -#define MB_RTLREADING 0x00100000 - -#define HELPINFO_WINDOW 0x0001 -#define HELPINFO_MENUITEM 0x0002 +#define MB_OK 0x00000000 +#define MB_OKCANCEL 0x00000001 +#define MB_ABORTRETRYIGNORE 0x00000002 +#define MB_YESNOCANCEL 0x00000003 +#define MB_YESNO 0x00000004 +#define MB_RETRYCANCEL 0x00000005 +#define MB_TYPEMASK 0x0000000F + +#define MB_ICONHAND 0x00000010 +#define MB_ICONQUESTION 0x00000020 +#define MB_ICONEXCLAMATION 0x00000030 +#define MB_ICONASTERISK 0x00000040 +#define MB_USERICON 0x00000080 +#define MB_ICONMASK 0x000000F0 + +#define MB_ICONINFORMATION MB_ICONASTERISK +#define MB_ICONSTOP MB_ICONHAND +#define MB_ICONWARNING MB_ICONEXCLAMATION +#define MB_ICONERROR MB_ICONHAND + +#define MB_DEFBUTTON1 0x00000000 +#define MB_DEFBUTTON2 0x00000100 +#define MB_DEFBUTTON3 0x00000200 +#define MB_DEFBUTTON4 0x00000300 +#define MB_DEFMASK 0x00000F00 + +#define MB_APPLMODAL 0x00000000 +#define MB_SYSTEMMODAL 0x00001000 +#define MB_TASKMODAL 0x00002000 +#define MB_MODEMASK 0x00003000 + +#define MB_HELP 0x00004000 +#define MB_NOFOCUS 0x00008000 +#define MB_MISCMASK 0x0000C000 + +#define MB_SETFOREGROUND 0x00010000 +#define MB_DEFAULT_DESKTOP_ONLY 0x00020000 +#define MB_SERVICE_NOTIFICATION 0x00040000 +#define MB_TOPMOST 0x00040000 +#define MB_RIGHT 0x00080000 +#define MB_RTLREADING 0x00100000 + +#define HELPINFO_WINDOW 0x0001 +#define HELPINFO_MENUITEM 0x0002 /* Structure pointed to by lParam of WM_HELP */ -typedef struct +typedef struct { - UINT cbSize; /* Size in bytes of this struct */ - INT iContextType; /* Either HELPINFO_WINDOW or HELPINFO_MENUITEM */ - INT iCtrlId; /* Control Id or a Menu item Id. */ - HANDLE hItemHandle; /* hWnd of control or hMenu. */ - DWORD dwContextId; /* Context Id associated with this item */ - POINT MousePos; /* Mouse Position in screen co-ordinates */ + UINT cbSize; /* Size in bytes of this struct */ + INT iContextType; /* Either HELPINFO_WINDOW or HELPINFO_MENUITEM */ + INT iCtrlId; /* Control Id or a Menu item Id. */ + HANDLE hItemHandle; /* hWnd of control or hMenu. */ + DWORD dwContextId; /* Context Id associated with this item */ + POINT MousePos; /* Mouse Position in screen co-ordinates */ } HELPINFO,*LPHELPINFO; typedef void CALLBACK (*MSGBOXCALLBACK)(LPHELPINFO lpHelpInfo); typedef struct { - UINT cbSize; - HWND hwndOwner; - HINSTANCE hInstance; - LPCSTR lpszText; - LPCSTR lpszCaption; - DWORD dwStyle; - LPCSTR lpszIcon; - DWORD dwContextHelpId; - MSGBOXCALLBACK lpfnMsgBoxCallback; - DWORD dwLanguageId; + UINT cbSize; + HWND hwndOwner; + HINSTANCE hInstance; + LPCSTR lpszText; + LPCSTR lpszCaption; + DWORD dwStyle; + LPCSTR lpszIcon; + DWORD dwContextHelpId; + MSGBOXCALLBACK lpfnMsgBoxCallback; + DWORD dwLanguageId; } MSGBOXPARAMSA,*LPMSGBOXPARAMSA; typedef struct { - UINT cbSize; - HWND hwndOwner; - HINSTANCE hInstance; - LPCWSTR lpszText; - LPCWSTR lpszCaption; - DWORD dwStyle; - LPCWSTR lpszIcon; - DWORD dwContextHelpId; - MSGBOXCALLBACK lpfnMsgBoxCallback; - DWORD dwLanguageId; + UINT cbSize; + HWND hwndOwner; + HINSTANCE hInstance; + LPCWSTR lpszText; + LPCWSTR lpszCaption; + DWORD dwStyle; + LPCWSTR lpszIcon; + DWORD dwContextHelpId; + MSGBOXCALLBACK lpfnMsgBoxCallback; + DWORD dwLanguageId; } MSGBOXPARAMSW,*LPMSGBOXPARAMSW; DECL_WINELIB_TYPE_AW(MSGBOXPARAMS) @@ -1843,28 +1843,28 @@ typedef struct _numberfmt32w { } NUMBERFMTW; typedef struct _currencyfmt32a -{ - UINT NumDigits; - UINT LeadingZero; - UINT Grouping; - LPCSTR lpDecimalSep; - LPCSTR lpThousandSep; - UINT NegativeOrder; - UINT PositiveOrder; - LPCSTR lpCurrencySymbol; -} CURRENCYFMTA; +{ + UINT NumDigits; + UINT LeadingZero; + UINT Grouping; + LPCSTR lpDecimalSep; + LPCSTR lpThousandSep; + UINT NegativeOrder; + UINT PositiveOrder; + LPCSTR lpCurrencySymbol; +} CURRENCYFMTA; typedef struct _currencyfmt32w -{ - UINT NumDigits; - UINT LeadingZero; - UINT Grouping; - LPCWSTR lpDecimalSep; - LPCWSTR lpThousandSep; - UINT NegativeOrder; - UINT PositiveOrder; - LPCWSTR lpCurrencySymbol; -} CURRENCYFMTW; +{ + UINT NumDigits; + UINT LeadingZero; + UINT Grouping; + LPCWSTR lpDecimalSep; + LPCWSTR lpThousandSep; + UINT NegativeOrder; + UINT PositiveOrder; + LPCWSTR lpCurrencySymbol; +} CURRENCYFMTW; #define MONITOR_DEFAULTTONULL 0x00000000 #define MONITOR_DEFAULTTOPRIMARY 0x00000001 @@ -1923,16 +1923,16 @@ typedef const DLGITEMTEMPLATE *LPCDLGITEMTEMPLATEW; /* CBT hook values */ -#define HCBT_MOVESIZE 0 -#define HCBT_MINMAX 1 -#define HCBT_QS 2 -#define HCBT_CREATEWND 3 -#define HCBT_DESTROYWND 4 -#define HCBT_ACTIVATE 5 +#define HCBT_MOVESIZE 0 +#define HCBT_MINMAX 1 +#define HCBT_QS 2 +#define HCBT_CREATEWND 3 +#define HCBT_DESTROYWND 4 +#define HCBT_ACTIVATE 5 #define HCBT_CLICKSKIPPED 6 #define HCBT_KEYSKIPPED 7 -#define HCBT_SYSCOMMAND 8 -#define HCBT_SETFOCUS 9 +#define HCBT_SYSCOMMAND 8 +#define HCBT_SETFOCUS 9 /* CBT hook structures */ @@ -1959,14 +1959,14 @@ typedef struct /* modifiers for RegisterHotKey */ -#define MOD_ALT 0x0001 -#define MOD_CONTROL 0x0002 -#define MOD_SHIFT 0x0004 -#define MOD_WIN 0x0008 +#define MOD_ALT 0x0001 +#define MOD_CONTROL 0x0002 +#define MOD_SHIFT 0x0004 +#define MOD_WIN 0x0008 /* ids for RegisterHotKey */ -#define IDHOT_SNAPWINDOW (-1) /* SHIFT-PRINTSCRN */ -#define IDHOT_SNAPDESKTOP (-2) /* PRINTSCRN */ +#define IDHOT_SNAPWINDOW (-1) /* SHIFT-PRINTSCRN */ +#define IDHOT_SNAPDESKTOP (-2) /* PRINTSCRN */ /* keybd_event flags */ #define KEYEVENTF_EXTENDEDKEY 0x0001 @@ -1997,9 +1997,9 @@ typedef struct #define EWX_POWEROFF 8 /* SetLastErrorEx types */ -#define SLE_ERROR 0x00000001 -#define SLE_MINORERROR 0x00000002 -#define SLE_WARNING 0x00000003 +#define SLE_ERROR 0x00000001 +#define SLE_MINORERROR 0x00000002 +#define SLE_WARNING 0x00000003 /* Predefined resources */ #define IDI_APPLICATIONA MAKEINTRESOURCEA(32512) @@ -2070,7 +2070,7 @@ typedef struct #define MNC_IGNORE 0 #define MNC_CLOSE 1 #define MNC_EXECUTE 2 -#define MNC_SELECT 3 +#define MNC_SELECT 3 /* SystemParametersInfo */ /* defines below are for all win versions */ @@ -2108,7 +2108,7 @@ typedef struct #define SPI_GETFASTTASKSWITCH 35 #define SPI_SETFASTTASKSWITCH 36 #define SPI_SETDRAGFULLWINDOWS 37 -#define SPI_GETDRAGFULLWINDOWS 38 +#define SPI_GETDRAGFULLWINDOWS 38 #define SPI_GETFILTERKEYS 50 #define SPI_SETFILTERKEYS 51 @@ -2281,7 +2281,7 @@ typedef struct #define WS_EX_PALETTEWINDOW (WS_EX_WINDOWEDGE|WS_EX_TOOLWINDOW|WS_EX_TOPMOST) /* WINE internal... */ -#define WS_EX_TRAYWINDOW 0x80000000L +#define WS_EX_TRAYWINDOW 0x80000000L /* Window scrolling */ #define SW_SCROLLCHILDREN 0x0001 @@ -2298,9 +2298,9 @@ typedef struct #define CWP_SKIPTRANSPARENT 0x0004 /* PeekMessage() options */ -#define PM_NOREMOVE 0x0000 -#define PM_REMOVE 0x0001 -#define PM_NOYIELD 0x0002 +#define PM_NOREMOVE 0x0000 +#define PM_REMOVE 0x0001 +#define PM_NOYIELD 0x0002 /* WM_SHOWWINDOW wParam codes */ #define SW_PARENTCLOSING 1 @@ -2321,9 +2321,9 @@ typedef struct #define SW_SHOWMINNOACTIVE 7 #define SW_SHOWNA 8 #define SW_RESTORE 9 -#define SW_SHOWDEFAULT 10 -#define SW_MAX 10 -#define SW_NORMALNA 0xCC /* undoc. flag in MinMaximize */ +#define SW_SHOWDEFAULT 10 +#define SW_MAX 10 +#define SW_NORMALNA 0xCC /* undoc. flag in MinMaximize */ /* WM_SIZE message wParam values */ #define SIZE_RESTORED 0 @@ -2443,11 +2443,11 @@ typedef struct #define DT_INTERNAL 4096 /* DrawCaption()/DrawCaptionTemp() flags */ -#define DC_ACTIVE 0x0001 -#define DC_SMALLCAP 0x0002 -#define DC_ICON 0x0004 -#define DC_TEXT 0x0008 -#define DC_INBUTTON 0x0010 +#define DC_ACTIVE 0x0001 +#define DC_SMALLCAP 0x0002 +#define DC_ICON 0x0004 +#define DC_TEXT 0x0008 +#define DC_INBUTTON 0x0010 /* DrawEdge() flags */ #define BDR_RAISEDOUTER 0x0001 @@ -2499,7 +2499,7 @@ typedef struct #define DFCS_CAPTIONMIN 0x0001 #define DFCS_CAPTIONMAX 0x0002 #define DFCS_CAPTIONRESTORE 0x0003 -#define DFCS_CAPTIONHELP 0x0004 /* Windows 95 only */ +#define DFCS_CAPTIONHELP 0x0004 /* Windows 95 only */ #define DFCS_MENUARROW 0x0000 #define DFCS_MENUCHECK 0x0001 @@ -2516,7 +2516,7 @@ typedef struct #define DFCS_BUTTONCHECK 0x0000 #define DFCS_BUTTONRADIOIMAGE 0x0001 -#define DFCS_BUTTONRADIOMASK 0x0002 /* to draw nonsquare button */ +#define DFCS_BUTTONRADIOMASK 0x0002 /* to draw nonsquare button */ #define DFCS_BUTTONRADIO 0x0004 #define DFCS_BUTTON3STATE 0x0008 #define DFCS_BUTTONPUSH 0x0010 @@ -2526,24 +2526,24 @@ typedef struct #define DFCS_INACTIVE 0x0100 #define DFCS_PUSHED 0x0200 #define DFCS_CHECKED 0x0400 -#define DFCS_ADJUSTRECT 0x2000 /* exclude surrounding edge */ +#define DFCS_ADJUSTRECT 0x2000 /* exclude surrounding edge */ #define DFCS_FLAT 0x4000 #define DFCS_MONO 0x8000 /* Image type */ -#define DST_COMPLEX 0x0000 -#define DST_TEXT 0x0001 -#define DST_PREFIXTEXT 0x0002 -#define DST_ICON 0x0003 -#define DST_BITMAP 0x0004 +#define DST_COMPLEX 0x0000 +#define DST_TEXT 0x0001 +#define DST_PREFIXTEXT 0x0002 +#define DST_ICON 0x0003 +#define DST_BITMAP 0x0004 /* State type */ -#define DSS_NORMAL 0x0000 -#define DSS_UNION 0x0010 /* Gray string appearance */ -#define DSS_DISABLED 0x0020 -#define DSS_DEFAULT 0x0040 /* Make it bold */ -#define DSS_MONO 0x0080 -#define DSS_RIGHT 0x8000 +#define DSS_NORMAL 0x0000 +#define DSS_UNION 0x0010 /* Gray string appearance */ +#define DSS_DISABLED 0x0020 +#define DSS_DEFAULT 0x0040 /* Make it bold */ +#define DSS_MONO 0x0080 +#define DSS_RIGHT 0x8000 typedef struct { @@ -2764,38 +2764,38 @@ typedef struct #define VK_NONAME 0xFC #define VK_PA1 0xFD #define VK_OEM_CLEAR 0xFE - + /* Key status flags for mouse events */ -#define MK_LBUTTON 0x0001 -#define MK_RBUTTON 0x0002 -#define MK_SHIFT 0x0004 -#define MK_CONTROL 0x0008 -#define MK_MBUTTON 0x0010 +#define MK_LBUTTON 0x0001 +#define MK_RBUTTON 0x0002 +#define MK_SHIFT 0x0004 +#define MK_CONTROL 0x0008 +#define MK_MBUTTON 0x0010 /* Queue status flags */ -#define QS_KEY 0x0001 -#define QS_MOUSEMOVE 0x0002 -#define QS_MOUSEBUTTON 0x0004 -#define QS_MOUSE (QS_MOUSEMOVE | QS_MOUSEBUTTON) -#define QS_POSTMESSAGE 0x0008 -#define QS_TIMER 0x0010 -#define QS_PAINT 0x0020 -#define QS_SENDMESSAGE 0x0040 -#define QS_HOTKEY 0x0080 -#define QS_INPUT (QS_MOUSE | QS_KEY) -#define QS_ALLEVENTS (QS_INPUT | QS_POSTMESSAGE | QS_TIMER | QS_PAINT | QS_HOTKEY) +#define QS_KEY 0x0001 +#define QS_MOUSEMOVE 0x0002 +#define QS_MOUSEBUTTON 0x0004 +#define QS_MOUSE (QS_MOUSEMOVE | QS_MOUSEBUTTON) +#define QS_POSTMESSAGE 0x0008 +#define QS_TIMER 0x0010 +#define QS_PAINT 0x0020 +#define QS_SENDMESSAGE 0x0040 +#define QS_HOTKEY 0x0080 +#define QS_INPUT (QS_MOUSE | QS_KEY) +#define QS_ALLEVENTS (QS_INPUT | QS_POSTMESSAGE | QS_TIMER | QS_PAINT | QS_HOTKEY) #define QS_ALLINPUT (QS_ALLEVENTS | QS_SENDMESSAGE) -#define DDL_READWRITE 0x0000 -#define DDL_READONLY 0x0001 -#define DDL_HIDDEN 0x0002 -#define DDL_SYSTEM 0x0004 -#define DDL_DIRECTORY 0x0010 -#define DDL_ARCHIVE 0x0020 +#define DDL_READWRITE 0x0000 +#define DDL_READONLY 0x0001 +#define DDL_HIDDEN 0x0002 +#define DDL_SYSTEM 0x0004 +#define DDL_DIRECTORY 0x0010 +#define DDL_ARCHIVE 0x0020 -#define DDL_POSTMSGS 0x2000 -#define DDL_DRIVES 0x4000 -#define DDL_EXCLUSIVE 0x8000 +#define DDL_POSTMSGS 0x2000 +#define DDL_DRIVES 0x4000 +#define DDL_EXCLUSIVE 0x8000 /* Shell hook values */ #define HSHELL_WINDOWCREATED 1 @@ -2847,35 +2847,35 @@ typedef struct LONG l WINE_PACKED; } DRAGINFO, *LPDRAGINFO; -#define DRAGOBJ_PROGRAM 0x0001 -#define DRAGOBJ_DATA 0x0002 -#define DRAGOBJ_DIRECTORY 0x0004 -#define DRAGOBJ_MULTIPLE 0x0008 -#define DRAGOBJ_EXTERNAL 0x8000 +#define DRAGOBJ_PROGRAM 0x0001 +#define DRAGOBJ_DATA 0x0002 +#define DRAGOBJ_DIRECTORY 0x0004 +#define DRAGOBJ_MULTIPLE 0x0008 +#define DRAGOBJ_EXTERNAL 0x8000 -#define DRAG_PRINT 0x544E5250 -#define DRAG_FILE 0x454C4946 +#define DRAG_PRINT 0x544E5250 +#define DRAG_FILE 0x454C4946 /* types of LoadImage */ -#define IMAGE_BITMAP 0 -#define IMAGE_ICON 1 -#define IMAGE_CURSOR 2 -#define IMAGE_ENHMETAFILE 3 +#define IMAGE_BITMAP 0 +#define IMAGE_ICON 1 +#define IMAGE_CURSOR 2 +#define IMAGE_ENHMETAFILE 3 /* loadflags to LoadImage */ -#define LR_DEFAULTCOLOR 0x0000 -#define LR_MONOCHROME 0x0001 -#define LR_COLOR 0x0002 -#define LR_COPYRETURNORG 0x0004 -#define LR_COPYDELETEORG 0x0008 -#define LR_LOADFROMFILE 0x0010 -#define LR_LOADTRANSPARENT 0x0020 -#define LR_DEFAULTSIZE 0x0040 -#define LR_VGA_COLOR 0x0080 -#define LR_LOADMAP3DCOLORS 0x1000 -#define LR_CREATEDIBSECTION 0x2000 -#define LR_COPYFROMRESOURCE 0x4000 -#define LR_SHARED 0x8000 +#define LR_DEFAULTCOLOR 0x0000 +#define LR_MONOCHROME 0x0001 +#define LR_COLOR 0x0002 +#define LR_COPYRETURNORG 0x0004 +#define LR_COPYDELETEORG 0x0008 +#define LR_LOADFROMFILE 0x0010 +#define LR_LOADTRANSPARENT 0x0020 +#define LR_DEFAULTSIZE 0x0040 +#define LR_VGA_COLOR 0x0080 +#define LR_LOADMAP3DCOLORS 0x1000 +#define LR_CREATEDIBSECTION 0x2000 +#define LR_COPYFROMRESOURCE 0x4000 +#define LR_SHARED 0x8000 /* Flags for DrawIconEx. */ #define DI_MASK 1 @@ -2889,10 +2889,10 @@ typedef struct #define WM_CPL_LAUNCHED (WM_USER + 1001) /* WM_NOTIFYFORMAT commands and return values */ -#define NFR_ANSI 1 -#define NFR_UNICODE 2 -#define NF_QUERY 3 -#define NF_REQUERY 4 +#define NFR_ANSI 1 +#define NFR_UNICODE 2 +#define NF_QUERY 3 +#define NF_REQUERY 4 #include "poppack.h" #define EnumTaskWindows(handle,proc,lparam) \ diff --git a/libs/loader/wineacm.h b/libs/loader/wineacm.h index c41f0b8a48..959cb3d76f 100644 --- a/libs/loader/wineacm.h +++ b/libs/loader/wineacm.h @@ -19,36 +19,36 @@ typedef struct _WINE_ACMDRIVER *PWINE_ACMDRIVER; typedef struct _WINE_ACMOBJ { - PWINE_ACMDRIVERID pACMDriverID; + PWINE_ACMDRIVERID pACMDriverID; } WINE_ACMOBJ, *PWINE_ACMOBJ; typedef struct _WINE_ACMDRIVER { - WINE_ACMOBJ obj; - HDRVR hDrvr; - DRIVERPROC pfnDriverProc; - PWINE_ACMDRIVER pNextACMDriver; + WINE_ACMOBJ obj; + HDRVR hDrvr; + DRIVERPROC pfnDriverProc; + PWINE_ACMDRIVER pNextACMDriver; int iUsage; } WINE_ACMDRIVER; typedef struct _WINE_ACMSTREAM { - WINE_ACMOBJ obj; - PWINE_ACMDRIVER pDrv; + WINE_ACMOBJ obj; + PWINE_ACMDRIVER pDrv; ACMDRVSTREAMINSTANCE drvInst; - HACMDRIVER hAcmDriver; + HACMDRIVER hAcmDriver; } WINE_ACMSTREAM, *PWINE_ACMSTREAM; typedef struct _WINE_ACMDRIVERID { LPSTR pszFileName; - WORD wFormatTag; - HINSTANCE hInstModule; /* NULL if global */ - DWORD dwProcessID; /* ID of process which installed a local driver */ + WORD wFormatTag; + HINSTANCE hInstModule; /* NULL if global */ + DWORD dwProcessID; /* ID of process which installed a local driver */ WIN_BOOL bEnabled; PWINE_ACMDRIVER pACMDriverList; PWINE_ACMDRIVERID pNextACMDriverID; - PWINE_ACMDRIVERID pPrevACMDriverID; + PWINE_ACMDRIVERID pPrevACMDriverID; } WINE_ACMDRIVERID; /* From internal.c */ @@ -57,8 +57,8 @@ extern PWINE_ACMDRIVERID MSACM_pFirstACMDriverID; extern PWINE_ACMDRIVERID MSACM_pLastACMDriverID; PWINE_ACMDRIVERID MSACM_RegisterDriver(const char* pszFileName, - WORD wFormatTag, - HINSTANCE hinstModule); + WORD wFormatTag, + HINSTANCE hinstModule); PWINE_ACMDRIVERID MSACM_UnregisterDriver(PWINE_ACMDRIVERID p); void MSACM_UnregisterAllDrivers(void); PWINE_ACMDRIVERID MSACM_GetDriverID(HACMDRIVERID hDriverID);