Lines Matching refs:magazine
196 _IsMagazineEmpty(BaseDepot::Magazine *magazine) in _IsMagazineEmpty() argument
198 return magazine->current_round == 0; in _IsMagazineEmpty()
203 _IsMagazineFull(BaseDepot::Magazine *magazine) in _IsMagazineFull() argument
205 return magazine->current_round == magazine->round_count; in _IsMagazineFull()
210 _PopMagazine(BaseDepot::Magazine *magazine) in _PopMagazine() argument
212 return magazine->rounds[--magazine->current_round]; in _PopMagazine()
217 _PushMagazine(BaseDepot::Magazine *magazine, void *object) in _PushMagazine() argument
219 if (_IsMagazineFull(magazine)) in _PushMagazine()
221 magazine->rounds[magazine->current_round++] = object; in _PushMagazine()
330 BaseDepot::_ExchangeWithFull(Magazine* &magazine) in _ExchangeWithFull() argument
340 SListPush(fEmpty, magazine); in _ExchangeWithFull()
341 magazine = SListPop(fFull); in _ExchangeWithFull()
347 BaseDepot::_ExchangeWithEmpty(Magazine* &magazine) in _ExchangeWithEmpty() argument
359 if (magazine) { in _ExchangeWithEmpty()
360 SListPush(fFull, magazine); in _ExchangeWithEmpty()
364 magazine = SListPop(fEmpty); in _ExchangeWithEmpty()
370 BaseDepot::_EmptyMagazine(Magazine *magazine) in _EmptyMagazine() argument
372 for (uint16_t i = 0; i < magazine->current_round; i++) in _EmptyMagazine()
373 ReturnObject(magazine->rounds[i]); in _EmptyMagazine()
374 _FreeMagazine(magazine); in _EmptyMagazine()
381 Magazine *magazine = (Magazine *)malloc(sizeof(Magazine) in _AllocMagazine() local
383 if (magazine) { in _AllocMagazine()
384 magazine->next = NULL; in _AllocMagazine()
385 magazine->current_round = 0; in _AllocMagazine()
386 magazine->round_count = kMagazineCapacity; in _AllocMagazine()
389 return magazine; in _AllocMagazine()
394 BaseDepot::_FreeMagazine(Magazine *magazine) in _FreeMagazine() argument
396 free(magazine); in _FreeMagazine()