Searched defs:Port (Results 51 - 75 of 89) sorted by relevance

1234

/vbox/src/VBox/Devices/EFI/Firmware/MdeModulePkg/Bus/Pci/UhciPei/
H A DUhcPeim.c651 // Port Register content is valid
712 // Port Enabled/Disabled
718 // Port Suspend
724 // Port Reset
736 // Fill Port Status Change bits
745 // Port Enabled/Disabled Change
1078 @param Port The IO space address of the register.
1086 IN UINT32 Port
1089 return IoRead16 (Port);
1096 @param Port Th
1101 USBWritePortW( IN USB_UHC_DEV *UhcDev, IN UINT32 Port, IN UINT16 Data ) argument
1119 USBWritePortDW( IN USB_UHC_DEV *UhcDev, IN UINT32 Port, IN UINT32 Data ) argument
[all...]
/vbox/src/VBox/Devices/EFI/Firmware/MdeModulePkg/Bus/Pci/XhciDxe/
H A DXhciSched.c1322 @param Port The port to be polled.
1334 IN UINT8 Port,
1347 RouteChart.Route.RootPortNum = Port + 1;
1350 if(Port < 14) {
1351 RouteChart.Route.RouteString = ParentRouteChart.Route.RouteString | (Port << (4 * (ParentRouteChart.Route.TierNum - 1)));
1378 Status = XhcInitializeDeviceSlot (Xhc, ParentRouteChart, Port, RouteChart, Speed);
1380 Status = XhcInitializeDeviceSlot64 (Xhc, ParentRouteChart, Port, RouteChart, Speed);
1331 XhcPollPortStatusChange( IN USB_XHCI_INSTANCE *Xhc, IN USB_DEV_ROUTE ParentRouteChart, IN UINT8 Port, IN EFI_USB_PORT_STATUS *PortState ) argument
/vbox/src/VBox/Devices/Bus/
H A DDevPciIch9.cpp102 /** Value latched in Configuration Address Port (0CF8h) */
237 * Port I/O Handler for PCI address OUT operations.
239 * Emulates writes to Configuration Address Port at 0CF8h for
246 * @param uPort Port number used for the OUT operation.
250 PDMBOTHCBDECL(int) ich9pciIOPortAddressWrite(PPDMDEVINS pDevIns, void *pvUser, RTIOPORT Port, uint32_t u32, unsigned cb) argument
252 LogFlow(("ich9pciIOPortAddressWrite: Port=%#x u32=%#x cb=%d\n", Port, u32, cb));
274 * Port I/O Handler for PCI address IN operations.
276 * Emulates reads from Configuration Address Port at 0CF8h for
283 * @param uPort Port numbe
287 ich9pciIOPortAddressRead(PPDMDEVINS pDevIns, void *pvUser, RTIOPORT Port, uint32_t *pu32, unsigned cb) argument
394 ich9pciIOPortDataWrite(PPDMDEVINS pDevIns, void *pvUser, RTIOPORT Port, uint32_t u32, unsigned cb) argument
514 ich9pciIOPortDataRead(PPDMDEVINS pDevIns, void *pvUser, RTIOPORT Port, uint32_t *pu32, unsigned cb) argument
[all...]
H A DSrvPciRawR0.cpp61 /* Port pointer. */
267 /** Port, given to the outside world. */
697 uint16_t Port,
706 ASMOutU8 (Port, u32);
709 ASMOutU16(Port, u32);
712 ASMOutU32(Port, u32);
724 uint16_t Port,
733 *pu32 = ASMInU8 (Port);
736 *pu32 = ASMInU16(Port);
739 *pu32 = ASMInU32(Port);
695 pcirawr0PioWrite(PSUPDRVSESSION pSession, PCIRAWDEVHANDLE TargetDevice, uint16_t Port, uint32_t u32, unsigned cb) argument
722 pcirawr0PioRead(PSUPDRVSESSION pSession, PCIRAWDEVHANDLE TargetDevice, uint16_t Port, uint32_t *pu32, unsigned cb) argument
[all...]
H A DDevPCI.cpp218 PDMBOTHCBDECL(int) pciIOPortAddressWrite(PPDMDEVINS pDevIns, void *pvUser, RTIOPORT Port, uint32_t u32, unsigned cb);
219 PDMBOTHCBDECL(int) pciIOPortAddressRead(PPDMDEVINS pDevIns, void *pvUser, RTIOPORT Port, uint32_t *pu32, unsigned cb);
220 PDMBOTHCBDECL(int) pciIOPortDataWrite(PPDMDEVINS pDevIns, void *pvUser, RTIOPORT Port, uint32_t u32, unsigned cb);
221 PDMBOTHCBDECL(int) pciIOPortDataRead(PPDMDEVINS pDevIns, void *pvUser, RTIOPORT Port, uint32_t *pu32, unsigned cb);
1127 PDMBOTHCBDECL(int) pciIOPortAddressWrite(PPDMDEVINS pDevIns, void *pvUser, RTIOPORT Port, uint32_t u32, unsigned cb) argument
1129 Log(("pciIOPortAddressWrite: Port=%#x u32=%#x cb=%d\n", Port, u32, cb));
1147 PDMBOTHCBDECL(int) pciIOPortAddressRead(PPDMDEVINS pDevIns, void *pvUser, RTIOPORT Port, uint32_t *pu32, unsigned cb) argument
1156 Log(("pciIOPortAddressRead: Port=%#x cb=%d -> %#x\n", Port, c
1169 pciIOPortDataWrite(PPDMDEVINS pDevIns, void *pvUser, RTIOPORT Port, uint32_t u32, unsigned cb) argument
1189 pciIOPortDataRead(PPDMDEVINS pDevIns, void *pvUser, RTIOPORT Port, uint32_t *pu32, unsigned cb) argument
[all...]
/vbox/src/VBox/Devices/EFI/
H A DDevSmc.cpp1185 PDMBOTHCBDECL(int) smcIoPortWrite(PPDMDEVINS pDevIns, void *pvUser, RTIOPORT Port, uint32_t u32, unsigned cb) argument
1196 uint32_t uReg = Port - SMC_PORT_FIRST;
1226 PDMBOTHCBDECL(int) smcIoPortRead(PPDMDEVINS pDevIns, void *pvUser, RTIOPORT Port, uint32_t *pu32, unsigned cb) argument
1238 uint32_t uReg = Port - SMC_PORT_FIRST;
H A DDevEFI.cpp1303 * Port I/O Handler for IN operations.
1309 * @param Port Port number used for the IN operation.
1313 static DECLCALLBACK(int) efiIOPortRead(PPDMDEVINS pDevIns, void *pvUser, RTIOPORT Port, uint32_t *pu32, unsigned cb) argument
1316 Log4(("EFI in: %x %x\n", Port, cb));
1318 switch (Port)
1388 * Port I/O Handler for OUT operations.
1394 * @param Port Port number used for the IN operation.
1398 static DECLCALLBACK(int) efiIOPortWrite(PPDMDEVINS pDevIns, void *pvUser, RTIOPORT Port, uint32_ argument
[all...]
/vbox/src/VBox/Devices/EFI/Firmware/SourceLevelDebugPkg/Include/
H A DTransferProtocol.h280 UINT16 Port; member in struct:__anon12911
295 UINT16 Port; member in struct:__anon12913
/vbox/src/VBox/Devices/PC/
H A DDevPcBios.cpp207 static DECLCALLBACK(int) pcbiosIOPortRead(PPDMDEVINS pDevIns, void *pvUser, RTIOPORT Port, uint32_t *pu32, unsigned cb) argument
216 static DECLCALLBACK(int) pcbiosIOPortWrite(PPDMDEVINS pDevIns, void *pvUser, RTIOPORT Port, uint32_t u32, unsigned cb) argument
222 && ( Port == 0x402
223 || Port == 0x403))
260 if (cb == 1 && Port == 0x8900)
H A DDevPit-i8254.cpp582 PDMBOTHCBDECL(int) pitIOPortRead(PPDMDEVINS pDevIns, void *pvUser, RTIOPORT Port, uint32_t *pu32, unsigned cb) argument
584 Log2(("pitIOPortRead: Port=%#x cb=%x\n", Port, cb));
586 Port &= 3;
587 if (cb != 1 || Port == 3)
589 Log(("pitIOPortRead: Port=%#x cb=%x *pu32=unused!\n", Port, cb));
594 PPITCHANNEL pChan = &pThis->channels[Port];
655 Log2(("pitIOPortRead: Port=%#x cb=%x *pu32=%#04x\n", Port, c
663 pitIOPortWrite(PPDMDEVINS pDevIns, void *pvUser, RTIOPORT Port, uint32_t u32, unsigned cb) argument
784 pitIOPortSpeakerRead(PPDMDEVINS pDevIns, void *pvUser, RTIOPORT Port, uint32_t *pu32, unsigned cb) argument
830 pitIOPortSpeakerWrite(PPDMDEVINS pDevIns, void *pvUser, RTIOPORT Port, uint32_t u32, unsigned cb) argument
[all...]
H A DDevRTC.cpp301 /* -=-=-=-=-=- I/O Port Handlers -=-=-=-=-=- */
307 PDMBOTHCBDECL(int) rtcIOPortRead(PPDMDEVINS pDevIns, void *pvUser, RTIOPORT Port, uint32_t *pu32, unsigned cb) argument
314 if ((Port & 1) == 0)
318 unsigned bank = (Port >> 1) & 1;
365 PDMBOTHCBDECL(int) rtcIOPortWrite(PPDMDEVINS pDevIns, void *pvUser, RTIOPORT Port, uint32_t u32, unsigned cb) argument
372 uint32_t bank = (Port >> 1) & 1;
373 if ((Port & 1) == 0)
H A DDevACPI.cpp68 /* Port offsets in PM device */
638 PDMBOTHCBDECL(int) acpiPMTmrRead(PPDMDEVINS pDevIns, void *pvUser, RTIOPORT Port, uint32_t *pu32, unsigned cb);
1051 PDMBOTHCBDECL(int) acpiR3BatIndexWrite(PPDMDEVINS pDevIns, void *pvUser, RTIOPORT Port, uint32_t u32, unsigned cb) argument
1055 return PDMDevHlpDBGFStop(pDevIns, RT_SRC_POS, "cb=%d Port=%u u32=%#x\n", cb, Port, u32);
1077 PDMBOTHCBDECL(int) acpiR3BatDataRead(PPDMDEVINS pDevIns, void *pvUser, RTIOPORT Port, uint32_t *pu32, unsigned cb)
1120 rc = PDMDevHlpDBGFStop(pDevIns, RT_SRC_POS, "cb=%d Port=%u idx=%u\n", cb, Port, pThis->uBatteryIndex);
1132 PDMBOTHCBDECL(int) acpiR3SysInfoIndexWrite(PPDMDEVINS pDevIns, void *pvUser, RTIOPORT Port, uint32_t u32, unsigned cb)
1136 return PDMDevHlpDBGFStop(pDevIns, RT_SRC_POS, "cb=%d Port
[all...]
/vbox/src/VBox/Devices/PC/ipxe/src/drivers/infiniband/
H A Dqib7322.h73 pseudo_bit_t Port[1]; member in struct:QIB_7322_SendPbc_pb
/vbox/src/VBox/VMM/include/
H A DIOMInternal.h140 /** Avl node core with Port as Key and Port + cPorts - 1 as KeyLast. */
146 RTIOPORT Port; member in struct:IOMIOPORTRANGER3
172 /** Avl node core with Port as Key and Port + cPorts - 1 as KeyLast. */
178 RTIOPORT Port; member in struct:IOMIOPORTRANGER0
204 /** Avl node core with Port as Key and Port + cPorts - 1 as KeyLast. */
207 RTIOPORT Port; member in struct:IOMIOPORTRANGERC
337 /** @name I/O Port statistic
[all...]
/vbox/src/VBox/Devices/EFI/Firmware/MdeModulePkg/Universal/Network/Tcp4Dxe/
H A DTcp4Proto.h154 /// Network endpoint, IP+Port structure
158 TCP_PORTNO Port; ///< Port number, network byte order member in struct:_TCP_PEER
325 (((Pa)->Ip == (Pb)->Ip) && ((Pa)->Port == (Pb)->Port))
333 (((Pb)->Port == 0) || ((Pb)->Port == (Pa)->Port)))
/vbox/src/VBox/Devices/EFI/Firmware/NetworkPkg/TcpDxe/
H A DTcpProto.h193 (((Pa)->Port == (Pb)->Port) && TcpIsIpEqual(&((Pa)->Ip), &((Pb)->Ip), Ver))
201 (((Pb)->Port == 0) || ((Pb)->Port == (Pa)->Port)) && \
229 /// Network endpoint, IP plus Port structure.
233 TCP_PORTNO Port; ///< Port number, in network byte order. member in struct:_TCP_PEER
/vbox/src/VBox/Devices/Graphics/
H A DDevVGA-SVGA.cpp1412 * Port I/O Handler for IN operations.
1419 * @param uPort Port number used for the IN operation.
1424 PDMBOTHCBDECL(int) vmsvgaIORead(PPDMDEVINS pDevIns, void *pvUser, RTIOPORT Port, uint32_t *pu32, unsigned cb) argument
1432 Log(("Ignoring non-dword read at %x cb=%d\n", Port, cb));
1437 switch (Port - pThis->svga.BasePort)
1460 * Port I/O Handler for OUT operations.
1466 * @param uPort Port number used for the OUT operation.
1470 PDMBOTHCBDECL(int) vmsvgaIOWrite(PPDMDEVINS pDevIns, void *pvUser, RTIOPORT Port, uint32_t u32, unsigned cb) argument
1478 Log(("Ignoring non-dword write at %x val=%x cb=%d\n", Port, u32, cb));
1482 switch (Port
[all...]
/vbox/src/VBox/Devices/Input/
H A DDevPS2.cpp70 PDMBOTHCBDECL(int) kbdIOPortDataRead(PPDMDEVINS pDevIns, void *pvUser, RTIOPORT Port, uint32_t *pu32, unsigned cb);
71 PDMBOTHCBDECL(int) kbdIOPortDataWrite(PPDMDEVINS pDevIns, void *pvUser, RTIOPORT Port, uint32_t u32, unsigned cb);
72 PDMBOTHCBDECL(int) kbdIOPortStatusRead(PPDMDEVINS pDevIns, void *pvUser, RTIOPORT Port, uint32_t *pu32, unsigned cb);
73 PDMBOTHCBDECL(int) kbdIOPortCommandWrite(PPDMDEVINS pDevIns, void *pvUser, RTIOPORT Port, uint32_t u32, unsigned cb);
1331 * Port I/O Handler for keyboard data IN operations.
1337 * @param Port Port number used for the IN operation.
1341 PDMBOTHCBDECL(int) kbdIOPortDataRead(PPDMDEVINS pDevIns, void *pvUser, RTIOPORT Port, uint32_t *pu32, unsigned cb) argument
1347 *pu32 = kbd_read_data(pThis, Port);
1348 Log2(("kbdIOPortDataRead: Port
1366 kbdIOPortDataWrite(PPDMDEVINS pDevIns, void *pvUser, RTIOPORT Port, uint32_t u32, unsigned cb) argument
1392 kbdIOPortStatusRead(PPDMDEVINS pDevIns, void *pvUser, RTIOPORT Port, uint32_t *pu32, unsigned cb) argument
1417 kbdIOPortCommandWrite(PPDMDEVINS pDevIns, void *pvUser, RTIOPORT Port, uint32_t u32, unsigned cb) argument
[all...]
/vbox/src/VBox/Devices/Serial/
H A DDevSerial.cpp849 /* -=-=-=-=-=-=-=-=- I/O Port Access Handlers -=-=-=-=-=-=-=-=- */
854 PDMBOTHCBDECL(int) serialIOPortWrite(PPDMDEVINS pDevIns, void *pvUser, RTIOPORT Port, uint32_t u32, unsigned cb) argument
862 Log2(("%s: port %#06x val %#04x\n", __FUNCTION__, Port, u32));
863 rc = serial_ioport_write(pThis, Port, u32);
867 AssertMsgFailed(("Port=%#x cb=%d u32=%#x\n", Port, cb, u32));
878 PDMBOTHCBDECL(int) serialIOPortRead(PPDMDEVINS pDevIns, void *pvUser, RTIOPORT Port, uint32_t *pu32, unsigned cb) argument
886 *pu32 = serial_ioport_read(pThis, Port, &rc);
887 Log2(("%s: port %#06x val %#04x\n", __FUNCTION__, Port, *pu32));
1399 "Serial Communication Port",
[all...]
/vbox/src/VBox/Devices/VMMDev/
H A DVMMDev.cpp2378 * @returns Port I/O handler exit code.
2647 * @callback_method_impl{FNIOMIOPORTOUT, Port I/O Handler for the generic
2650 static DECLCALLBACK(int) vmmdevRequestHandler(PPDMDEVINS pDevIns, void *pvUser, RTIOPORT Port, uint32_t u32, unsigned cb) argument
2831 * @interface_method_impl{FNPCIIOREGIONMAP, I/O Port Region}
2858 static DECLCALLBACK(int) vmmdevBackdoorLog(PPDMDEVINS pDevIns, void *pvUser, RTIOPORT Port, uint32_t u32, unsigned cb) argument
2862 if (!pThis->fBackdoorLogDisabled && cb == 1 && Port == RTLOG_DEBUG_PORT)
2902 static DECLCALLBACK(int) vmmdevAltTimeSyncWrite(PPDMDEVINS pDevIns, void *pvUser, RTIOPORT Port, uint32_t u32, unsigned cb) argument
2929 static DECLCALLBACK(int) vmmdevAltTimeSyncRead(PPDMDEVINS pDevIns, void *pvUser, RTIOPORT Port, uint32_t *pu32, unsigned cb) argument
4042 rc = PDMDevHlpDriverAttach(pDevIns, 0, &pThis->IBase, &pThis->pDrvBase, "VMM Driver Port");
4074 rc = PDMDevHlpDriverAttach(pDevIns, PDM_STATUS_LUN, &pThis->IBase, &pBase, "Status Port");
[all...]
/vbox/include/iprt/
H A Dasm-amd64-x86.h2552 * @param Port I/O port to write to.
2556 DECLASM(void) ASMOutU8(RTIOPORT Port, uint8_t u8);
2558 DECLINLINE(void) ASMOutU8(RTIOPORT Port, uint8_t u8) argument
2562 :: "Nd" (Port),
2566 __outbyte(Port, u8);
2571 mov dx, [Port]
2584 * @param Port I/O port to read from.
2587 DECLASM(uint8_t) ASMInU8(RTIOPORT Port); variable
2589 DECLINLINE(uint8_t) ASMInU8(RTIOPORT Port) argument
2595 : "Nd" (Port));
2622 ASMOutU16(RTIOPORT Port, uint16_t u16) argument
2651 DECLASM(uint16_t) ASMInU16(RTIOPORT Port); variable
2653 ASMInU16(RTIOPORT Port) argument
2686 ASMOutU32(RTIOPORT Port, uint32_t u32) argument
2715 DECLASM(uint32_t) ASMInU32(RTIOPORT Port); variable
2717 ASMInU32(RTIOPORT Port) argument
2751 ASMOutStrU8(RTIOPORT Port, uint8_t const *pau8, size_t c) argument
2787 ASMInStrU8(RTIOPORT Port, uint8_t *pau8, size_t c) argument
2823 ASMOutStrU16(RTIOPORT Port, uint16_t const *pau16, size_t c) argument
2859 ASMInStrU16(RTIOPORT Port, uint16_t *pau16, size_t c) argument
2895 ASMOutStrU32(RTIOPORT Port, uint32_t const *pau32, size_t c) argument
2931 ASMInStrU32(RTIOPORT Port, uint32_t *pau32, size_t c) argument
[all...]
/vbox/src/VBox/VMM/VMMR3/
H A DPDMDevHlp.cpp99 static DECLCALLBACK(int) pdmR3DevHlp_IOPortRegister(PPDMDEVINS pDevIns, RTIOPORT Port, RTIOPORT cPorts, RTHCPTR pvUser, PFNIOMIOPORTOUT pfnOut, PFNIOMIOPORTIN pfnIn, argument
103 LogFlow(("pdmR3DevHlp_IOPortRegister: caller='%s'/%d: Port=%#x cPorts=%#x pvUser=%p pfnOut=%p pfnIn=%p pfnOutStr=%p pfnInStr=%p p32_tszDesc=%p:{%s}\n", pDevIns->pReg->szName, pDevIns->iInstance,
104 Port, cPorts, pvUser, pfnOut, pfnIn, pfnOutStr, pfnInStr, pszDesc, pszDesc));
116 int rc = IOMR3IOPortRegisterR3(pDevIns->Internal.s.pVMR3, pDevIns, Port, cPorts, pvUser,
125 static DECLCALLBACK(int) pdmR3DevHlp_IOPortRegisterRC(PPDMDEVINS pDevIns, RTIOPORT Port, RTIOPORT cPorts, RTRCPTR pvUser, argument
132 LogFlow(("pdmR3DevHlp_IOPortRegisterRC: caller='%s'/%d: Port=%#x cPorts=%#x pvUser=%p pszOut=%p:{%s} pszIn=%p:{%s} pszOutStr=%p:{%s} pszInStr=%p:{%s} pszDesc=%p:{%s}\n", pDevIns->pReg->szName, pDevIns->iInstance,
133 Port, cPorts, pvUser, pszOut, pszOut, pszIn, pszIn, pszOutStr, pszOutStr, pszInStr, pszInStr, pszDesc, pszDesc));
179 rc = IOMR3IOPortRegisterRC(pVM, pDevIns, Port, cPorts, pvUser, RCPtrOut, RCPtrIn, RCPtrOutStr, RCPtrInStr, pszDesc);
194 static DECLCALLBACK(int) pdmR3DevHlp_IOPortRegisterR0(PPDMDEVINS pDevIns, RTIOPORT Port, RTIOPORT cPorts, RTR0PTR pvUser, argument
200 LogFlow(("pdmR3DevHlp_IOPortRegisterR0: caller='%s'/%d: Port
261 pdmR3DevHlp_IOPortDeregister(PPDMDEVINS pDevIns, RTIOPORT Port, RTIOPORT cPorts) argument
[all...]
/vbox/src/VBox/Devices/Audio/
H A DDevIchAc97.cpp1545 static DECLCALLBACK(int) ichac97IOPortNABMRead(PPDMDEVINS pDevIns, void *pvUser, RTIOPORT Port, uint32_t *pu32, unsigned cb) argument
1554 uint32_t index = Port - pThis->IOPortBase[1];
1606 LogFlowFunc(("U nabm readb %#x -> %#x\n", Port, *pu32));
1615 uint32_t index = Port - pThis->IOPortBase[1];
1637 LogFlowFunc(("U nabm readw %#x -> %#x\n", Port, *pu32));
1646 uint32_t index = Port - pThis->IOPortBase[1];
1690 LogFlowFunc(("U nabm readl %#x -> %#x\n", Port, *pu32));
1705 static DECLCALLBACK(int) ichac97IOPortNABMWrite(PPDMDEVINS pDevIns, void *pvUser, RTIOPORT Port, uint32_t u32, unsigned cb) argument
1714 uint32_t index = Port - pThis->IOPortBase[1];
1768 LogFlowFunc(("U nabm writeb %#x <- %#x\n", Port, u3
1843 ichac97IOPortNAMRead(PPDMDEVINS pDevIns, void *pvUser, RTIOPORT Port, uint32_t *pu32, unsigned cb) argument
1889 ichac97IOPortNAMWrite(PPDMDEVINS pDevIns, void *pvUser, RTIOPORT Port, uint32_t u32, unsigned cb) argument
2035 RTIOPORT Port = (RTIOPORT)GCPhysAddress; local
[all...]
/vbox/src/VBox/Devices/Graphics/shaderlib/wine/include/
H A Dwinsock2.h545 } Port; member in union:_WSACOMPLETION::__anon14572
/vbox/src/VBox/Devices/Storage/
H A DDevFdc.cpp2350 /* -=-=-=-=-=-=-=-=- I/O Port Access Handlers -=-=-=-=-=-=-=-=- */
2355 static DECLCALLBACK(int) fdcIoPortWrite(PPDMDEVINS pDevIns, void *pvUser, RTIOPORT Port, uint32_t u32, unsigned cb) argument
2358 fdctrl_write (pvUser, Port & 7, u32);
2360 AssertMsgFailed(("Port=%#x cb=%d u32=%#x\n", Port, cb, u32));
2368 static DECLCALLBACK(int) fdcIoPortRead(PPDMDEVINS pDevIns, void *pvUser, RTIOPORT Port, uint32_t *pu32, unsigned cb) argument
2372 *pu32 = fdctrl_read (pvUser, Port & 7);
2945 rc = PDMDevHlpDriverAttach(pDevIns, PDM_STATUS_LUN, &pThis->IBaseStatus, &pBase, "Status Port");

Completed in 173 milliseconds

1234