儲存庫 vbox 的更動 55259
- 時間撮記:
- 2015-4-14 下午05:59:42 (10 年 以前)
- svn:sync-xref-src-repo-rev:
- 99572
- 位置:
- trunk
- 檔案:
-
- 修改 19 筆資料
圖例:
- 未更動
- 新增
- 刪除
-
trunk/doc/manual/en_US/user_BasicConcepts.xml
r55150 r55259 1138 1138 identify the virtual machine but may be freely 1139 1139 chosen.</para> 1140 <para>For forwarding serial traffic, you can use a helper1141 program called VMware Serial Line Gateway, available for1142 download at1143 <literal> <ulink1144 url="http://www.l4ka.org/91.php">http://www.l4ka.org/91.php</ulink>1145 </literal>. This tool provides a fixed server mode named1146 pipe at1147 <computeroutput>\\.\pipe\vmwaredebug</computeroutput>1148 and connects incoming TCP connections on port 567 with1149 the named pipe.</para>1150 1140 </listitem> 1151 1141 … … 1187 1177 </para> 1188 1178 </listitem> 1179 1180 <listitem> 1181 <para>TCP Socket: useful for forwarding serial traffic over TCP/IP, acting as a server, 1182 or it can act as a TCP client connecting to other servers. 1183 It allows remote machine to connect via TCP directly to guest's serial port. 1184 </para> 1185 <para>TCP Server: use "create socket" mode, and type in only the <emphasis role="bold"> 1186 <computeroutput>port</computeroutput></emphasis> number. 1187 Typically 23 or 2023. Note that on UNIX-like systems you will have to use port 1188 number over 1024 for normal users. 1189 </para> 1190 <para> 1191 The client can use software such as "Putty" or command-line "telnet" to access TCP Server. 1192 </para> 1193 <para>TCP Client: to create a virtual null-modem cable over the Internet or LAN, 1194 the other side can connect via TCP by specifying <emphasis role="bold"> 1195 <computeroutput>hostname:port</computeroutput></emphasis>. 1196 TCP socket will act in client mode, if you remove "create socket" mode. 1197 </para> 1198 </listitem> 1199 1189 1200 </itemizedlist></para> 1190 1201 </listitem> -
trunk/doc/manual/en_US/user_VBoxManage.xml
r55172 r55259 1023 1023 </listitem> 1024 1024 1025 <listitem> 1026 <para><computeroutput>tcpserver 1027 <port></computeroutput>: This 1028 tells VirtualBox to create a TCP socket on the host with TCP 1029 <computeroutput><port></computeroutput> and 1030 connect the virtual serial device to it. Note that UNIX-like 1031 systems require ports over 1024 for normal users.</para> 1032 </listitem> 1033 1034 <listitem> 1035 <para><computeroutput>tcpclient 1036 <hostname:port></computeroutput>: This operates just like 1037 <computeroutput>tcpserver ...</computeroutput>, except that the 1038 TCP socket is not created by VirtualBox, 1039 but assumed to exist already.</para> 1040 </listitem> 1041 1025 1042 <listitem> 1026 1043 <para><computeroutput><devicename></computeroutput>: -
trunk/include/VBox/log.h
r55255 r55259 204 204 /** Host SCSI driver group. */ 205 205 LOG_GROUP_DRV_SCSIHOST, 206 /** TCP socket stream driver group. */ 207 LOG_GROUP_DRV_TCP, 206 208 /** Async transport driver group */ 207 209 LOG_GROUP_DRV_TRANSPORT_ASYNC, … … 849 851 "DRV_SCSI", \ 850 852 "DRV_SCSIHOST", \ 853 "DRV_TELNETSERVER", \ 851 854 "DRV_TRANSPORT_ASYNC", \ 852 855 "DRV_TUN", \ -
trunk/src/VBox/Devices/Makefile.kmk
r54768 r55259 178 178 Serial/DrvChar.cpp \ 179 179 Serial/DrvNamedPipe.cpp \ 180 Serial/DrvTCP.cpp \ 180 181 Serial/DrvRawFile.cpp \ 181 182 Storage/DrvBlock.cpp \ -
trunk/src/VBox/Devices/build/VBoxDD.cpp
r54426 r55259 5 5 6 6 /* 7 * Copyright (C) 2006-201 4Oracle Corporation7 * Copyright (C) 2006-2015 Oracle Corporation 8 8 * 9 9 * This file is part of VirtualBox Open Source Edition (OSE), as … … 338 338 if (RT_FAILURE(rc)) 339 339 return rc; 340 rc = pCallbacks->pfnRegister(pCallbacks, &g_DrvTCP); 341 if (RT_FAILURE(rc)) 342 return rc; 340 343 rc = pCallbacks->pfnRegister(pCallbacks, &g_DrvRawFile); 341 344 if (RT_FAILURE(rc)) -
trunk/src/VBox/Devices/build/VBoxDD.h
r53523 r55259 5 5 6 6 /* 7 * Copyright (C) 2006-201 4Oracle Corporation7 * Copyright (C) 2006-2015 Oracle Corporation 8 8 * 9 9 * This file is part of VirtualBox Open Source Edition (OSE), as … … 147 147 extern const PDMDRVREG g_DrvChar; 148 148 extern const PDMDRVREG g_DrvNamedPipe; 149 extern const PDMDRVREG g_DrvTCP; 149 150 extern const PDMDRVREG g_DrvRawFile; 150 151 extern const PDMDRVREG g_DrvHostParallel; -
trunk/src/VBox/Frontends/VBoxManage/VBoxManageHelp.cpp
r55169 r55259 273 273 " server <pipe>|\n" 274 274 " client <pipe>|\n" 275 " tcpserver <port>|\n" 276 " tcpclient <hostname:port>|\n" 275 277 " file <file>|\n" 276 278 " <devicename>]\n" -
trunk/src/VBox/Frontends/VBoxManage/VBoxManageInfo.cpp
r55214 r55259 1403 1403 case PortMode_RawFile: 1404 1404 if (details == VMINFO_MACHINEREADABLE) 1405 RTPrintf("uartmode%d=\" %ls\"\n", currentUART + 1,1405 RTPrintf("uartmode%d=\"file,%ls\"\n", currentUART + 1, 1406 1406 path.raw()); 1407 1407 else 1408 1408 RTPrintf(", attached to raw file '%ls'\n", 1409 1409 path.raw()); 1410 break; 1411 case PortMode_TCP: 1412 if (details == VMINFO_MACHINEREADABLE) 1413 RTPrintf("uartmode%d=\"%s,%ls\"\n", currentUART + 1, 1414 fServer ? "tcpserver" : "tcpclient", path.raw()); 1415 else 1416 RTPrintf(", attached to tcp (%s) '%ls'\n", 1417 fServer ? "server" : "client", path.raw()); 1410 1418 break; 1411 1419 case PortMode_HostPipe: -
trunk/src/VBox/Frontends/VBoxManage/VBoxManageModifyVM.cpp
r55234 r55259 5 5 6 6 /* 7 * Copyright (C) 2006-201 4Oracle Corporation7 * Copyright (C) 2006-2015 Oracle Corporation 8 8 * 9 9 * This file is part of VirtualBox Open Source Edition (OSE), as … … 1997 1997 else if ( !RTStrICmp(ValueUnion.psz, "server") 1998 1998 || !RTStrICmp(ValueUnion.psz, "client") 1999 || !RTStrICmp(ValueUnion.psz, "tcpserver") 2000 || !RTStrICmp(ValueUnion.psz, "tcpclient") 1999 2001 || !RTStrICmp(ValueUnion.psz, "file")) 2000 2002 { … … 2017 2019 { 2018 2020 CHECK_ERROR(uart, COMSETTER(HostMode)(PortMode_HostPipe)); 2021 CHECK_ERROR(uart, COMSETTER(Server)(FALSE)); 2022 } 2023 else if (!RTStrICmp(pszMode, "tcpserver")) 2024 { 2025 CHECK_ERROR(uart, COMSETTER(HostMode)(PortMode_TCP)); 2026 CHECK_ERROR(uart, COMSETTER(Server)(TRUE)); 2027 } 2028 else if (!RTStrICmp(pszMode, "tcpclient")) 2029 { 2030 CHECK_ERROR(uart, COMSETTER(HostMode)(PortMode_TCP)); 2019 2031 CHECK_ERROR(uart, COMSETTER(Server)(FALSE)); 2020 2032 } -
trunk/src/VBox/Frontends/VirtualBox/src/converter/UIConverterBackendCOM.cpp
r55214 r55259 372 372 case KPortMode_HostDevice: return QApplication::translate("VBoxGlobal", "Host Device", "PortMode"); 373 373 case KPortMode_RawFile: return QApplication::translate("VBoxGlobal", "Raw File", "PortMode"); 374 case KPortMode_TCP: return QApplication::translate("VBoxGlobal", "TCP", "PortMode"); 374 375 AssertMsgFailed(("No text for %d", mode)); break; 375 376 } … … 564 565 list.insert(QApplication::translate("VBoxGlobal", "Host Device", "PortMode"), KPortMode_HostDevice); 565 566 list.insert(QApplication::translate("VBoxGlobal", "Raw File", "PortMode"), KPortMode_RawFile); 567 list.insert(QApplication::translate("VBoxGlobal", "TCP", "PortMode"), KPortMode_TCP); 566 568 if (!list.contains(strMode)) 567 569 { -
trunk/src/VBox/Frontends/VirtualBox/src/globals/VBoxGlobal.cpp
r54644 r55259 5 5 6 6 /* 7 * Copyright (C) 2006-201 4Oracle Corporation7 * Copyright (C) 2006-2015 Oracle Corporation 8 8 * 9 9 * This file is part of VirtualBox Open Source Edition (OSE), as … … 1323 1323 if (mode == KPortMode_HostPipe || 1324 1324 mode == KPortMode_HostDevice || 1325 mode == KPortMode_TCP || 1325 1326 mode == KPortMode_RawFile) 1326 1327 data += QString ("%1 (<nobr>%2</nobr>)") -
trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/details/UIGDetailsElements.cpp
r55140 r55259 808 808 KPortMode mode = port.GetHostMode(); 809 809 QString data = vboxGlobal().toCOMPortName(port.GetIRQ(), port.GetIOBase()) + ", "; 810 if (mode == KPortMode_HostPipe || mode == KPortMode_HostDevice || mode == KPortMode_RawFile) 810 if (mode == KPortMode_HostPipe || mode == KPortMode_HostDevice || 811 mode == KPortMode_RawFile || mode == KPortMode_TCP) 811 812 data += QString("%1 (%2)").arg(gpConverter->toString(mode)).arg(QDir::toNativeSeparators(port.GetPath())); 812 813 else -
trunk/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsSerial.cpp
r52730 r55259 5 5 6 6 /* 7 * Copyright (C) 2006-201 2Oracle Corporation7 * Copyright (C) 2006-2015 Oracle Corporation 8 8 * 9 9 * This file is part of VirtualBox Open Source Edition (OSE), as … … 63 63 mCbMode->addItem (""); /* KPortMode_HostDevice */ 64 64 mCbMode->addItem (""); /* KPortMode_RawFile */ 65 mCbMode->addItem (""); /* KPortMode_TCP */ 65 66 66 67 /* Setup connections */ … … 94 95 mLbMode->setEnabled(m_pParent->isMachineOffline()); 95 96 mCbMode->setEnabled(m_pParent->isMachineOffline()); 96 mCbPipe->setEnabled(mode == KPortMode_HostPipe && m_pParent->isMachineOffline()); 97 mCbPipe->setEnabled((mode == KPortMode_HostPipe || mode == KPortMode_TCP) 98 && m_pParent->isMachineOffline()); 97 99 mLbPath->setEnabled(m_pParent->isMachineOffline()); 98 100 mLePath->setEnabled(mode != KPortMode_Disconnected && m_pParent->isMachineOffline()); … … 167 169 mCbNumber->setItemText (mCbNumber->count() - 1, vboxGlobal().toCOMPortName (0, 0)); 168 170 171 mCbMode->setItemText (4, gpConverter->toString (KPortMode_TCP)); 169 172 mCbMode->setItemText (3, gpConverter->toString (KPortMode_RawFile)); 170 173 mCbMode->setItemText (2, gpConverter->toString (KPortMode_HostDevice)); … … 205 208 { 206 209 KPortMode mode = gpConverter->fromString<KPortMode> (aText); 207 mCbPipe->setEnabled (mode == KPortMode_HostPipe );210 mCbPipe->setEnabled (mode == KPortMode_HostPipe || mode == KPortMode_TCP); 208 211 mLePath->setEnabled (mode != KPortMode_Disconnected); 209 212 -
trunk/src/VBox/Frontends/VirtualBox/src/settings/machine/UIMachineSettingsSerial.ui
r48576 r55259 3 3 VBox frontends: Qt4 GUI ("VirtualBox"): 4 4 5 Copyright (C) 2008-201 2Oracle Corporation5 Copyright (C) 2008-2015 Oracle Corporation 6 6 7 7 This file is part of VirtualBox Open Source Edition (OSE), as … … 177 177 <widget class="QCheckBox" name="mCbPipe" > 178 178 <property name="whatsThis" > 179 <string>If checked, the pipe specified in the <b>Port Path</b> field will be created by the virtual machine when it starts. Otherwise, the virtual machine will assume that the pipeexists and try to use it.</string>180 </property> 181 <property name="text" > 182 <string>&C reate Pipe</string>179 <string>If checked, the pipe or socket specified in the <b>Port Path</b> field will be created by the virtual machine when it starts. Otherwise, the virtual machine will assume that the pipe or socket exists and try to use it.</string> 180 </property> 181 <property name="text" > 182 <string>&Connect to existing pipe/socket</string> 183 183 </property> 184 184 </widget> … … 187 187 <widget class="QLabel" name="mLbPath" > 188 188 <property name="text" > 189 <string> Port/File &Path:</string>189 <string>&Path/Address:</string> 190 190 </property> 191 191 <property name="alignment" > … … 200 200 <widget class="QLineEdit" name="mLePath" > 201 201 <property name="whatsThis" > 202 <string>Holds the path to the serial port's pipe on the host when the port is working in <b>Host Pipe</b> mode, or the host serial device name when the port is working in <b>Host Device</b> mode.</string> 202 <string>In <b>Host Pipe</b> mode: Holds the path to the serial port's pipe on the host, examples: 203 "\\.\pipe\myvbox" or "/tmp/myvbox", for Windows and UNIX-like systems respectively. 204 In <b>Host Device</b> mode: Holds the host serial device name; examples: "COM1" or "/dev/ttyS0". 205 In <b>Raw file</b> mode: file-path on the host system, where serial output will be dumped. 206 In <b>TCP</b> mode: Holds TCP "port" when in server mode, or "hostname:port" or when in client mode. 207 </string> 203 208 </property> 204 209 </widget> -
trunk/src/VBox/Main/idl/VirtualBox.xidl
r55255 r55259 16419 16419 <enum 16420 16420 name="PortMode" 16421 uuid=" 533b5fe3-0185-4197-86a7-17e37dd39d76"16421 uuid="7485fcfd-d603-470a-87af-26d33beb7de9" 16422 16422 > 16423 16423 <desc> … … 16437 16437 <const name="RawFile" value="3"> 16438 16438 <desc>Virtual device is attached to a raw file.</desc> 16439 </const> 16440 <const name="TCP" value="4"> 16441 <desc>Virtual device is attached to a TCP socket.</desc> 16439 16442 </const> 16440 16443 </enum> … … 16507 16510 Flag whether this serial port acts as a server (creates a new pipe on 16508 16511 the host) or as a client (uses the existing pipe). This attribute is 16509 used only when <link to="#hostMode"/> is PortMode_HostPipe .16512 used only when <link to="#hostMode"/> is PortMode_HostPipe or PortMode_TCP. 16510 16513 </desc> 16511 16514 </attribute> … … 16514 16517 <desc> 16515 16518 Path to the serial port's pipe on the host when <link to="ISerialPort::hostMode"/> is 16516 PortMode_HostPipe, or the host serial device name when 16517 <link to="ISerialPort::hostMode"/> is PortMode_HostDevice. For both 16518 cases, setting a @c null or empty string as the attribute's value 16519 is an error. Otherwise, the value of this property is ignored. 16519 PortMode_HostPipe, the host serial device name when 16520 <link to="ISerialPort::hostMode"/> is PortMode_HostDevice or the TCP 16521 <b>port</b> (server) or <b>hostname:port</b> (client) when 16522 <link to="ISerialPort::hostMode"/> is PortMode_TCP. 16523 For those cases, setting a @c null or empty string as the attribute's 16524 value is an error. Otherwise, the value of this property is ignored. 16520 16525 </desc> 16521 16526 </attribute> -
trunk/src/VBox/Main/src-client/ConsoleImpl2.cpp
r55180 r55259 10 10 11 11 /* 12 * Copyright (C) 2006-201 4Oracle Corporation12 * Copyright (C) 2006-2015 Oracle Corporation 13 13 * 14 14 * This file is part of VirtualBox Open Source Edition (OSE), as … … 2528 2528 InsertConfigString(pLunL1, "DevicePath", bstr); 2529 2529 } 2530 else if (eHostMode == PortMode_TCP) 2531 { 2532 InsertConfigString(pLunL0, "Driver", "Char"); 2533 InsertConfigNode(pLunL0, "AttachedDriver", &pLunL1); 2534 InsertConfigString(pLunL1, "Driver", "TCP"); 2535 InsertConfigNode(pLunL1, "Config", &pLunL2); 2536 InsertConfigString(pLunL2, "Location", bstr); 2537 InsertConfigInteger(pLunL2, "IsServer", fServer); 2538 } 2530 2539 else if (eHostMode == PortMode_RawFile) 2531 2540 { … … 2717 2726 LogRel(("Audio: Automatically setting host audio backend to OSS\n")); 2718 2727 /* Manually set backend to OSS for now. */ 2719 InsertConfigString(pLunL1, "Driver", "OSSAudio"); 2728 InsertConfigString(pLunL1, "Driver", "OSSAudio"); 2720 2729 # else 2721 2730 InsertConfigString(pCfg, "AudioDriver", "solaudio"); -
trunk/src/VBox/Main/src-server/SerialPortImpl.cpp
r54971 r55259 258 258 m->bd->ulSlot); 259 259 break; 260 case PortMode_TCP: 261 if (m->bd->strPath.isEmpty()) 262 return setError(E_INVALIDARG, 263 tr("Cannot set the host device mode of the serial port %d " 264 "because the server address or TCP port is invalid"), 265 m->bd->ulSlot); 266 break; 260 267 case PortMode_Disconnected: 261 268 break; … … 637 644 if ( ( m->bd->portMode == PortMode_HostDevice 638 645 || m->bd->portMode == PortMode_HostPipe 646 || m->bd->portMode == PortMode_TCP 639 647 || m->bd->portMode == PortMode_RawFile 640 648 ) && str.isEmpty() … … 642 650 return setError(E_INVALIDARG, 643 651 tr("Path of the serial port %d may not be empty or null in " 644 "host pipe or host devicemode"),652 "host pipe, host device or TCP mode"), 645 653 m->bd->ulSlot); 646 654 -
trunk/src/VBox/Main/xml/Settings.cpp
r55232 r55259 2565 2565 else if (strPortMode == "Disconnected") 2566 2566 port.portMode = PortMode_Disconnected; 2567 else if (strPortMode == "TCP") 2568 port.portMode = PortMode_TCP; 2567 2569 else 2568 2570 throw ConfigFileError(this, pelmPort, N_("Invalid value '%s' in UART/Port/@hostMode attribute"), strPortMode.c_str()); … … 4647 4649 case PortMode_HostPipe: pcszHostMode = "HostPipe"; break; 4648 4650 case PortMode_HostDevice: pcszHostMode = "HostDevice"; break; 4651 case PortMode_TCP: pcszHostMode = "TCP"; break; 4649 4652 case PortMode_RawFile: pcszHostMode = "RawFile"; break; 4650 4653 default: /*case PortMode_Disconnected:*/ pcszHostMode = "Disconnected"; break; … … 4652 4655 switch (port.portMode) 4653 4656 { 4657 case PortMode_TCP: 4654 4658 case PortMode_HostPipe: 4655 4659 pelmPort->setAttribute("server", port.fServer); … … 5493 5497 if (m->sv < SettingsVersion_v1_15) 5494 5498 { 5499 // VirtualBox 5.0 adds paravirt providers, explicit AHCI port hotplug 5500 // setting, USB storage controller, xHCI and serial port TCP backend. 5501 5495 5502 /* 5496 5503 * Check whether a paravirtualization provider other than "Legacy" is used, if so bump the version. … … 5510 5517 ++it) 5511 5518 { 5512 bool fSettingsBumped = false;5513 5519 const StorageController &sctl = *it; 5514 5520 … … 5516 5522 { 5517 5523 m->sv = SettingsVersion_v1_15; 5518 fSettingsBumped = true; 5519 break; 5524 return; 5520 5525 } 5521 5526 … … 5532 5537 { 5533 5538 m->sv = SettingsVersion_v1_15; 5534 fSettingsBumped = true; 5535 break; 5539 return; 5536 5540 } 5537 5541 } 5538 5539 /* Abort early if possible. */5540 if (fSettingsBumped)5541 return;5542 5542 } 5543 5543 … … 5553 5553 { 5554 5554 m->sv = SettingsVersion_v1_15; 5555 break; 5555 return; 5556 } 5557 } 5558 5559 /* 5560 * Check if any serial port uses the TCP backend. 5561 */ 5562 for (SerialPortsList::const_iterator it = hardwareMachine.llSerialPorts.begin(); 5563 it != hardwareMachine.llSerialPorts.end(); 5564 ++it) 5565 { 5566 const SerialPort &port = *it; 5567 if (port.portMode == PortMode_TCP) 5568 { 5569 m->sv = SettingsVersion_v1_15; 5570 return; 5556 5571 } 5557 5572 } -
trunk/src/VBox/Main/xml/VirtualBox-settings.xsd
r48879 r55259 7 7 * Common definitions 8 8 9 Copyright (C) 2004-201 3Oracle Corporation9 Copyright (C) 2004-2015 Oracle Corporation 10 10 11 11 This file is part of VirtualBox Open Source Edition (OSE), as … … 242 242 <xsd:enumeration value="HostPipe"/> 243 243 <xsd:enumeration value="HostDevice"/> 244 <xsd:enumeration value="TCP"/> 244 245 </xsd:restriction> 245 246 </xsd:simpleType>
注意:
瀏覽 TracChangeset
來幫助您使用更動檢視器