Lines Matching defs:ReqWrap
638 VBGLBIGREQ ReqWrap;
639 if (IOCPARM_LEN(Cmd) != sizeof(ReqWrap))
641 LogRel((DEVICE_NAME "::IOCtl: bad request %#x size=%d expected=%d\n", Cmd, IOCPARM_LEN(Cmd), sizeof(ReqWrap)));
645 int rc = ddi_copyin((void *)pArg, &ReqWrap, sizeof(ReqWrap), Mode);
652 if (ReqWrap.u32Magic != VBGLBIGREQ_MAGIC)
654 LogRel((DEVICE_NAME "::IOCtl: bad magic %#x; pArg=%p Cmd=%#x.\n", ReqWrap.u32Magic, pArg, Cmd));
657 if (RT_UNLIKELY(ReqWrap.cbData > _1M*16))
659 LogRel((DEVICE_NAME "::IOCtl: bad size %#x; pArg=%p Cmd=%#x.\n", ReqWrap.cbData, pArg, Cmd));
667 if (RT_LIKELY(ReqWrap.cbData > 0))
669 pvBuf = RTMemTmpAlloc(ReqWrap.cbData);
672 LogRel((DEVICE_NAME "::IOCtl: RTMemTmpAlloc failed to alloc %d bytes.\n", ReqWrap.cbData));
676 rc = ddi_copyin((void *)(uintptr_t)ReqWrap.pvDataR3, pvBuf, ReqWrap.cbData, Mode);
696 rc = VbgdCommonIoCtl(Cmd, &g_DevExt, pSession, pvBuf, ReqWrap.cbData, &cbDataReturned);
700 if (RT_UNLIKELY(cbDataReturned > ReqWrap.cbData))
702 LogRel((DEVICE_NAME "::IOCtl: too much output data %d expected %d\n", cbDataReturned, ReqWrap.cbData));
703 cbDataReturned = ReqWrap.cbData;
707 rc = ddi_copyout(pvBuf, (void *)(uintptr_t)ReqWrap.pvDataR3, cbDataReturned, Mode);