Lines Matching refs:pQ

309  * @param   pQ                  Pointer to the queue.
311 static void ps2kClearQueue(GeneriQ *pQ)
313 LogFlowFunc(("Clearing queue %p\n", pQ));
314 pQ->wpos = pQ->rpos;
315 pQ->cUsed = 0;
322 * @param pQ Pointer to the queue.
325 static void ps2kInsertQueue(GeneriQ *pQ, uint8_t val)
328 if (pQ->cUsed >= pQ->cSize)
330 LogFlowFunc(("queue %p full (%d entries)\n", pQ, pQ->cUsed));
334 pQ->abQueue[pQ->wpos] = val;
335 if (++pQ->wpos == pQ->cSize)
336 pQ->wpos = 0; /* Roll over. */
337 ++pQ->cUsed;
338 LogFlowFunc(("inserted 0x%02X into queue %p\n", val, pQ));
347 * @param pQ Pointer to the queue.
349 static void ps2kSaveQueue(PSSMHANDLE pSSM, GeneriQ *pQ)
351 uint32_t cItems = pQ->cUsed;
359 LogFlow(("Storing %d items from queue %p\n", cItems, pQ));
362 for (i = pQ->rpos; cItems-- > 0; i = (i + 1) % pQ->cSize)
363 SSMR3PutU8(pSSM, pQ->abQueue[i]);
370 * @param pQ Pointer to the queue.
374 static int ps2kLoadQueue(PSSMHANDLE pSSM, GeneriQ *pQ)
379 SSMR3GetU32(pSSM, &pQ->cUsed);
381 LogFlow(("Loading %d items to queue %p\n", pQ->cUsed, pQ));
383 if (pQ->cUsed > pQ->cSize)
385 AssertMsgFailed(("Saved size=%u, actual=%u\n", pQ->cUsed, pQ->cSize));
390 pQ->rpos = 0;
391 pQ->wpos = pQ->cUsed;
392 rc = SSMR3GetMem(pSSM, pQ->abQueue, pQ->cUsed);
422 * @param pQ Pointer to the queue.
428 static int ps2kRemoveQueue(GeneriQ *pQ, uint8_t *pVal)
433 if (pQ->cUsed)
435 *pVal = pQ->abQueue[pQ->rpos];
436 if (++pQ->rpos == pQ->cSize)
437 pQ->rpos = 0; /* Roll over. */
438 --pQ->cUsed;
440 LogFlowFunc(("removed 0x%02X from queue %p\n", *pVal, pQ));
442 LogFlowFunc(("queue %p empty\n", pQ));