VirtualBox

Changeset 4644 in vbox for trunk/src/VBox/Frontends


Ignore:
Timestamp:
Sep 10, 2007 2:35:22 AM (17 years ago)
Author:
vboxsync
Message:

OS/2 hif support. the parsing of a couple of network arguments.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Frontends/VBoxBFE/VBoxBFE.cpp

    r4553 r4644  
    196196    const char *pszSniff;   /**< Output file for the network sniffer. */
    197197    PDMMAC      Mac;        /**< The mac address for the device. */
    198     const char *pszName;     /**< The device name of a HIF device. The name of the internal network. */
    199 #if 1//defined(RT_OS_LINUX)
     198    const char *pszName;    /**< The device name of a HIF device. The name of the internal network. */
     199#ifdef RT_OS_OS2
     200    bool        fHaveConnectTo; /**< Whether fConnectTo is set. */
     201    int32_t     iConnectTo; /**< The lanX to connect to (bridge with). */
     202#elif 1//defined(RT_OS_LINUX)
    200203    bool        fHaveFd;    /**< Set if fd is valid. */
    201204    int32_t     fd;         /**< The file descriptor of a HIF device.*/
     
    335338#if 0
    336339             "  -netsniff<1-N>     Enable packet sniffer\n"
     340#endif
     341#ifdef RT_OS_OS2
     342             "  -brdev<1-N> lan<X> Bridge network adaptor <N> with the 'lanX' device.\n"
    337343#endif
    338344#ifdef RT_OS_LINUX
     
    606612        else if (strncmp(pszArg, "-netsniff", 9) == 0)
    607613        {
    608             int i = networkArg2Index(pszArg, 7);
    609             if (rc < 0)
     614            int i = networkArg2Index(pszArg, 9);
     615            if (i < 0)
    610616                return 1;
    611617            g_aNetDevs[i].fSniff = true;
    612618            /** @todo filename */
    613619        }
     620#ifdef RT_OS_OS2
     621        else if (strncmp(pszArg, "-brdev", 6) == 0)
     622        {
     623            int i = networkArg2Index(pszArg, 6);
     624            if (i < 0)
     625                return 1;
     626            if (g_aNetDevs[i].enmType != BFENETDEV::HIF)
     627                return SyntaxError("%d is not a hif device! Make sure you put the -hifdev argument first.\n", i);
     628            if (++curArg >= argc)
     629                return SyntaxError("missing argument for %s!\n", pszArg);
     630            rc = RTStrToInt32Ex(argv[curArg], NULL, 0, &g_aNetDevs[i].iConnectTo);
     631            if (VBOX_FAILURE(rc))
     632                return SyntaxError("bad tap file descriptor: %s (error %VRc)\n", argv[curArg], rc);
     633            g_aNetDevs[i].fHaveConnectTo = true;
     634        }
     635#endif
    614636#ifdef RT_OS_LINUX
    615637        else if (strncmp(pszArg, "-tapfd", 6) == 0)
    616638        {
    617             int i = networkArg2Index(pszArg, 7);
     639            int i = networkArg2Index(pszArg, 6);
     640            if (i < 0)
     641                return 1;
    618642            if (++curArg >= argc)
    619643                return SyntaxError("missing argument for %s!\n", pszArg);
     
    15531577                if (g_aNetDevs[ulInstance].fHaveFd)
    15541578                {
    1555                     rc = CFGMR3InsertString(pCfg, "Device", g_aNetDevs[ulInstance].pszName);
    1556                                                                                     UPDATE_RC();
    1557                     rc = CFGMR3InsertInteger(pCfg, "FileHandle", g_aNetDevs[ulInstance].fd);
    1558                                                                                     UPDATE_RC();
     1579                    rc = CFGMR3InsertString(pCfg, "Device", g_aNetDevs[ulInstance].pszName); UPDATE_RC();
     1580                    rc = CFGMR3InsertInteger(pCfg, "FileHandle", g_aNetDevs[ulInstance].fd); UPDATE_RC();
    15591581                }
    15601582                else
    15611583#endif
    15621584                {
    1563 #if defined (RT_OS_LINUX) || defined (RT_OS_L4)
     1585#if defined(RT_OS_LINUX) || defined(RT_OS_L4)
    15641586                    /*
    15651587                     * Create/Open the TAP the device.
     
    16121634                    rc = CFGMR3InsertInteger(pCfg, "FileHandle", (RTFILE)tapFD);                    UPDATE_RC();
    16131635
     1636#elif defined(RT_OS_OS2)
     1637                    /*
     1638                     * The TAP driver does all the opening and setting up,
     1639                     * as it was originally was ment to be (stupid fork() problems).
     1640                     */
     1641                    rc = CFGMR3InsertString(pCfg, "Device", g_aNetDevs[ulInstance].pszName); UPDATE_RC();
     1642                    if (g_aNetDevs[ulInstance].fHaveConnectTo)
     1643                    {
     1644                        rc = CFGMR3InsertInteger(pCfg, "ConnectTo", g_aNetDevs[ulInstance].iConnectTo);
     1645                        UPDATE_RC();
     1646                    }
    16141647#elif defined(RT_OS_WINDOWS)
    16151648                    /*
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