Message ID | 1435234172-2015-2-git-send-email-bill.fischofer@linaro.org |
---|---|
State | New |
Headers | show |
It's required to inline the odp_pool_param_init() function. But if we don't need to inline that function then it can remain unsplit. On Tue, Jun 30, 2015 at 6:54 AM, Savolainen, Petri (Nokia - FI/Espoo) < petri.savolainen@nokia.com> wrote: > I think it's better to maintain the params type in pool.h, next to > odp_pool_create() which needs it. If motivation to move it comes from > implementation convenience to extend the type with hidden fields, etc ... I > think it's better to leave it for implementation to split it. > > So, new file not needed. > > -Petri > > > > > -----Original Message----- > > From: lng-odp [mailto:lng-odp-bounces@lists.linaro.org] On Behalf Of ext > > Bill Fischofer > > Sent: Thursday, June 25, 2015 3:09 PM > > To: lng-odp@lists.linaro.org > > Subject: [lng-odp] [API-NEXT PATCH 2/6] api: pool: split odp_pool_params > > to separate include file > > > > Signed-off-by: Bill Fischofer <bill.fischofer@linaro.org> > > --- > > include/odp/api/pool.h | 57 -------------------------- > > include/odp/api/pool_param.h | 95 > > ++++++++++++++++++++++++++++++++++++++++++++ > > 2 files changed, 95 insertions(+), 57 deletions(-) > > create mode 100644 include/odp/api/pool_param.h > > > > diff --git a/include/odp/api/pool.h b/include/odp/api/pool.h > > index 0bcfb98..b95f40d 100644 > > --- a/include/odp/api/pool.h > > +++ b/include/odp/api/pool.h > > @@ -41,63 +41,6 @@ extern "C" { > > #define ODP_POOL_NAME_LEN 32 > > > > /** > > - * Pool parameters > > - * Used to communicate pool creation options. > > - */ > > -typedef struct odp_pool_param_t { > > - /** Pool type */ > > - int type; > > - > > - union { > > - struct { > > - /** Number of buffers in the pool */ > > - uint32_t num; > > - > > - /** Buffer size in bytes. The maximum number of > bytes > > - application will store in each buffer. */ > > - uint32_t size; > > - > > - /** Minimum buffer alignment in bytes. Valid > values are > > - powers of two. Use 0 for default alignment. > > - Default will always be a multiple of 8. */ > > - uint32_t align; > > - } buf; > > - struct { > > - /** The number of packets that the pool must > provide > > - that are packet length 'len' bytes or smaller. > */ > > - uint32_t num; > > - > > - /** Minimum packet length that the pool must > provide > > - 'num' packets. The number of packets may be > less > > - than 'num' when packets are larger than 'len'. > > - Use 0 for default. */ > > - uint32_t len; > > - > > - /** Minimum number of packet data bytes that are > stored > > - in the first segment of a packet. The maximum > value > > - is defined by ODP_CONFIG_PACKET_SEG_LEN_MAX. > > - Use 0 for default. */ > > - uint32_t seg_len; > > - > > - /** User area size in bytes. Specify as 0 if no > user > > - area is needed. */ > > - uint32_t uarea_size; > > - } pkt; > > - struct { > > - /** Number of timeouts in the pool */ > > - uint32_t num; > > - } tmo; > > - }; > > -} odp_pool_param_t; > > - > > -/** Packet pool*/ > > -#define ODP_POOL_PACKET ODP_EVENT_PACKET > > -/** Buffer pool */ > > -#define ODP_POOL_BUFFER ODP_EVENT_BUFFER > > -/** Timeout pool */ > > -#define ODP_POOL_TIMEOUT ODP_EVENT_TIMEOUT > > - > > -/** > > * Create a pool > > * > > * This routine is used to create a pool. It take two arguments: the > > optional > > diff --git a/include/odp/api/pool_param.h b/include/odp/api/pool_param.h > > new file mode 100644 > > index 0000000..0d043a4 > > --- /dev/null > > +++ b/include/odp/api/pool_param.h > > @@ -0,0 +1,95 @@ > > +/* Copyright (c) 2015, Linaro Limited > > + * All rights reserved. > > + * > > + * SPDX-License-Identifier: BSD-3-Clause > > + */ > > + > > +/** > > + * @file > > + * > > + * ODP pool param > > + */ > > + > > +#ifndef ODP_API_POOL_PARAM_H_ > > +#define ODP_API_POOL_PARAM_H_ > > + > > +#ifdef __cplusplus > > +extern "C" { > > +#endif > > + > > +#include <odp/std_types.h> > > + > > +/** @addtogroup odp_buffer > > + * ODP Pool parameters > > + * @{ > > + */ > > + > > +/** > > + * Pool type > > + */ > > + > > +typedef enum odp_pool_type_e { > > + ODP_POOL_PACKET = ODP_EVENT_PACKET, > > + ODP_POOL_BUFFER = ODP_EVENT_BUFFER, > > + ODP_POOL_TIMEOUT = ODP_EVENT_TIMEOUT, > > +} odp_pool_type_e; > > + > > +/** > > + * Pool parameters > > + * Used to communicate pool creation options. > > + */ > > +typedef struct odp_pool_param_t { > > + /** Pool type */ > > + odp_pool_type_e type; > > + > > + union { > > + struct { > > + /** Number of buffers in the pool */ > > + uint32_t num; > > + > > + /** Buffer size in bytes. The maximum number of > bytes > > + application will store in each buffer. */ > > + uint32_t size; > > + > > + /** Minimum buffer alignment in bytes. Valid > values are > > + powers of two. Use 0 for default alignment. > > + Default will always be a multiple of 8. */ > > + uint32_t align; > > + } buf; > > + struct { > > + /** The number of packets that the pool must > provide > > + that are packet length 'len' bytes or smaller. > */ > > + uint32_t num; > > + > > + /** Minimum packet length that the pool must > provide > > + 'num' packets. The number of packets may be > less > > + than 'num' when packets are larger than 'len'. > > + Use 0 for default. */ > > + uint32_t len; > > + > > + /** Minimum number of packet data bytes that are > stored > > + in the first segment of a packet. The maximum > value > > + is defined by ODP_CONFIG_PACKET_SEG_LEN_MAX. > > + Use 0 for default. */ > > + uint32_t seg_len; > > + > > + /** User area size in bytes. Specify as 0 if no > user > > + area is needed. */ > > + uint32_t uarea_size; > > + } pkt; > > + struct { > > + /** Number of timeouts in the pool */ > > + uint32_t num; > > + } tmo; > > + }; > > +} odp_pool_param_t; > > + > > +/** > > + * @} > > + */ > > + > > +#ifdef __cplusplus > > +} > > +#endif > > + > > +#endif > > -- > > 2.1.0 > > > > _______________________________________________ > > lng-odp mailing list > > lng-odp@lists.linaro.org > > https://lists.linaro.org/mailman/listinfo/lng-odp >
diff --git a/include/odp/api/pool.h b/include/odp/api/pool.h index 0bcfb98..b95f40d 100644 --- a/include/odp/api/pool.h +++ b/include/odp/api/pool.h @@ -41,63 +41,6 @@ extern "C" { #define ODP_POOL_NAME_LEN 32 /** - * Pool parameters - * Used to communicate pool creation options. - */ -typedef struct odp_pool_param_t { - /** Pool type */ - int type; - - union { - struct { - /** Number of buffers in the pool */ - uint32_t num; - - /** Buffer size in bytes. The maximum number of bytes - application will store in each buffer. */ - uint32_t size; - - /** Minimum buffer alignment in bytes. Valid values are - powers of two. Use 0 for default alignment. - Default will always be a multiple of 8. */ - uint32_t align; - } buf; - struct { - /** The number of packets that the pool must provide - that are packet length 'len' bytes or smaller. */ - uint32_t num; - - /** Minimum packet length that the pool must provide - 'num' packets. The number of packets may be less - than 'num' when packets are larger than 'len'. - Use 0 for default. */ - uint32_t len; - - /** Minimum number of packet data bytes that are stored - in the first segment of a packet. The maximum value - is defined by ODP_CONFIG_PACKET_SEG_LEN_MAX. - Use 0 for default. */ - uint32_t seg_len; - - /** User area size in bytes. Specify as 0 if no user - area is needed. */ - uint32_t uarea_size; - } pkt; - struct { - /** Number of timeouts in the pool */ - uint32_t num; - } tmo; - }; -} odp_pool_param_t; - -/** Packet pool*/ -#define ODP_POOL_PACKET ODP_EVENT_PACKET -/** Buffer pool */ -#define ODP_POOL_BUFFER ODP_EVENT_BUFFER -/** Timeout pool */ -#define ODP_POOL_TIMEOUT ODP_EVENT_TIMEOUT - -/** * Create a pool * * This routine is used to create a pool. It take two arguments: the optional diff --git a/include/odp/api/pool_param.h b/include/odp/api/pool_param.h new file mode 100644 index 0000000..0d043a4 --- /dev/null +++ b/include/odp/api/pool_param.h @@ -0,0 +1,95 @@ +/* Copyright (c) 2015, Linaro Limited + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +/** + * @file + * + * ODP pool param + */ + +#ifndef ODP_API_POOL_PARAM_H_ +#define ODP_API_POOL_PARAM_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +#include <odp/std_types.h> + +/** @addtogroup odp_buffer + * ODP Pool parameters + * @{ + */ + +/** + * Pool type + */ + +typedef enum odp_pool_type_e { + ODP_POOL_PACKET = ODP_EVENT_PACKET, + ODP_POOL_BUFFER = ODP_EVENT_BUFFER, + ODP_POOL_TIMEOUT = ODP_EVENT_TIMEOUT, +} odp_pool_type_e; + +/** + * Pool parameters + * Used to communicate pool creation options. + */ +typedef struct odp_pool_param_t { + /** Pool type */ + odp_pool_type_e type; + + union { + struct { + /** Number of buffers in the pool */ + uint32_t num; + + /** Buffer size in bytes. The maximum number of bytes + application will store in each buffer. */ + uint32_t size; + + /** Minimum buffer alignment in bytes. Valid values are + powers of two. Use 0 for default alignment. + Default will always be a multiple of 8. */ + uint32_t align; + } buf; + struct { + /** The number of packets that the pool must provide + that are packet length 'len' bytes or smaller. */ + uint32_t num; + + /** Minimum packet length that the pool must provide + 'num' packets. The number of packets may be less + than 'num' when packets are larger than 'len'. + Use 0 for default. */ + uint32_t len; + + /** Minimum number of packet data bytes that are stored + in the first segment of a packet. The maximum value + is defined by ODP_CONFIG_PACKET_SEG_LEN_MAX. + Use 0 for default. */ + uint32_t seg_len; + + /** User area size in bytes. Specify as 0 if no user + area is needed. */ + uint32_t uarea_size; + } pkt; + struct { + /** Number of timeouts in the pool */ + uint32_t num; + } tmo; + }; +} odp_pool_param_t; + +/** + * @} + */ + +#ifdef __cplusplus +} +#endif + +#endif
Signed-off-by: Bill Fischofer <bill.fischofer@linaro.org> --- include/odp/api/pool.h | 57 -------------------------- include/odp/api/pool_param.h | 95 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 95 insertions(+), 57 deletions(-) create mode 100644 include/odp/api/pool_param.h