VirtualBox

Changeset 15708 in vbox for trunk


Ignore:
Timestamp:
Dec 19, 2008 6:28:27 PM (16 years ago)
Author:
vboxsync
Message:

Main: #3424: Bumped XML format version to 1.6 and so that the auto-converter will delete old <HostInterface> nodes containing TAPSetup/TAPTerminate attributes. Removed all (obsolete) sections of code in #ifdef VBOX_WITH_UNIXY_TAP_NETWORKING (that uses these attributes); removed the define itself.

Location:
trunk/src/VBox/Main
Files:
16 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Main/ConsoleImpl.cpp

    r15592 r15708  
    3535#   include <stdlib.h>
    3636#   include <string.h>
    37 #elif defined(VBOX_WITH_UNIXY_TAP_NETWORKING)
    38 #   include <sys/wait.h>
    39 #   include <sys/fcntl.h>
    4037#endif
    4138
     
    270267    memset(&mapUSBLed, 0, sizeof(mapUSBLed));
    271268    memset(&mapSharedFolderLed, 0, sizeof(mapSharedFolderLed));
    272 
    273 #ifdef VBOX_WITH_UNIXY_TAP_NETWORKING
    274     Assert(RT_ELEMENTS(maTapFD) == RT_ELEMENTS(maTAPDeviceName));
    275     Assert(RT_ELEMENTS(maTapFD) >= SchemaDefs::NetworkAdapterCount);
    276     for (unsigned i = 0; i < RT_ELEMENTS(maTapFD); i++)
    277     {
    278         maTapFD[i] = NIL_RTFILE;
    279         maTAPDeviceName[i] = "";
    280     }
    281 #endif
    282269
    283270    return S_OK;
  • trunk/src/VBox/Main/ConsoleImpl2.cpp

    r15595 r15708  
    12151215                if (SUCCEEDED(hrc))
    12161216                {
    1217 #ifdef VBOX_WITH_UNIXY_TAP_NETWORKING
    1218                     Assert ((int)pConsole->maTapFD[ulInstance] >= 0);
    1219                     if ((int)pConsole->maTapFD[ulInstance] >= 0)
    1220                     {
    1221                         if (fSniffer)
    1222                         {
    1223                             rc = CFGMR3InsertNode(pLunL0, "AttachedDriver", &pLunL0); RC_CHECK();
    1224                         }
    1225                         else
    1226                         {
    1227                             rc = CFGMR3InsertNode(pInst, "LUN#0", &pLunL0);         RC_CHECK();
    1228                         }
    1229                         rc = CFGMR3InsertString(pLunL0, "Driver", "HostInterface"); RC_CHECK();
    1230                         rc = CFGMR3InsertNode(pLunL0, "Config", &pCfg);             RC_CHECK();
    1231 # if defined(RT_OS_SOLARIS)
    1232                         /* Device name/number is required for Solaris as we need it for TAP PPA. */
    1233                         Bstr tapDeviceName;
    1234                         networkAdapter->COMGETTER(HostInterface)(tapDeviceName.asOutParam());
    1235                         if (!tapDeviceName.isEmpty())
    1236                             rc = CFGMR3InsertString(pCfg, "Device", Utf8Str(tapDeviceName)); RC_CHECK();
    1237 
    1238                         /* TAP setup application/script */
    1239                         Bstr tapSetupApp;
    1240                         networkAdapter->COMGETTER(TAPSetupApplication)(tapSetupApp.asOutParam());
    1241                         if (!tapSetupApp.isEmpty())
    1242                             rc = CFGMR3InsertString(pCfg, "TAPSetupApplication", Utf8Str(tapSetupApp)); RC_CHECK();
    1243 
    1244                         /* TAP terminate application/script */
    1245                         Bstr tapTerminateApp;
    1246                         networkAdapter->COMGETTER(TAPTerminateApplication)(tapTerminateApp.asOutParam());
    1247                         if (!tapTerminateApp.isEmpty())
    1248                             rc = CFGMR3InsertString(pCfg, "TAPTerminateApplication", Utf8Str(tapTerminateApp)); RC_CHECK();
    1249 
    1250                         /* "FileHandle" must NOT be inserted here, it is done in DrvTAP.cpp */
    1251 
    1252 #  ifdef VBOX_WITH_CROSSBOW
    1253                         /* Crossbow: needs the MAC address for setting up TAP. */
    1254                         rc = CFGMR3InsertBytes(pCfg, "MAC", &Mac, sizeof(Mac));     RC_CHECK();
    1255 #  endif
    1256 # else
    1257                         rc = CFGMR3InsertInteger(pCfg, "FileHandle", pConsole->maTapFD[ulInstance]); RC_CHECK();
    1258 # endif
    1259                     }
    1260 
    1261 #elif defined(VBOX_WITH_NETFLT)
     1217#if defined(VBOX_WITH_NETFLT)
    12621218                    /*
    12631219                     * This is the new VBoxNetFlt+IntNet stuff.
  • trunk/src/VBox/Main/Makefile.kmk

    r15372 r15708  
    5656 ifneq ($(KBUILD_TARGET),os2)
    5757  VBOX_MAIN_DEFS+= VBOX_WITH_SYS_V_IPC_SESSION_WATCHER
    58  endif
    59  ifndef VBOX_WITH_NETFLT
    60   VBOX_MAIN_DEFS += VBOX_WITH_UNIXY_TAP_NETWORKING
    6158 endif
    6259endif
  • trunk/src/VBox/Main/NetworkAdapterImpl.cpp

    r15537 r15708  
    412412    /** @todo Validate input string length. r=dmik: do it in XML schema?*/
    413413
    414 #ifndef VBOX_WITH_UNIXY_TAP_NETWORKING
    415     // we don't allow null strings for the host interface on Win32
    416     // (because the @name attribute of <HostInterface> must be always present,
    417     // but can be empty).
    418     CheckComArgNotNull(aHostInterface);
    419 #else
    420     CheckComArgStrNotEmptyOrNull(aHostInterface);
    421 #endif
     414    /* we don't allow null strings for the host interface (because the @name
     415     * attribute of <HostInterface> must be always present but can be empty). */
     416    CheckComArgNotNull (aHostInterface);
    422417
    423418    AutoCaller autoCaller (this);
     
    443438    return S_OK;
    444439}
    445 
    446 #ifdef VBOX_WITH_UNIXY_TAP_NETWORKING
    447 
    448 STDMETHODIMP NetworkAdapter::COMGETTER(TAPFileDescriptor)(LONG *aTAPFileDescriptor)
    449 {
    450 # ifdef VBOX_WITH_UNIXY_TAP_NETWORKING
    451     CheckComArgOutPointerValid(aTAPFileDescriptor);
    452 
    453     AutoCaller autoCaller (this);
    454     CheckComRCReturnRC (autoCaller.rc());
    455 
    456     AutoReadLock alock (this);
    457 
    458     *aTAPFileDescriptor = mData->mTAPFD;
    459 
    460     return S_OK;
    461 
    462 #else
    463     ReturnComNotImplemented();
    464 #endif
    465 }
    466 
    467 STDMETHODIMP NetworkAdapter::COMSETTER(TAPFileDescriptor)(LONG aTAPFileDescriptor)
    468 {
    469 # ifdef VBOX_WITH_UNIXY_TAP_NETWORKING
    470     /*
    471      * Validate input.
    472      */
    473     RTFILE tapFD = aTAPFileDescriptor;
    474     if (tapFD != NIL_RTFILE && (LONG)tapFD != aTAPFileDescriptor)
    475     {
    476         AssertMsgFailed(("Invalid file descriptor: %ld.\n", aTAPFileDescriptor));
    477         return setError (E_INVALIDARG,
    478             tr ("Invalid file descriptor: %ld"), aTAPFileDescriptor);
    479     }
    480 
    481     AutoCaller autoCaller (this);
    482     CheckComRCReturnRC (autoCaller.rc());
    483 
    484     /* the machine needs to be mutable */
    485     Machine::AutoMutableStateDependency adep (mParent);
    486     CheckComRCReturnRC (adep.rc());
    487 
    488     AutoWriteLock alock (this);
    489 
    490     if (mData->mTAPFD != (RTFILE) aTAPFileDescriptor)
    491     {
    492         mData.backup();
    493         mData->mTAPFD = aTAPFileDescriptor;
    494 
    495         /* leave the lock before informing callbacks */
    496         alock.unlock();
    497 
    498         mParent->onNetworkAdapterChange (this);
    499     }
    500 
    501     return S_OK;
    502 #else
    503     ReturnComNotImplemented();
    504 #endif
    505 }
    506 
    507 STDMETHODIMP NetworkAdapter::COMGETTER(TAPSetupApplication) (
    508     BSTR *aTAPSetupApplication)
    509 {
    510 # ifdef VBOX_WITH_UNIXY_TAP_NETWORKING
    511     CheckComArgOutPointerValid(aTAPSetupApplication);
    512 
    513     AutoCaller autoCaller (this);
    514     CheckComRCReturnRC (autoCaller.rc());
    515 
    516     AutoReadLock alock (this);
    517 
    518     /* we don't have to be in TAP mode to support this call */
    519     mData->mTAPSetupApplication.cloneTo (aTAPSetupApplication);
    520 
    521     return S_OK;
    522 #else
    523     ReturnComNotImplemented();
    524 #endif
    525 }
    526 
    527 STDMETHODIMP NetworkAdapter::COMSETTER(TAPSetupApplication) (
    528     IN_BSTR aTAPSetupApplication)
    529 {
    530 # ifdef VBOX_WITH_UNIXY_TAP_NETWORKING
    531     /* empty strings are not allowed as path names */
    532     if (aTAPSetupApplication && !(*aTAPSetupApplication))
    533         return E_INVALIDARG;
    534 
    535     AutoCaller autoCaller (this);
    536     CheckComRCReturnRC (autoCaller.rc());
    537 
    538     /* the machine needs to be mutable */
    539     Machine::AutoMutableStateDependency adep (mParent);
    540     CheckComRCReturnRC (adep.rc());
    541 
    542     AutoWriteLock alock (this);
    543 
    544     if (mData->mTAPSetupApplication != aTAPSetupApplication)
    545     {
    546         mData.backup();
    547         mData->mTAPSetupApplication = aTAPSetupApplication;
    548 
    549         /* leave the lock before informing callbacks */
    550         alock.unlock();
    551 
    552         mParent->onNetworkAdapterChange (this);
    553     }
    554 
    555     return S_OK;
    556 #else
    557     ReturnComNotImplemented();
    558 #endif
    559 }
    560 
    561 STDMETHODIMP NetworkAdapter::COMGETTER(TAPTerminateApplication) (
    562     BSTR *aTAPTerminateApplication)
    563 {
    564 # ifdef VBOX_WITH_UNIXY_TAP_NETWORKING
    565     CheckComArgOutPointerValid(aTAPTerminateApplication);
    566 
    567     AutoCaller autoCaller (this);
    568     CheckComRCReturnRC (autoCaller.rc());
    569 
    570     AutoReadLock alock (this);
    571 
    572     /* we don't have to be in TAP mode to support this call */
    573     mData->mTAPTerminateApplication.cloneTo(aTAPTerminateApplication);
    574 
    575     return S_OK;
    576 #else
    577     ReturnComNotImplemented();
    578 #endif
    579 }
    580 
    581 STDMETHODIMP NetworkAdapter::COMSETTER(TAPTerminateApplication) (
    582     IN_BSTR aTAPTerminateApplication)
    583 {
    584 # ifdef VBOX_WITH_UNIXY_TAP_NETWORKING
    585     /* empty strings are not allowed as path names */
    586     if (aTAPTerminateApplication && !(*aTAPTerminateApplication))
    587         return E_INVALIDARG;
    588 
    589     AutoCaller autoCaller (this);
    590     CheckComRCReturnRC (autoCaller.rc());
    591 
    592     /* the machine needs to be mutable */
    593     Machine::AutoMutableStateDependency adep (mParent);
    594     CheckComRCReturnRC (adep.rc());
    595 
    596     AutoWriteLock alock (this);
    597 
    598     if (mData->mTAPTerminateApplication != aTAPTerminateApplication)
    599     {
    600         mData.backup();
    601         mData->mTAPTerminateApplication = aTAPTerminateApplication;
    602 
    603         /* leave the lock before informing callbacks */
    604         alock.unlock();
    605 
    606         mParent->onNetworkAdapterChange(this);
    607     }
    608 
    609     return S_OK;
    610 #else
    611     ReturnComNotImplemented();
    612 #endif
    613 }
    614 
    615 #endif /* VBOX_WITH_UNIXY_TAP_NETWORKING */
    616440
    617441STDMETHODIMP NetworkAdapter::COMGETTER(InternalNetwork) (BSTR *aInternalNetwork)
     
    1064888
    1065889        Bstr name = attachmentNode.stringValue ("name");
    1066 #ifndef VBOX_WITH_UNIXY_TAP_NETWORKING
    1067890        /* name can be empty, but not null */
    1068891        ComAssertRet (!name.isNull(), E_FAIL);
    1069 #endif
     892
    1070893        rc = COMSETTER(HostInterface) (name);
    1071894        CheckComRCReturnRC (rc);
    1072 
    1073 #ifdef VBOX_WITH_UNIXY_TAP_NETWORKING
    1074         /* optopnal */
    1075         mData->mTAPSetupApplication = attachmentNode.stringValue ("TAPSetup");
    1076         mData->mTAPTerminateApplication = attachmentNode.stringValue ("TAPTerminate");
    1077 #endif /* VBOX_WITH_UNIXY_TAP_NETWORKING */
    1078895
    1079896        rc = AttachToHostInterface();
     
    1173990        {
    1174991            Key attachmentNode = aAdapterNode.createKey ("HostInterface");
    1175 #ifndef VBOX_WITH_UNIXY_TAP_NETWORKING
    1176992            Assert (!mData->mHostInterface.isNull());
    1177 #else
    1178             if (!mData->mHostInterface.isEmpty())
    1179 #endif
    1180                 attachmentNode.setValue <Bstr> ("name", mData->mHostInterface);
    1181 #ifdef VBOX_WITH_UNIXY_TAP_NETWORKING
    1182             if (!mData->mTAPSetupApplication.isEmpty())
    1183                 attachmentNode.setValue <Bstr> ("TAPSetup",
    1184                                                 mData->mTAPSetupApplication);
    1185             if (!mData->mTAPTerminateApplication.isEmpty())
    1186                 attachmentNode.setValue <Bstr> ("TAPTerminate",
    1187                                                 mData->mTAPTerminateApplication);
    1188 #endif /* VBOX_WITH_UNIXY_TAP_NETWORKING */
     993            attachmentNode.setValue <Bstr> ("name", mData->mHostInterface);
    1189994            break;
    1190995        }
     
    13421147        {
    13431148            /* reset handle and device name */
    1344 #ifndef VBOX_WITH_UNIXY_TAP_NETWORKING
    13451149            mData->mHostInterface = "";
    1346 #endif
    1347 #ifdef VBOX_WITH_UNIXY_TAP_NETWORKING
    1348             mData->mHostInterface.setNull();
    1349             mData->mTAPFD = NIL_RTFILE;
    1350 #endif
    13511150            break;
    13521151        }
  • trunk/src/VBox/Main/idl/VirtualBox.xidl

    r15661 r15708  
    97069706    <attribute name="hostInterface" type="wstring">
    97079707      <desc>
    9708         Name of the Host Network Interface that is currently in use. NULL will be returned
    9709         if no device has been allocated. On Linux, setting this refers to a permanent TAP
    9710         device. However, a file descriptor has precedence over the interface name on Linux.
    9711         Note that when VirtualBox allocates a TAP device, this property will not be set, i.e. the
    9712         interface name would have to be determined using the file descriptor and /proc/self/fd.
     9708        Name of the host network interface the VM is attached to.
    97139709      </desc>
    97149710    </attribute>
     
    97619757    <method name="attachToHostInterface">
    97629758      <desc>
    9763         Attach the network adapter to a host interface. On Linux, the TAP
    9764         setup application will be executed if configured and unless a device
    9765         name and/or file descriptor has been set, a new TAP interface will be
    9766         created.
     9759        Attach the network adapter to a host interface.
    97679760      </desc>
    97689761    </method>
  • trunk/src/VBox/Main/include/ConsoleImpl.h

    r15051 r15708  
    7171            return setError (E_ACCESSDENIED, tr ("The console is not powered up")); \
    7272    } while (0)
    73 
    74 /** @def VBOX_WITH_UNIXY_TAP_NETWORKING
    75  *  Unixy style TAP networking. This is defined in the Makefile since it's also
    76  *  used by NetworkAdapterImpl.h/cpp.
    77  */
    78 #ifdef __DOXYGEN__
    79 # define VBOX_WITH_UNIXY_TAP_NETWORKING
    80 #endif
    8173
    8274// Console
     
    553545    PPDMLED     mapSharedFolderLed;
    554546    PPDMLED     mapUSBLed[2];
    555 #ifdef VBOX_WITH_UNIXY_TAP_NETWORKING
    556     Utf8Str     maTAPDeviceName[8];
    557     RTFILE      maTapFD[8];
    558 #endif
    559547
    560548    bool mVMStateChangeCallbackDisabled;
  • trunk/src/VBox/Main/include/NetworkAdapterImpl.h

    r15537 r15708  
    4545            , mAttachmentType (NetworkAttachmentType_Null)
    4646            ,  mCableConnected (TRUE), mLineSpeed (0), mTraceEnabled (FALSE)
    47 #ifndef VBOX_WITH_UNIXY_TAP_NETWORKING
    48             , mHostInterface ("") // cannot be null
    49 #else
    50             , mTAPFD (NIL_RTFILE)
    51 #endif
     47            , mHostInterface ("") /* cannot be null */
    5248        {}
    5349
     
    6359                    mTraceEnabled == that.mTraceEnabled &&
    6460                    mHostInterface == that.mHostInterface &&
    65 #ifdef VBOX_WITH_UNIXY_TAP_NETWORKING
    66                     mTAPSetupApplication == that.mTAPSetupApplication &&
    67                     mTAPTerminateApplication == that.mTAPTerminateApplication &&
    68                     mTAPFD == that.mTAPFD &&
    69 #endif
    7061                    mInternalNetwork == that.mInternalNetwork &&
    7162                    mNATNetwork == that.mNATNetwork);
     
    8273        Bstr mTraceFile;
    8374        Bstr mHostInterface;
    84 #ifdef VBOX_WITH_UNIXY_TAP_NETWORKING
    85         Bstr mTAPSetupApplication;
    86         Bstr mTAPTerminateApplication;
    87         RTFILE mTAPFD;
    88 #endif
    8975        Bstr mInternalNetwork;
    9076        Bstr mNATNetwork;
     
    126112    STDMETHOD(COMGETTER(HostInterface)) (BSTR *aHostInterface);
    127113    STDMETHOD(COMSETTER(HostInterface)) (IN_BSTR aHostInterface);
    128 #ifdef VBOX_WITH_UNIXY_TAP_NETWORKING
    129     STDMETHOD(COMGETTER(TAPFileDescriptor)) (LONG *aTAPFileDescriptor);
    130     STDMETHOD(COMSETTER(TAPFileDescriptor)) (LONG aTAPFileDescriptor);
    131     STDMETHOD(COMGETTER(TAPSetupApplication)) (BSTR *aTAPSetupApplication);
    132     STDMETHOD(COMSETTER(TAPSetupApplication)) (IN_BSTR aTAPSetupApplication);
    133     STDMETHOD(COMGETTER(TAPTerminateApplication)) (BSTR *aTAPTerminateApplication);
    134     STDMETHOD(COMSETTER(TAPTerminateApplication)) (IN_BSTR aTAPTerminateApplication);
    135 #endif
    136114    STDMETHOD(COMGETTER(InternalNetwork)) (BSTR *aInternalNetwork);
    137115    STDMETHOD(COMSETTER(InternalNetwork)) (IN_BSTR aInternalNetwork);
  • trunk/src/VBox/Main/include/VirtualBoxXMLUtil.h

    r14949 r15708  
    2929
    3030/** VirtualBox XML settings version number substring ("x.y")  */
    31 #define VBOX_XML_VERSION        "1.5"
     31#define VBOX_XML_VERSION        "1.6"
    3232
    3333/** VirtualBox XML settings version platform substring */
  • trunk/src/VBox/Main/xml/SettingsConverter.xsl

    r15582 r15708  
    127127  </xsl:copy>
    128128</xsl:template>
     129
     130<!-- 1.5 => 1.6 -->
     131<xsl:template match="/vb:VirtualBox[substring-before(@version,'-')='1.5']">
     132  <xsl:copy>
     133    <xsl:attribute name="version"><xsl:value-of select="concat('1.6','-',$curVerPlat)"/></xsl:attribute>
     134    <xsl:apply-templates select="node()" mode="v1.6"/>
     135  </xsl:copy>
     136</xsl:template>
     137
    129138
    130139<!--
     
    772781</xsl:template>
    773782
    774 <!--
    775 -->
    776 
    777783<xsl:template match="vb:VirtualBox[substring-before(@version,'-')='1.4']/
    778784                     vb:Machine//vb:Hardware/vb:CPU"
     
    786792  </xsl:copy>
    787793</xsl:template>
     794
     795
     796<!--
     797 * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     798 *  1.5 => 1.6
     799 * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     800-->
     801
     802<!--
     803 *  all non-root elements that are not explicitly matched are copied as is
     804-->
     805<xsl:template match="@*|node()[../..]" mode="v1.6">
     806  <xsl:copy>
     807    <xsl:apply-templates select="@*|node()[../..]" mode="v1.6"/>
     808  </xsl:copy>
     809</xsl:template>
     810
     811<!--
     812 *  Global settings
     813-->
     814
     815<!--
     816 *  Machine settings
     817-->
     818
     819<xsl:template match="vb:VirtualBox[substring-before(@version,'-')='1.5' and
     820                                   not(substring-after(@version,'-')='windows')]/
     821                     vb:Machine//vb:Hardware/vb:Network/vb:Adapter/
     822                     vb:HostInterface[@TAPSetup or @TAPTerminate]"
     823              mode="v1.6">
     824  <!-- just remove the node -->
     825</xsl:template>
     826
     827
     828<!--
     829 * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     830-->
    788831
    789832
  • trunk/src/VBox/Main/xml/VirtualBox-settings-common.xsd

    r15582 r15708  
    587587
    588588<xsd:complexType name="TNetworkAdapter">
     589  <xsd:choice minOccurs="0">
     590    <xsd:element name="NAT">
     591      <xsd:complexType>
     592        <xsd:attribute name="network" type="xsd:string"/>
     593      </xsd:complexType>
     594    </xsd:element>
     595    <xsd:element name="HostInterface">
     596      <xsd:complexType>
     597        <xsd:attribute name="name" type="xsd:string" use="required"/>
     598      </xsd:complexType>
     599    </xsd:element>
     600    <xsd:element name="InternalNetwork">
     601      <xsd:complexType>
     602        <xsd:attribute name="name" type="xsd:string" use="required"/>
     603      </xsd:complexType>
     604    </xsd:element>
     605  </xsd:choice>
    589606  <xsd:attribute name="type" type="TNetworkAdapterType" default="Am79C970A"/>
    590607  <xsd:attribute name="slot" use="required">
     
    608625  <xsd:attribute name="trace" type="xsd:boolean" default="false"/>
    609626  <xsd:attribute name="tracefile" type="xsd:string"/>
     627</xsd:complexType>
     628
     629<xsd:complexType name="TNetwork">
     630  <xsd:sequence>
     631    <xsd:element name="Adapter" type="TNetworkAdapter"
     632                 minOccurs="0" maxOccurs="unbounded"/>
     633  </xsd:sequence>
    610634</xsd:complexType>
    611635
     
    629653<xsd:complexType name="TUART">
    630654  <xsd:sequence>
    631     <xsd:element name="Port" minOccurs="0" maxOccurs="unbounded">
    632       <xsd:complexType>
    633         <xsd:complexContent>
    634           <xsd:extension base="TUARTPort">
    635           </xsd:extension>
    636         </xsd:complexContent>
    637       </xsd:complexType>
    638     </xsd:element>
     655    <xsd:element name="Port" type="TUARTPort"
     656                 minOccurs="0" maxOccurs="unbounded"/>
    639657  </xsd:sequence>
    640658</xsd:complexType>
     
    657675<xsd:complexType name="TLPT">
    658676  <xsd:sequence>
    659     <xsd:element name="Port" minOccurs="0" maxOccurs="unbounded">
    660       <xsd:complexType>
    661         <xsd:complexContent>
    662           <xsd:extension base="TLPTPort">
    663           </xsd:extension>
    664         </xsd:complexContent>
    665       </xsd:complexType>
    666     </xsd:element>
     677    <xsd:element name="Port" type="TLPTPort"
     678                 minOccurs="0" maxOccurs="unbounded"/>
    667679  </xsd:sequence>
    668680</xsd:complexType>
  • trunk/src/VBox/Main/xml/VirtualBox-settings-freebsd.xsd

    r11982 r15708  
    6666</xsd:complexType>
    6767
    68 <xsd:complexType name="TNetwork">
    69   <xsd:sequence>
    70     <xsd:element name="Adapter" minOccurs="0" maxOccurs="unbounded">
    71       <xsd:complexType>
    72         <xsd:complexContent>
    73           <xsd:extension base="TNetworkAdapter">
    74             <xsd:choice minOccurs="0">
    75               <xsd:element name="NAT">
    76                 <xsd:complexType>
    77                   <xsd:attribute name="network" type="xsd:string"/>
    78                 </xsd:complexType>
    79               </xsd:element>
    80               <xsd:element name="HostInterface">
    81                 <xsd:complexType>
    82                   <xsd:attribute name="name" type="TLocalFile"/>
    83                   <xsd:attribute name="TAPSetup" type="TLocalFile"/>
    84                   <xsd:attribute name="TAPTerminate" type="TLocalFile"/>
    85                 </xsd:complexType>
    86               </xsd:element>
    87               <xsd:element name="InternalNetwork">
    88                 <xsd:complexType>
    89                   <xsd:attribute name="name" type="xsd:string" use="required"/>
    90                 </xsd:complexType>
    91               </xsd:element>
    92             </xsd:choice>
    93           </xsd:extension>
    94         </xsd:complexContent>
    95       </xsd:complexType>
    96     </xsd:element>
    97   </xsd:sequence>
    98 </xsd:complexType>
    99 
    10068<xsd:complexType name="TAudioAdapter">
    10169  <xsd:complexContent>
  • trunk/src/VBox/Main/xml/VirtualBox-settings-linux.xsd

    r11982 r15708  
    6666</xsd:complexType>
    6767
    68 <xsd:complexType name="TNetwork">
    69   <xsd:sequence>
    70     <xsd:element name="Adapter" minOccurs="0" maxOccurs="unbounded">
    71       <xsd:complexType>
    72         <xsd:complexContent>
    73           <xsd:extension base="TNetworkAdapter">
    74             <xsd:choice minOccurs="0">
    75               <xsd:element name="NAT">
    76                 <xsd:complexType>
    77                   <xsd:attribute name="network" type="xsd:string"/>
    78                 </xsd:complexType>
    79               </xsd:element>
    80               <xsd:element name="HostInterface">
    81                 <xsd:complexType>
    82                   <xsd:attribute name="name" type="TLocalFile"/>
    83                   <xsd:attribute name="TAPSetup" type="TLocalFile"/>
    84                   <xsd:attribute name="TAPTerminate" type="TLocalFile"/>
    85                 </xsd:complexType>
    86               </xsd:element>
    87               <xsd:element name="InternalNetwork">
    88                 <xsd:complexType>
    89                   <xsd:attribute name="name" type="xsd:string" use="required"/>
    90                 </xsd:complexType>
    91               </xsd:element>
    92             </xsd:choice>
    93           </xsd:extension>
    94         </xsd:complexContent>
    95       </xsd:complexType>
    96     </xsd:element>
    97   </xsd:sequence>
    98 </xsd:complexType>
    99 
    10068<xsd:complexType name="TAudioAdapter">
    10169  <xsd:complexContent>
  • trunk/src/VBox/Main/xml/VirtualBox-settings-macosx.xsd

    r11982 r15708  
    6666</xsd:complexType>
    6767
    68 <xsd:complexType name="TNetwork">
    69   <xsd:sequence>
    70     <xsd:element name="Adapter" minOccurs="0" maxOccurs="unbounded">
    71       <xsd:complexType>
    72         <xsd:complexContent>
    73           <xsd:extension base="TNetworkAdapter">
    74             <xsd:choice minOccurs="0">
    75               <xsd:element name="NAT">
    76                 <xsd:complexType>
    77                   <xsd:attribute name="network" type="xsd:string"/>
    78                 </xsd:complexType>
    79               </xsd:element>
    80               <xsd:element name="HostInterface">
    81                 <xsd:complexType>
    82                   <xsd:attribute name="name" type="TLocalFile"/>
    83                   <xsd:attribute name="TAPSetup" type="TLocalFile"/>
    84                   <xsd:attribute name="TAPTerminate" type="TLocalFile"/>
    85                 </xsd:complexType>
    86               </xsd:element>
    87               <xsd:element name="InternalNetwork">
    88                 <xsd:complexType>
    89                   <xsd:attribute name="name" type="xsd:string" use="required"/>
    90                 </xsd:complexType>
    91               </xsd:element>
    92             </xsd:choice>
    93           </xsd:extension>
    94         </xsd:complexContent>
    95       </xsd:complexType>
    96     </xsd:element>
    97   </xsd:sequence>
    98 </xsd:complexType>
    99 
    10068<xsd:complexType name="TAudioAdapter">
    10169  <xsd:complexContent>
  • trunk/src/VBox/Main/xml/VirtualBox-settings-os2.xsd

    r11982 r15708  
    11<?xml version="1.0" encoding="UTF-8"?>
     2
    23<!--
    34 *  :tabSize=2:indentSize=2:noTabs=true:
     
    6667</xsd:complexType>
    6768
    68 <xsd:complexType name="TNetwork">
    69   <xsd:sequence>
    70     <xsd:element name="Adapter" minOccurs="0" maxOccurs="unbounded">
    71       <xsd:complexType>
    72         <xsd:complexContent>
    73           <xsd:extension base="TNetworkAdapter">
    74             <xsd:choice minOccurs="0">
    75               <xsd:element name="NAT">
    76                 <xsd:complexType>
    77                   <xsd:attribute name="network" type="xsd:string"/>
    78                 </xsd:complexType>
    79               </xsd:element>
    80               <xsd:element name="HostInterface">
    81                 <xsd:complexType>
    82                   <xsd:attribute name="name" type="TLocalFile"/>
    83                   <xsd:attribute name="TAPSetup" type="TLocalFile"/>
    84                   <xsd:attribute name="TAPTerminate" type="TLocalFile"/>
    85                 </xsd:complexType>
    86               </xsd:element>
    87               <xsd:element name="InternalNetwork">
    88                 <xsd:complexType>
    89                   <xsd:attribute name="name" type="xsd:string" use="required"/>
    90                 </xsd:complexType>
    91               </xsd:element>
    92             </xsd:choice>
    93           </xsd:extension>
    94         </xsd:complexContent>
    95       </xsd:complexType>
    96     </xsd:element>
    97   </xsd:sequence>
    98 </xsd:complexType>
    99 
    10069<xsd:complexType name="TAudioAdapter">
    10170  <xsd:complexContent>
  • trunk/src/VBox/Main/xml/VirtualBox-settings-solaris.xsd

    r11982 r15708  
    6666</xsd:complexType>
    6767
    68 <xsd:complexType name="TNetwork">
    69   <xsd:sequence>
    70     <xsd:element name="Adapter" minOccurs="0" maxOccurs="unbounded">
    71       <xsd:complexType>
    72         <xsd:complexContent>
    73           <xsd:extension base="TNetworkAdapter">
    74             <xsd:choice minOccurs="0">
    75               <xsd:element name="NAT">
    76                 <xsd:complexType>
    77                   <xsd:attribute name="network" type="xsd:string"/>
    78                 </xsd:complexType>
    79               </xsd:element>
    80               <xsd:element name="HostInterface">
    81                 <xsd:complexType>
    82                   <xsd:attribute name="name" type="TLocalFile"/>
    83                   <xsd:attribute name="TAPSetup" type="TLocalFile"/>
    84                   <xsd:attribute name="TAPTerminate" type="TLocalFile"/>
    85                 </xsd:complexType>
    86               </xsd:element>
    87               <xsd:element name="InternalNetwork">
    88                 <xsd:complexType>
    89                   <xsd:attribute name="name" type="xsd:string" use="required"/>
    90                 </xsd:complexType>
    91               </xsd:element>
    92             </xsd:choice>
    93           </xsd:extension>
    94         </xsd:complexContent>
    95       </xsd:complexType>
    96     </xsd:element>
    97   </xsd:sequence>
    98 </xsd:complexType>
    99 
    10068<xsd:complexType name="TAudioAdapter">
    10169  <xsd:complexContent>
  • trunk/src/VBox/Main/xml/VirtualBox-settings-windows.xsd

    r11982 r15708  
    6666</xsd:complexType>
    6767
    68 <xsd:complexType name="TNetwork">
    69   <xsd:sequence>
    70     <xsd:element name="Adapter" minOccurs="0" maxOccurs="unbounded">
    71       <xsd:complexType>
    72         <xsd:complexContent>
    73           <xsd:extension base="TNetworkAdapter">
    74             <xsd:choice minOccurs="0">
    75               <xsd:element name="NAT">
    76                 <xsd:complexType>
    77                   <xsd:attribute name="network" type="xsd:string"/>
    78                 </xsd:complexType>
    79               </xsd:element>
    80               <xsd:element name="HostInterface">
    81                 <xsd:complexType>
    82                   <xsd:attribute name="name" type="xsd:string" use="required"/>
    83                 </xsd:complexType>
    84               </xsd:element>
    85               <xsd:element name="InternalNetwork">
    86                 <xsd:complexType>
    87                   <xsd:attribute name="name" type="xsd:string" use="required"/>
    88                 </xsd:complexType>
    89               </xsd:element>
    90             </xsd:choice>
    91           </xsd:extension>
    92         </xsd:complexContent>
    93       </xsd:complexType>
    94     </xsd:element>
    95   </xsd:sequence>
    96 </xsd:complexType>
    97 
    9868<xsd:complexType name="TAudioAdapter">
    9969  <xsd:complexContent>
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