VirtualBox

Changeset 18645 in vbox for trunk/include/VBox


Ignore:
Timestamp:
Apr 2, 2009 3:38:31 PM (16 years ago)
Author:
vboxsync
Message:

VMSetRuntimeError[V] refactoring: fFatal -> fFlags, may return informational status codes.

Location:
trunk/include/VBox
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/VBox/pdmdev.h

    r18143 r18645  
    21132113     * @returns VBox status code.
    21142114     * @param   pDevIns             Device instance.
    2115      * @param   fFatal              Whether it is a fatal error or not.
    2116      * @param   pszErrorID          Error ID string.
     2115     * @param   fFlags              The action flags. See VMSETRTERR_FLAGS_*.
     2116     * @param   pszErrorId          Error ID string.
    21172117     * @param   pszFormat           Error message format string.
    21182118     * @param   ...                 Error message arguments.
    21192119     */
    2120     DECLR3CALLBACKMEMBER(int, pfnVMSetRuntimeError,(PPDMDEVINS pDevIns, bool fFatal, const char *pszErrorID, const char *pszFormat, ...));
     2120    DECLR3CALLBACKMEMBER(int, pfnVMSetRuntimeError,(PPDMDEVINS pDevIns, uint32_t fFlags, const char *pszErrorId, const char *pszFormat, ...));
    21212121
    21222122    /**
     
    21252125     * @returns VBox status code.
    21262126     * @param   pDevIns             Device instance.
    2127      * @param   fFatal              Whether it is a fatal error or not.
    2128      * @param   pszErrorID          Error ID string.
     2127     * @param   fFlags              The action flags. See VMSETRTERR_FLAGS_*.
     2128     * @param   pszErrorId          Error ID string.
    21292129     * @param   pszFormat           Error message format string.
    21302130     * @param   va                  Error message arguments.
    21312131     */
    2132     DECLR3CALLBACKMEMBER(int, pfnVMSetRuntimeErrorV,(PPDMDEVINS pDevIns, bool fFatal, const char *pszErrorID, const char *pszFormat, va_list va));
     2132    DECLR3CALLBACKMEMBER(int, pfnVMSetRuntimeErrorV,(PPDMDEVINS pDevIns, uint32_t fFlags, const char *pszErrorId, const char *pszFormat, va_list va));
    21332133
    21342134    /**
     
    29502950     * @returns VBox status code.
    29512951     * @param   pDevIns         Device instance.
    2952      * @param   fFatal          Whether it is a fatal error or not.
    2953      * @param   pszErrorID      Error ID string.
     2952     * @param   fFlags          The action flags. See VMSETRTERR_FLAGS_*.
     2953     * @param   pszErrorId      Error ID string.
    29542954     * @param   pszFormat       Error message format string.
    29552955     * @param   ...             Error message arguments.
    29562956     */
    2957     DECLRCCALLBACKMEMBER(int, pfnVMSetRuntimeError,(PPDMDEVINS pDevIns, bool fFatal, const char *pszErrorID, const char *pszFormat, ...));
     2957    DECLRCCALLBACKMEMBER(int, pfnVMSetRuntimeError,(PPDMDEVINS pDevIns, uint32_t fFlags, const char *pszErrorId, const char *pszFormat, ...));
    29582958
    29592959    /**
     
    29622962     * @returns VBox status code.
    29632963     * @param   pDevIns         Device instance.
    2964      * @param   fFatal          Whether it is a fatal error or not.
    2965      * @param   pszErrorID      Error ID string.
     2964     * @param   fFlags          The action flags. See VMSETRTERR_FLAGS_*.
     2965     * @param   pszErrorId      Error ID string.
    29662966     * @param   pszFormat       Error message format string.
    29672967     * @param   va              Error message arguments.
    29682968     */
    2969     DECLRCCALLBACKMEMBER(int, pfnVMSetRuntimeErrorV,(PPDMDEVINS pDevIns, bool fFatal, const char *pszErrorID, const char *pszFormat, va_list va));
     2969    DECLRCCALLBACKMEMBER(int, pfnVMSetRuntimeErrorV,(PPDMDEVINS pDevIns, uint32_t fFlags, const char *pszErrorId, const char *pszFormat, va_list va));
    29702970
    29712971    /**
     
    30883088     * @returns VBox status code.
    30893089     * @param   pDevIns         Device instance.
    3090      * @param   fFatal          Whether it is a fatal error or not.
    3091      * @param   pszErrorID      Error ID string.
     3090     * @param   fFlags          The action flags. See VMSETRTERR_FLAGS_*.
     3091     * @param   pszErrorId      Error ID string.
    30923092     * @param   pszFormat       Error message format string.
    30933093     * @param   ...             Error message arguments.
    30943094     */
    3095     DECLR0CALLBACKMEMBER(int, pfnVMSetRuntimeError,(PPDMDEVINS pDevIns, bool fFatal, const char *pszErrorID, const char *pszFormat, ...));
     3095    DECLR0CALLBACKMEMBER(int, pfnVMSetRuntimeError,(PPDMDEVINS pDevIns, uint32_t fFlags, const char *pszErrorId, const char *pszFormat, ...));
    30963096
    30973097    /**
     
    31003100     * @returns VBox status code.
    31013101     * @param   pDevIns         Device instance.
    3102      * @param   fFatal          Whether it is a fatal error or not.
    3103      * @param   pszErrorID      Error ID string.
     3102     * @param   fFlags          The action flags. See VMSETRTERR_FLAGS_*.
     3103     * @param   pszErrorId      Error ID string.
    31043104     * @param   pszFormat       Error message format string.
    31053105     * @param   va              Error message arguments.
    31063106     */
    3107     DECLR0CALLBACKMEMBER(int, pfnVMSetRuntimeErrorV,(PPDMDEVINS pDevIns, bool fFatal, const char *pszErrorID, const char *pszFormat, va_list va));
     3107    DECLR0CALLBACKMEMBER(int, pfnVMSetRuntimeErrorV,(PPDMDEVINS pDevIns, uint32_t fFlags, const char *pszErrorId, const char *pszFormat, va_list va));
    31083108
    31093109    /**
     
    32413241 * Set the VM runtime error. See PDMDevHlpVMSetRuntimeError() for printf like message formatting.
    32423242 */
    3243 #define PDMDEV_SET_RUNTIME_ERROR(pDevIns, fFatal, pszErrorID, pszError) \
    3244     PDMDevHlpVMSetRuntimeError(pDevIns, fFatal, pszErrorID, "%s", pszError)
     3243#define PDMDEV_SET_RUNTIME_ERROR(pDevIns, fFlags, pszErrorId, pszError) \
     3244    PDMDevHlpVMSetRuntimeError(pDevIns, fFlags, pszErrorId, "%s", pszError)
    32453245
    32463246/** @def PDMDEVINS_2_RCPTR
     
    38273827 * @copydoc PDMDEVHLPR3::pfnVMSetRuntimeError
    38283828 */
    3829 DECLINLINE(int) PDMDevHlpVMSetRuntimeError(PPDMDEVINS pDevIns, bool fFatal, const char *pszErrorID, const char *pszFormat, ...)
     3829DECLINLINE(int) PDMDevHlpVMSetRuntimeError(PPDMDEVINS pDevIns, uint32_t fFlags, const char *pszErrorId, const char *pszFormat, ...)
    38303830{
    38313831    va_list va;
    38323832    int rc;
    38333833    va_start(va, pszFormat);
    3834     rc = pDevIns->CTX_SUFF(pDevHlp)->pfnVMSetRuntimeErrorV(pDevIns, fFatal, pszErrorID, pszFormat, va);
     3834    rc = pDevIns->CTX_SUFF(pDevHlp)->pfnVMSetRuntimeErrorV(pDevIns, fFlags, pszErrorId, pszFormat, va);
    38353835    va_end(va);
    38363836    return rc;
  • trunk/include/VBox/pdmdrv.h

    r15940 r18645  
    453453     * @returns VBox status code.
    454454     * @param   pDrvIns         Driver instance.
    455      * @param   fFatal          Whether it is a fatal error or not.
    456      * @param   pszErrorID      Error ID string.
     455     * @param   fFlags          The action flags. See VMSETRTERR_FLAGS_*.
     456     * @param   pszErrorId      Error ID string.
    457457     * @param   pszFormat       Error message format string.
    458458     * @param   ...             Error message arguments.
    459459     */
    460     DECLR3CALLBACKMEMBER(int, pfnVMSetRuntimeError,(PPDMDRVINS pDrvIns, bool fFatal, const char *pszErrorID, const char *pszFormat, ...));
     460    DECLR3CALLBACKMEMBER(int, pfnVMSetRuntimeError,(PPDMDRVINS pDrvIns, uint32_t fFlags, const char *pszErrorId, const char *pszFormat, ...));
    461461
    462462    /**
     
    465465     * @returns VBox status code.
    466466     * @param   pDrvIns         Driver instance.
    467      * @param   fFatal          Whether it is a fatal error or not.
    468      * @param   pszErrorID      Error ID string.
     467     * @param   fFlags          The action flags. See VMSETRTERR_FLAGS_*.
     468     * @param   pszErrorId      Error ID string.
    469469     * @param   pszFormat       Error message format string.
    470470     * @param   va              Error message arguments.
    471471     */
    472     DECLR3CALLBACKMEMBER(int, pfnVMSetRuntimeErrorV,(PPDMDRVINS pDrvIns, bool fFatal, const char *pszErrorID, const char *pszFormat, va_list va));
     472    DECLR3CALLBACKMEMBER(int, pfnVMSetRuntimeErrorV,(PPDMDRVINS pDrvIns, uint32_t fFlags, const char *pszErrorId, const char *pszFormat, va_list va));
    473473
    474474    /**
     
    769769 * @copydoc PDMDRVHLP::pfnVMSetRuntimeError
    770770 */
    771 DECLINLINE(int) PDMDrvHlpVMSetRuntimeError(PPDMDRVINS pDrvIns, bool fFatal, const char *pszErrorID, const char *pszFormat, ...)
     771DECLINLINE(int) PDMDrvHlpVMSetRuntimeError(PPDMDRVINS pDrvIns, uint32_t fFlags, const char *pszErrorId, const char *pszFormat, ...)
    772772{
    773773    va_list va;
    774774    int rc;
    775775    va_start(va, pszFormat);
    776     rc = pDrvIns->pDrvHlp->pfnVMSetRuntimeErrorV(pDrvIns, fFatal, pszErrorID, pszFormat, va);
     776    rc = pDrvIns->pDrvHlp->pfnVMSetRuntimeErrorV(pDrvIns, fFlags, pszErrorId, pszFormat, va);
    777777    va_end(va);
    778778    return rc;
     
    782782 * Set the VM runtime error. See PDMDrvHlpVMSetRuntimeError() for printf like message formatting.
    783783 */
    784 #define PDMDRV_SET_RUNTIME_ERROR(pDrvIns, fFatal, pszErrorID, pszError)  \
    785     PDMDrvHlpVMSetRuntimeError(pDrvIns, fFatal, pszErrorID, "%s", pszError)
     784#define PDMDRV_SET_RUNTIME_ERROR(pDrvIns, fFlags, pszErrorId, pszError)  \
     785    PDMDrvHlpVMSetRuntimeError(pDrvIns, fFlags, pszErrorId, "%s", pszError)
    786786
    787787#endif /* IN_RING3 */
  • trunk/include/VBox/pdmusb.h

    r13005 r18645  
    555555     * @returns VBox status code.
    556556     * @param   pUsbIns             The USB device instance.
    557      * @param   fFatal              Whether it is a fatal error or not.
    558      * @param   pszErrorID          Error ID string.
     557     * @param   fFlags              The action flags. See VMSETRTERR_FLAGS_*.
     558     * @param   pszErrorId          Error ID string.
    559559     * @param   pszFormat           Error message format string.
    560560     * @param   va                  Error message arguments.
    561561     */
    562     DECLR3CALLBACKMEMBER(int, pfnVMSetRuntimeErrorV,(PPDMUSBINS pUsbIns, bool fFatal, const char *pszErrorID, const char *pszFormat, va_list va));
     562    DECLR3CALLBACKMEMBER(int, pfnVMSetRuntimeErrorV,(PPDMUSBINS pUsbIns, uint32_t fFlags, const char *pszErrorId, const char *pszFormat, va_list va));
    563563
    564564    /**
     
    660660
    661661/** @def PDMUSB_SET_ERROR
    662  * Set the VM error. See PDMDevHlpVMSetError() for printf like message formatting.
     662 * Set the VM error. See PDMUsbHlpVMSetError() for printf like message
     663 * formatting.
    663664 */
    664665#define PDMUSB_SET_ERROR(pUsbIns, rc, pszError) \
    665     PDMDevHlpVMSetError(pUsbIns, rc, RT_SRC_POS, "%s", pszError)
     666    PDMUsbHlpVMSetError(pUsbIns, rc, RT_SRC_POS, "%s", pszError)
    666667
    667668/** @def PDMUSB_SET_RUNTIME_ERROR
    668  * Set the VM runtime error. See PDMDevHlpVMSetRuntimeError() for printf like message formatting.
    669  */
    670 #define PDMUSB_SET_RUNTIME_ERROR(pUsbIns, fFatal, pszErrorID, pszError) \
    671     PDMDevHlpVMSetRuntimeError(pUsbIns, fFatal, pszErrorID, "%s", pszError)
     669 * Set the VM runtime error. See PDMUsbHlpVMSetRuntimeError() for printf like
     670 * message formatting.
     671 */
     672#define PDMUSB_SET_RUNTIME_ERROR(pUsbIns, fFlags, pszErrorId, pszError) \
     673    PDMUsbHlpVMSetRuntimeError(pUsbIns, fFlags, pszErrorId, "%s", pszError)
    672674
    673675
  • trunk/include/VBox/vmapi.h

    r15317 r18645  
    131131/**
    132132 * VM runtime error callback function.
     133 *
    133134 * See VMSetRuntimeError for the detailed description of parameters.
    134135 *
    135136 * @param   pVM             The VM handle.
    136137 * @param   pvUser          The user argument.
    137  * @param   fFatal          Whether it is a fatal error or not.
    138  * @param   pszErrorID      Error ID string.
     138 * @param   fFlags          The error flags.
     139 * @param   pszErrorId      Error ID string.
    139140 * @param   pszFormat       Error message format string.
    140  * @param   args            Error message arguments.
    141  */
    142 typedef DECLCALLBACK(void) FNVMATRUNTIMEERROR(PVM pVM, void *pvUser, bool fFatal,
    143                                               const char *pszErrorID,
    144                                               const char *pszFormat, va_list args);
     141 * @param   va              Error message arguments.
     142 */
     143typedef DECLCALLBACK(void) FNVMATRUNTIMEERROR(PVM pVM, void *pvUser, uint32_t fFlags, const char *pszErrorId,
     144                                              const char *pszFormat, va_list va);
    145145/** Pointer to a VM runtime error callback. */
    146146typedef FNVMATRUNTIMEERROR *PFNVMATRUNTIMEERROR;
    147147
    148 VMMDECL(int) VMSetRuntimeError(PVM pVM, bool fFatal, const char *pszErrorID, const char *pszFormat, ...);
    149 VMMDECL(int) VMSetRuntimeErrorV(PVM pVM, bool fFatal, const char *pszErrorID, const char *pszFormat, va_list args);
     148VMMDECL(int) VMSetRuntimeError(PVM pVM, uint32_t fFlags, const char *pszErrorId, const char *pszFormat, ...);
     149VMMDECL(int) VMSetRuntimeErrorV(PVM pVM, uint32_t fFlags, const char *pszErrorId, const char *pszFormat, va_list args);
     150
     151/** @name VMSetRuntimeError fFlags
     152 * When no flags are given the VM will continue running and it's up to the front
     153 * end to take action on the error condition.
     154 *
     155 * @{ */
     156/** The error is fatal.
     157 * The VM is not in a state where it can be saved and will enter a state
     158 * where it can no longer execute code. The caller must propagate status
     159 * codes. */
     160#define VMSETRTERR_FLAGS_FATAL      RT_BIT_32(0)
     161/** Suspend the VM after, or if possible before, raising the error on EMT. The
     162 * caller must propagate status codes. */
     163#define VMSETRTERR_FLAGS_SUSPEND    RT_BIT_32(1)
     164/** Don't wait for the EMT to handle the request.
     165 * Only valid when on a worker thread and there is a high risk of a dead
     166 * lock. Be careful not to flood the user with errors. */
     167#define VMSETRTERR_FLAGS_NO_WAIT    RT_BIT_32(2)
     168/** @} */
    150169
    151170
     
    398417VMMR3DECL(int)  VMR3AtRuntimeErrorRegister(PVM pVM, PFNVMATRUNTIMEERROR pfnAtRuntimeError, void *pvUser);
    399418VMMR3DECL(int)  VMR3AtRuntimeErrorDeregister(PVM pVM, PFNVMATRUNTIMEERROR pfnAtRuntimeError, void *pvUser);
    400 VMMR3DECL(void) VMR3SetRuntimeErrorWorker(PVM pVM);
     419VMMR3DECL(int) VMR3SetRuntimeErrorWorker(PVM pVM);
    401420VMMR3DECL(int)  VMR3ReqCall(PVM pVM, VMREQDEST enmDest, PVMREQ *ppReq, unsigned cMillies, PFNRT pfnFunction, unsigned cArgs, ...);
    402421VMMR3DECL(int)  VMR3ReqCallVoidU(PUVM pUVM, VMREQDEST enmDest, PVMREQ *ppReq, unsigned cMillies, PFNRT pfnFunction, unsigned cArgs, ...);
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette