source: SVN/cambria/redboot/packages/devs/eth/intel/npe/common/current/include/osal/modules/bufferMgt/IxOsalBufferMgt.h @ 1

Last change on this file since 1 was 1, checked in by Tim Harvey, 2 years ago

restored latest version of files from server backup

Signed-off-by: Tim Harvey <tharvey@…>

File size: 17.1 KB
Line 
1/**
2 * @file IxOsalBufferMgt.h
3 *
4 * @brief OSAL Buffer pool management and buffer management definitions.
5 *
6 * Design Notes:
7 *
8 * @par
9 * IXP400 SW Release version  2.0
10 *
11 * -- Intel Copyright Notice --
12 *
13 * @par
14 * Copyright 2002-2005 Intel Corporation All Rights Reserved.
15 *
16 * @par
17 * The source code contained or described herein and all documents
18 * related to the source code ("Material") are owned by Intel Corporation
19 * or its suppliers or licensors.  Title to the Material remains with
20 * Intel Corporation or its suppliers and licensors.
21 *
22 * @par
23 * The Material is protected by worldwide copyright and trade secret laws
24 * and treaty provisions. No part of the Material may be used, copied,
25 * reproduced, modified, published, uploaded, posted, transmitted,
26 * distributed, or disclosed in any way except in accordance with the
27 * applicable license agreement .
28 *
29 * @par
30 * No license under any patent, copyright, trade secret or other
31 * intellectual property right is granted to or conferred upon you by
32 * disclosure or delivery of the Materials, either expressly, by
33 * implication, inducement, estoppel, except in accordance with the
34 * applicable license agreement.
35 *
36 * @par
37 * Unless otherwise agreed by Intel in writing, you may not remove or
38 * alter this notice or any other notice embedded in Materials by Intel
39 * or Intel's suppliers or licensors in any way.
40 *
41 * @par
42 * For further details, please see the file README.TXT distributed with
43 * this software.
44 *
45 * @par
46 * -- End Intel Copyright Notice --
47 */
48/* @par
49 * -- Copyright Notice --
50 *
51 * @par
52 * Copyright 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
53 *      The Regents of the University of California. All rights reserved.
54 *
55 * @par
56 * Redistribution and use in source and binary forms, with or without
57 * modification, are permitted provided that the following conditions
58 * are met:
59 * 1. Redistributions of source code must retain the above copyright
60 *    notice, this list of conditions and the following disclaimer.
61 * 2. Redistributions in binary form must reproduce the above copyright
62 *    notice, this list of conditions and the following disclaimer in the
63 *    documentation and/or other materials provided with the distribution.
64 * 3. Neither the name of the University nor the names of its contributors
65 *    may be used to endorse or promote products derived from this software
66 *    without specific prior written permission.
67 *
68 * @par
69 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
70 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
71 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
72 * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
73 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
74 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
75 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
76 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
77 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
78 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
79 * SUCH DAMAGE.
80 *
81 * @par
82 * -- End of Copyright Notice --
83 */
84
85#ifndef IxOsalBufferMgt_H
86#define IxOsalBufferMgt_H
87
88#include "IxOsal.h"
89/**
90 * @defgroup IxOsalBufferMgt OSAL Buffer Management Module.
91 *
92 * @brief Buffer management module for IxOsal
93 *
94 * @{
95 */
96
97/**
98 * @ingroup IxOsalBufferMgt
99 *
100 * @def IX_OSAL_MBUF_MAX_POOLS
101 *
102 * @brief The maximum number of pools that can be allocated, must be
103 *        a multiple of 32 as required by implementation logic.
104 * @note  This can safely be increased if more pools are required.
105 */
106#define IX_OSAL_MBUF_MAX_POOLS      32
107
108/**
109 * @ingroup IxOsalBufferMgt
110 *
111 * @def IX_OSAL_MBUF_POOL_NAME_LEN
112 *
113 * @brief The maximum string length of the pool name
114 */
115#define IX_OSAL_MBUF_POOL_NAME_LEN  64
116
117
118
119/**
120 *  Define IX_OSAL_MBUF
121 */
122
123
124/* forward declaration of internal structure */
125struct __IXP_BUF;
126
127/*
128 * OS can define it in IxOsalOs.h to skip the following
129 * definition.
130 */
131#ifndef IX_OSAL_ATTRIBUTE_ALIGN32
132#define IX_OSAL_ATTRIBUTE_ALIGN32 __attribute__ ((aligned(32)))
133#endif
134
135/* release v1.4 backward compatible definitions */
136struct __IX_MBUF
137{
138    struct __IXP_BUF *ix_next IX_OSAL_ATTRIBUTE_ALIGN32;
139    struct __IXP_BUF *ix_nextPacket;
140    UINT8 *ix_data;
141    UINT32 ix_len; 
142    unsigned char ix_type;
143    unsigned char ix_flags;
144    unsigned short ix_reserved;
145    UINT32 ix_rsvd;
146    UINT32 ix_PktLen; 
147    void *ix_priv;     
148};
149
150struct __IX_CTRL
151{
152    UINT32 ix_reserved[2];        /**< Reserved field */
153    UINT32 ix_signature;          /**< Field to indicate if buffers are allocated by the system */   
154    UINT32 ix_allocated_len;      /**< Allocated buffer length */ 
155    UINT32 ix_allocated_data;     /**< Allocated buffer data pointer */ 
156    void *ix_pool;                /**< pointer to the buffer pool */
157    struct __IXP_BUF *ix_chain;   /**< chaining */ 
158    void *ix_osbuf_ptr;           /**< Storage for OS-specific buffer pointer */
159};
160
161struct __IX_NE_SHARED
162{
163    UINT32 reserved[8] IX_OSAL_ATTRIBUTE_ALIGN32;   /**< Reserved area for NPE Service-specific usage */
164};
165
166
167/*
168 * IXP buffer structure
169 */
170typedef struct __IXP_BUF
171{
172    struct __IX_MBUF ix_mbuf IX_OSAL_ATTRIBUTE_ALIGN32; /**< buffer header */
173    struct __IX_CTRL ix_ctrl;                           /**< buffer management */
174    struct __IX_NE_SHARED ix_ne;                        /**< Reserved area for NPE Service-specific usage*/
175} IXP_BUF;
176
177
178
179/**
180 * @ingroup IxOsalBufferMgt
181 *
182 * @def typedef IX_OSAL_MBUF
183 *
184 * @brief Generic IXP mbuf format.
185 */
186typedef IXP_BUF IX_OSAL_MBUF;
187
188
189/**
190 * @ingroup IxOsalBufferMgt
191 *
192 * @def IX_OSAL_IXP_NEXT_BUFFER_IN_PKT_PTR(m_blk_ptr)
193 *
194 * @brief Return pointer to the next mbuf in a single packet
195 */
196#define IX_OSAL_MBUF_NEXT_BUFFER_IN_PKT_PTR(m_blk_ptr)  \
197        (m_blk_ptr)->ix_mbuf.ix_next
198
199
200/**
201 * @ingroup IxOsalBufferMgt
202 *
203 * @def IX_OSAL_MBUF_NEXT_PKT_IN_CHAIN_PTR(m_blk_ptr)
204 *
205 * @brief Return pointer to the next packet in the chain
206 */
207#define IX_OSAL_MBUF_NEXT_PKT_IN_CHAIN_PTR(m_blk_ptr)  \
208        (m_blk_ptr)->ix_mbuf.ix_nextPacket
209
210
211/**
212 * @ingroup IxOsalBufferMgt
213 *
214 * @def IX_OSAL_MBUF_MDATA(m_blk_ptr)
215 *
216 * @brief Return pointer to the data in the mbuf
217 */
218#define IX_OSAL_MBUF_MDATA(m_blk_ptr)       (m_blk_ptr)->ix_mbuf.ix_data
219
220/**
221 * @ingroup IxOsalBufferMgt
222 *
223 * @def IX_OSAL_MBUF_MLEN(m_blk_ptr)
224 *
225 * @brief Return the data length
226 */
227#define IX_OSAL_MBUF_MLEN(m_blk_ptr) \
228    (m_blk_ptr)->ix_mbuf.ix_len
229
230/**
231 * @ingroup IxOsalBufferMgt
232 *
233 * @def IX_OSAL_MBUF_MTYPE(m_blk_ptr)
234 *
235 * @brief Return the data type in the mbuf
236 */
237#define IX_OSAL_MBUF_MTYPE(m_blk_ptr) \
238    (m_blk_ptr)->ix_mbuf.ix_type
239
240
241/**
242 * @ingroup IxOsalBufferMgt
243 *
244 * @def IX_OSAL_MBUF_FLAGS(m_blk_ptr)
245 *
246 * @brief Return the buffer flags
247 */
248#define IX_OSAL_MBUF_FLAGS(m_blk_ptr)       \
249        (m_blk_ptr)->ix_mbuf.ix_flags
250
251
252/**
253 * @ingroup IxOsalBufferMgt
254 *
255 * @def IX_OSAL_MBUF_NET_POOL(m_blk_ptr)
256 *
257 * @brief Return pointer to a network pool
258 */
259#define IX_OSAL_MBUF_NET_POOL(m_blk_ptr)        \
260        (m_blk_ptr)->ix_ctrl.ix_pool
261
262
263
264/**
265 * @ingroup IxOsalBufferMgt
266 *
267 * @def IX_OSAL_MBUF_PKT_LEN(m_blk_ptr)
268 *
269 * @brief Return the total length of all the data in
270 * the mbuf chain for this packet
271 */
272#define IX_OSAL_MBUF_PKT_LEN(m_blk_ptr) \
273        (m_blk_ptr)->ix_mbuf.ix_PktLen
274
275
276
277
278/**
279 * @ingroup IxOsalBufferMgt
280 *
281 * @def IX_OSAL_MBUF_PRIV(m_blk_ptr)
282 *
283 * @brief Return the private field
284 */
285#define IX_OSAL_MBUF_PRIV(m_blk_ptr)        \
286        (m_blk_ptr)->ix_mbuf.ix_priv
287
288
289
290/**
291 * @ingroup IxOsalBufferMgt
292 *
293 * @def IX_OSAL_MBUF_SIGNATURE(m_blk_ptr)
294 *
295 * @brief Return the signature field of IX_OSAL_MBUF
296 */
297#define IX_OSAL_MBUF_SIGNATURE(m_blk_ptr)  \
298        (m_blk_ptr)->ix_ctrl.ix_signature
299
300
301/**
302 * @ingroup IxOsalBufferMgt
303 *
304 * @def IX_OSAL_MBUF_OSBUF_PTR(m_blk_ptr)
305 *
306 * @brief Return ix_osbuf_ptr field of IX_OSAL_MBUF, which is used to store OS-specific buffer pointer during a buffer conversion.
307 */
308#define IX_OSAL_MBUF_OSBUF_PTR(m_blk_ptr)  \
309        (m_blk_ptr)->ix_ctrl.ix_osbuf_ptr
310
311
312/**
313 * @ingroup IxOsalBufferMgt
314 *
315 * @def IX_OSAL_MBUF_ALLOCATED_BUFF_LEN(m_blk_ptr)
316 *
317 * @brief Return the allocated buffer size
318 */
319#define IX_OSAL_MBUF_ALLOCATED_BUFF_LEN(m_blk_ptr)  \
320        (m_blk_ptr)->ix_ctrl.ix_allocated_len
321
322/**
323 * @ingroup IxOsalBufferMgt
324 *
325 * @def IX_OSAL_MBUF_ALLOCATED_BUFF_DATA(m_blk_ptr)
326 *
327 * @brief Return the allocated buffer pointer
328 */
329#define IX_OSAL_MBUF_ALLOCATED_BUFF_DATA(m_blk_ptr)  \
330        (m_blk_ptr)->ix_ctrl.ix_allocated_data
331
332
333
334/* Name length */
335#define IX_OSAL_MBUF_POOL_NAME_LEN  64
336
337
338/****************************************************
339 * Macros for buffer pool management
340 ****************************************************/
341
342/**
343 * @ingroup IxOsalBufferMgt
344 *
345 * @def IX_OSAL_MBUF_POOL_FREE_COUNT(m_pool_ptr
346 *
347 * @brief Return the total number of freed buffers left in the pool.
348 */
349#define IX_OSAL_MBUF_POOL_FREE_COUNT(m_pool_ptr) \
350                    ixOsalBuffPoolFreeCountGet(m_pool_ptr)
351
352/**
353 * @ingroup IxOsalBufferMgt
354 *
355 * @def IX_OSAL_MBUF_POOL_SIZE_ALIGN
356 *
357 * @brief This macro takes an integer as an argument and
358 * rounds it up to be a multiple of the memory cache-line
359 * size.
360 *
361 * @param int [in] size - the size integer to be rounded up
362 *
363 * @return int - the size, rounded up to a multiple of
364 *               the cache-line size
365 */
366#define IX_OSAL_MBUF_POOL_SIZE_ALIGN(size)                 \
367    ((((size) + (IX_OSAL_CACHE_LINE_SIZE - 1)) /      \
368        IX_OSAL_CACHE_LINE_SIZE) *                  \
369            IX_OSAL_CACHE_LINE_SIZE)
370
371/* Don't use this directly, use macro */
372PUBLIC UINT32 ixOsalBuffPoolMbufAreaSizeGet (int count);
373
374
375/**
376 * @ingroup IxOsalBufferMgt
377 *
378 * @def IX_OSAL_MBUF_POOL_MBUF_AREA_SIZE_ALIGNED
379 *
380 * @brief This macro calculates, from the number of mbufs required, the
381 * size of the memory area required to contain the mbuf headers for the
382 * buffers in the pool.  The size to be used for each mbuf header is
383 * rounded up to a multiple of the cache-line size, to ensure
384 * each mbuf header aligns on a cache-line boundary.
385 * This macro is used by IX_OSAL_MBUF_POOL_MBUF_AREA_ALLOC()
386 *
387 * @param int [in] count - the number of buffers the pool will contain
388 *
389 * @return int - the total size required for the pool mbuf area (aligned)
390 */
391#define IX_OSAL_MBUF_POOL_MBUF_AREA_SIZE_ALIGNED(count) \
392        ixOsalBuffPoolMbufAreaSizeGet(count)
393
394
395/* Don't use this directly, use macro */
396PUBLIC UINT32 ixOsalBuffPoolDataAreaSizeGet (int count, int size);
397
398
399/**
400 * @ingroup IxOsalBufferMgt
401 *
402 * @def IX_OSAL_MBUF_POOL_DATA_AREA_SIZE_ALIGNED
403 *
404 * @brief This macro calculates, from the number of mbufs required and the
405 * size of the data portion for each mbuf, the size of the data memory area
406 * required. The size is adjusted to ensure alignment on cache line boundaries.
407 * This macro is used by IX_OSAL_MBUF_POOL_DATA_AREA_ALLOC()
408 *
409 *
410 * @param int [in] count - The number of mbufs in the pool.
411 * @param int [in] size  - The desired size for each mbuf data portion.
412 *                         This size will be rounded up to a multiple of the
413 *                         cache-line size to ensure alignment on cache-line
414 *                         boundaries for each data block.
415 *
416 * @return int - the total size required for the pool data area (aligned)
417 */
418#define IX_OSAL_MBUF_POOL_DATA_AREA_SIZE_ALIGNED(count, size) \
419        ixOsalBuffPoolDataAreaSizeGet((count), (size))
420
421
422/**
423 * @ingroup IxOsalBufferMgt
424 *
425 * @def IX_OSAL_MBUF_POOL_MBUF_AREA_ALLOC
426 *
427 * @brief Allocates the memory area needed for the number of mbuf headers
428 * specified by <i>count</i>.
429 * This macro ensures the mbuf headers align on cache line boundaries.
430 * This macro evaluates to a pointer to the memory allocated.
431 *
432 * @param int [in] count - the number of mbufs the pool will contain
433 * @param int [out] memAreaSize - the total amount of memory allocated
434 *
435 * @return void * - a pointer to the allocated memory area
436 */
437#define IX_OSAL_MBUF_POOL_MBUF_AREA_ALLOC(count, memAreaSize) \
438    IX_OSAL_CACHE_DMA_MALLOC((memAreaSize =                 \
439        IX_OSAL_MBUF_POOL_MBUF_AREA_SIZE_ALIGNED(count)))
440
441/**
442 * @ingroup IxOsalBufferMgt
443 *
444 * @def IX_OSAL_MBUF_POOL_DATA_AREA_ALLOC
445 *
446 * @brief Allocates the memory pool for the data portion of the pool mbufs.
447 * The number of mbufs is specified by <i>count</i>.  The size of the data
448 * portion of each mbuf is specified by <i>size</i>.
449 * This macro ensures the mbufs are aligned on cache line boundaries
450 * This macro evaluates to a pointer to the memory allocated.
451 *
452 * @param int [in] count - the number of mbufs the pool will contain
453 * @param int [in] size - the desired size (in bytes) required for the data
454 *                        portion of each mbuf.  Note that this size may be
455 *                        rounded up to ensure alignment on cache-line
456 *                        boundaries.
457 * @param int [out] memAreaSize - the total amount of memory allocated
458 *
459 * @return void * - a pointer to the allocated memory area
460 */
461#define IX_OSAL_MBUF_POOL_DATA_AREA_ALLOC(count, size, memAreaSize) \
462    IX_OSAL_CACHE_DMA_MALLOC((memAreaSize =                     \
463        IX_OSAL_MBUF_POOL_DATA_AREA_SIZE_ALIGNED(count,size)))
464
465
466
467/**
468 * @ingroup IxOsalBufferMgt
469 *
470 * @def IX_OSAL_MBUF_POOL_INIT
471 *
472 * @brief Wrapper macro for ixOsalPoolInit()
473 * See function description below for details.
474 */
475#define IX_OSAL_MBUF_POOL_INIT(count, size, name) \
476    ixOsalPoolInit((count), (size), (name))
477
478/**
479 * @ingroup IxOsalBufferMgt
480 *
481 * @def IX_OSAL_MBUF_NO_ALLOC_POOL_INIT
482 *
483 * @return Pointer to the new pool or NULL if the initialization failed.
484 *
485 * @brief Wrapper macro for ixOsalNoAllocPoolInit()
486 * See function description below for details.
487 *
488 */
489#define IX_OSAL_MBUF_NO_ALLOC_POOL_INIT(bufPtr, dataPtr, count, size, name) \
490    ixOsalNoAllocPoolInit( (bufPtr), (dataPtr), (count), (size), (name))
491
492/**
493 * @ingroup IxOsalBufferMgt
494 *
495 * @def IX_OSAL_MBUF_POOL_GET
496 *
497 * @brief Wrapper macro for ixOsalMbufAlloc()
498 * See function description below for details.
499 */
500#define IX_OSAL_MBUF_POOL_GET(poolPtr) \
501        ixOsalMbufAlloc(poolPtr)
502
503/**
504 * @ingroup IxOsalBufferMgt
505 *
506 * @def IX_OSAL_MBUF_POOL_PUT
507 *
508 * @brief Wrapper macro for ixOsalMbufFree()
509 * See function description below for details.
510 */
511#define IX_OSAL_MBUF_POOL_PUT(bufPtr) \
512    ixOsalMbufFree(bufPtr)
513
514/**
515 * @ingroup IxOsalBufferMgt
516 *
517 * @def IX_OSAL_MBUF_POOL_PUT_CHAIN
518 *
519 * @brief Wrapper macro for ixOsalMbufChainFree()
520 * See function description below for details.
521 */
522#define IX_OSAL_MBUF_POOL_PUT_CHAIN(bufPtr) \
523    ixOsalMbufChainFree(bufPtr)
524
525/**
526 * @ingroup IxOsalBufferMgt
527 *
528 * @def IX_OSAL_MBUF_POOL_SHOW
529 *
530 * @brief Wrapper macro for ixOsalMbufPoolShow()
531 * See function description below for details.
532 */
533#define IX_OSAL_MBUF_POOL_SHOW(poolPtr) \
534    ixOsalMbufPoolShow(poolPtr)
535
536/**
537 * @ingroup IxOsalBufferMgt
538 *
539 * @def IX_OSAL_MBUF_POOL_MDATA_RESET
540 *
541 * @brief Wrapper macro for ixOsalMbufDataPtrReset()
542 * See function description below for details.
543 */
544#define IX_OSAL_MBUF_POOL_MDATA_RESET(bufPtr) \
545    ixOsalMbufDataPtrReset(bufPtr)
546
547/**
548 * @ingroup IxOsalBufferMgt
549 *
550 * @def IX_OSAL_MBUF_POOL_UNINIT
551 *
552 * @brief Wrapper macro for ixOsalBuffPoolUninit()
553 * See function description below for details.
554 */
555#define IX_OSAL_MBUF_POOL_UNINIT(m_pool_ptr)  \
556        ixOsalBuffPoolUninit(m_pool_ptr)
557
558/*
559 * Include OS-specific bufferMgt definitions
560 */
561#include "IxOsalOsBufferMgt.h"
562
563
564/**
565 * @ingroup IxOsalBufferMgt
566 *
567 * @def IX_OSAL_CONVERT_OSBUF_TO_IXPBUF( osBufPtr, ixpBufPtr)
568 *
569 * @brief Convert pre-allocated os-specific buffer format to OSAL IXP_BUF (IX_OSAL_MBUF) format.
570 * It is users' responsibility to provide pre-allocated and valid buffer pointers.
571 * @param osBufPtr (in) - a pre-allocated os-specific buffer pointer.
572 * @param ixpBufPtr (in)- a pre-allocated OSAL IXP_BUF pointer
573 * @return None
574 */
575#define IX_OSAL_CONVERT_OSBUF_TO_IXPBUF( osBufPtr, ixpBufPtr) \
576        IX_OSAL_OS_CONVERT_OSBUF_TO_IXPBUF( osBufPtr, ixpBufPtr)       
577
578
579/**
580 * @ingroup IxOsalBufferMgt
581 *
582 * @def IX_OSAL_CONVERT_IXPBUF_TO_OSBUF( ixpBufPtr, osBufPtr)
583 *
584 * @brief Convert pre-allocated OSAL IXP_BUF (IX_OSAL_MBUF) format to os-specific buffer pointers.
585 * @param ixpBufPtr (in) - OSAL IXP_BUF pointer
586 * @param osBufPtr (out) - os-specific buffer pointer.
587 * @return None
588 */
589
590#define IX_OSAL_CONVERT_IXPBUF_TO_OSBUF( ixpBufPtr, osBufPtr)  \
591        IX_OSAL_OS_CONVERT_IXPBUF_TO_OSBUF( ixpBufPtr, osBufPtr)
592
593
594PUBLIC IX_OSAL_MBUF_POOL *ixOsalPoolInit (UINT32 count,
595                      UINT32 size, const char *name);
596
597PUBLIC IX_OSAL_MBUF_POOL *ixOsalNoAllocPoolInit (void *poolBufPtr,
598                         void *poolDataPtr,
599                                                 UINT32 count,
600                                                 UINT32 size,
601                                                 const char *name);
602
603PUBLIC IX_OSAL_MBUF *ixOsalMbufAlloc (IX_OSAL_MBUF_POOL * pool);
604
605PUBLIC IX_OSAL_MBUF *ixOsalMbufFree (IX_OSAL_MBUF * mbuf);
606
607PUBLIC void ixOsalMbufChainFree (IX_OSAL_MBUF * mbuf);
608
609PUBLIC void ixOsalMbufDataPtrReset (IX_OSAL_MBUF * mbuf);
610
611PUBLIC void ixOsalMbufPoolShow (IX_OSAL_MBUF_POOL * pool);
612
613PUBLIC IX_STATUS ixOsalBuffPoolUninit (IX_OSAL_MBUF_POOL * pool);
614
615PUBLIC UINT32 ixOsalBuffPoolFreeCountGet(IX_OSAL_MBUF_POOL * pool);
616
617
618/**
619 * @} IxOsalBufferMgt
620 */
621
622
623#endif /* IxOsalBufferMgt_H */
Note: See TracBrowser for help on using the repository browser.