Lines Matching +full:get +full:- +full:only
1 /*-
2 * SPDX-License-Identifier: BSD-2-Clause OR GPL-2.0
9 * Copyright(c) 2008 - 2011 Intel Corporation. All rights reserved.
22 * Foundation, Inc., 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
28 * Copyright(c) 2008 - 2011 Intel Corporation. All rights reserved.
60 * is expected to evaluate the pool condition empty before a get
63 * - sci_pool_create()
64 * - sci_pool_initialize()
65 * - sci_pool_empty()
66 * - sci_pool_full()
67 * - sci_pool_get()
68 * - sci_pool_put()
90 U32 get; \
98 * If the pool is empty the user should not perform any get operation on
102 ((this_pool).get == (this_pool).put)
109 (SCI_POOL_INCREMENT(this_pool, (this_pool).put) == (this_pool).get)
114 * get and put pointers can be written simultaneously by different
118 ((this_pool).size - 1)
132 (this_pool).get > (this_pool).put \
133 ? ((this_pool).size - (this_pool).get + (this_pool).put) \
134 : ((this_pool).put - (this_pool).get) \
145 (this_pool).get = 0; \
150 * This macro will get the next free element from the pool.
151 * This should only be called if the pool is not empty.
155 (my_value) = (this_pool).array[(this_pool).get]; \
156 (this_pool).get = SCI_POOL_INCREMENT((this_pool), (this_pool).get); \
161 * This should only be called if the pool is not full.
172 * @note This method can only be utilized on pools