VirtualBox

Changeset 29043 in vbox for trunk


Ignore:
Timestamp:
May 4, 2010 8:29:57 PM (15 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
61089
Message:

Additions: report VMMDevReq_ReportGuestInfo2 in addition to VMMDevReq_ReportGuestInfo

Location:
trunk
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/Config.kmk

    r28989 r29043  
    41204120endif
    41214121
     4122# only needed for VBoxGuest for Linux/FreeBSD guests
     4123$(PATH_OUT)/revision-generated.h: $(VBOX_SVN_REV_KMK)
     4124        $(call MSG_GENERATE,,$@)
     4125        $(QUIET)$(RM) -f $@ [email protected]
     4126        $(QUIET)$(MKDIR) -p $(@D)
     4127        $(QUIET)$(APPEND) [email protected] '#define VBOX_SVN_REV $(VBOX_SVN_REV)'
     4128        $(QUIET)$(MV) -f [email protected] $@
     4129
    41224130#
    41234131# Shared definitions of the XIDL file to use as a source for
  • trunk/include/VBox/VMMDev.h

    r28800 r29043  
    131131    VMMDevReq_GetHypervisorInfo          = 20,
    132132    VMMDevReq_SetHypervisorInfo          = 21,
    133     VMMDevReq_RegisterPatchMemory             = 22,
    134     VMMDevReq_DeregisterPatchMemory           = 23,
     133    VMMDevReq_RegisterPatchMemory        = 22, /* since version 3.0.6 */
     134    VMMDevReq_DeregisterPatchMemory      = 23, /* since version 3.0.6 */
    135135    VMMDevReq_SetPowerStatus             = 30,
    136136    VMMDevReq_AcknowledgeEvents          = 41,
    137137    VMMDevReq_CtlGuestFilterMask         = 42,
    138138    VMMDevReq_ReportGuestInfo            = 50,
     139    VMMDevReq_ReportGuestInfo2           = 58, /* since version 3.2.0 */
    139140    VMMDevReq_GetDisplayChangeRequest    = 51,
    140141    VMMDevReq_VideoModeSupported         = 52,
     
    143144    VMMDevReq_ReportGuestCapabilities    = 55,
    144145    VMMDevReq_SetGuestCapabilities       = 56,
    145     VMMDevReq_VideoModeSupported2        = 57,
     146    VMMDevReq_VideoModeSupported2        = 57, /* since version 3.2.0 */
    146147#ifdef VBOX_WITH_HGCM
    147148    VMMDevReq_HGCMConnect                = 60,
     
    625626    /** Feature mask, currently unused. */
    626627    uint32_t additionsFeatures;
     628    /** some additional information, for example 'Beta 1' or something like that */
     629    char     szName[128];
    627630} VBoxGuestInfo2;
    628631
     
    640643    VBoxGuestInfo2 guestInfo;
    641644} VMMDevReportGuestInfo2;
    642 AssertCompileSize(VMMDevReportGuestInfo2, 24+16);
     645AssertCompileSize(VMMDevReportGuestInfo2, 24+144);
    643646
    644647
     
    16091612        case VMMDevReq_ReportGuestInfo:
    16101613            return sizeof(VMMDevReportGuestInfo);
     1614        case VMMDevReq_ReportGuestInfo2:
     1615            return sizeof(VMMDevReportGuestInfo2);
    16111616        case VMMDevReq_GetDisplayChangeRequest:
    16121617            return sizeof(VMMDevDisplayChangeRequest);
  • trunk/src/VBox/Additions/common/VBoxGuest/VBoxGuest.cpp

    r28800 r29043  
    3434#ifdef VBOX_WITH_HGCM
    3535# include <iprt/thread.h>
     36#endif
     37#include "version-generated.h"
     38#if defined(RT_OS_LINUX) || defined(RT_OS_FREEBSD)
     39# include "revision-generated.h"
    3640#endif
    3741
     
    273277        VbglGRFree(&pReq->header);
    274278    }
     279    VMMDevReportGuestInfo2 *pReq2;
     280    if (RT_SUCCESS(rc))
     281        rc = VbglGRAlloc((VMMDevRequestHeader **)&pReq2, sizeof(*pReq2), VMMDevReq_ReportGuestInfo2);
     282    if (RT_SUCCESS(rc))
     283    {
     284        pReq2->guestInfo.additionsMajor = VBOX_VERSION_MAJOR;
     285        pReq2->guestInfo.additionsMinor = VBOX_VERSION_MINOR;
     286        pReq2->guestInfo.additionsBuild = VBOX_VERSION_BUILD;
     287        pReq2->guestInfo.additionsRevision = VBOX_SVN_REV;
     288        pReq2->guestInfo.additionsFeatures = 0;
     289        RTStrCopy(pReq2->guestInfo.szName, sizeof(pReq2->guestInfo.szName), VBOX_VERSION_STRING);
     290        rc = VbglGRPerform(&pReq2->header);
     291        if (rc == VERR_NOT_IMPLEMENTED) /* compatibility with older guests */
     292            rc = VINF_SUCCESS;
     293        if (    RT_FAILURE(rc)
     294            ||  RT_FAILURE(pReq2->header.rc))
     295            LogRel(("vboxGuestInitReportGuestInfo2: failed with rc=%Rrc and VMMDev rc=%Rrc\n",
     296                    rc, pReq2->header.rc));
     297        VbglGRFree(&pReq2->header);
     298    }
    275299    return rc;
    276300}
  • trunk/src/VBox/Additions/common/VBoxGuest/freebsd/files_vboxguest

    r27149 r29043  
    175175    ${PATH_ROOT}/src/VBox/Runtime/VBox/logbackdoor.cpp=>VBox/logbackdoor.c \
    176176    ${PATH_OUT}/version-generated.h=>version-generated.h \
     177    ${PATH_OUT}/revision-generated.h=>revision-generated.h \
    177178"
    178179
  • trunk/src/VBox/Additions/common/VBoxGuest/linux/files_vboxguest

    r28800 r29043  
    142142    ${PATH_OUT}/version-generated.h=>version-generated.h \
    143143    ${PATH_OUT}/product-generated.h=>product-generated.h \
     144    ${PATH_OUT}/revision-generated.h=>revision-generated.h \
    144145"
    145146
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