void ICELIB_triggeredfifoIteratorConstructor( ICELIB_TRIGGERED_FIFO_ITERATOR* iterator, ICELIB_TRIGGERED_FIFO* fifo) { ICELIB_fifoIteratorConstructor(iterator, fifo); }
void ICELIB_triggeredFifoRemove(ICELIB_TRIGGERED_FIFO *fifo, ICELIB_LIST_PAIR *pair) { uint32_t *pairId; ICELIB_TRIGGERED_FIFO_ITERATOR tfIterator; ICELIB_fifoIteratorConstructor(&tfIterator, fifo); while ((pairId = pICELIB_fifoIteratorNext(&tfIterator)) != NULL) { if (*pairId == pair->pairId) { *pairId = ICELIB_FIFO_ELEMENT_REMOVED; } } }
bool ICELIB_isTriggeredFifoPairPresent(ICELIB_TRIGGERED_FIFO *fifo, ICELIB_LIST_PAIR *pair, ICELIB_CALLBACK_LOG *callbackLog) { uint32_t *pairId; ICELIB_TRIGGERED_FIFO_ITERATOR tfIterator; ICELIB_fifoIteratorConstructor(&tfIterator, fifo); while ((pairId = pICELIB_fifoIteratorNext(&tfIterator)) != NULL) { if (*pairId == pair->pairId) { ICELIB_log(callbackLog, ICELIB_logDebug, "pair already present in FIFO"); return true; } } return false; }