Message ID | 1415813566-26526-2-git-send-email-bill.fischofer@linaro.org |
---|---|
State | New |
Headers | show |
I think it will be hard to follow. If I you reuse for example pool from linux-generic and not reuse pktio. Then you most probably will have reference to linux-generic file. And you will not want to have this typedefs redefined. I prefer to have these typedefs in corresponding header as it is now. Maxim. On 11/12/2014 08:32 PM, Bill Fischofer wrote: > Signed-off-by: Bill Fischofer <bill.fischofer@linaro.org> > --- > platform/linux-generic/Makefile.am | 1 + > platform/linux-generic/include/api/odp_buffer.h | 9 +--- > .../linux-generic/include/api/odp_buffer_pool.h | 5 +- > platform/linux-generic/include/api/odp_packet.h | 30 ----------- > platform/linux-generic/include/api/odp_packet_io.h | 12 +---- > platform/linux-generic/include/api/odp_typedefs.h | 63 ++++++++++++++++++++++ > 6 files changed, 67 insertions(+), 53 deletions(-) > create mode 100644 platform/linux-generic/include/api/odp_typedefs.h > > diff --git a/platform/linux-generic/Makefile.am b/platform/linux-generic/Makefile.am > index 0153a22..cb3cfc4 100644 > --- a/platform/linux-generic/Makefile.am > +++ b/platform/linux-generic/Makefile.am > @@ -36,6 +36,7 @@ include_HEADERS = \ > $(top_srcdir)/platform/linux-generic/include/api/odp_ticketlock.h \ > $(top_srcdir)/platform/linux-generic/include/api/odp_time.h \ > $(top_srcdir)/platform/linux-generic/include/api/odp_timer.h \ > + $(top_srcdir)/platform/linux-generic/include/api/odp_typedefs.h \ > $(top_srcdir)/platform/linux-generic/include/api/odp_version.h > > subdirheadersdir = $(includedir) > diff --git a/platform/linux-generic/include/api/odp_buffer.h b/platform/linux-generic/include/api/odp_buffer.h > index 289e0eb..7e7c95e 100644 > --- a/platform/linux-generic/include/api/odp_buffer.h > +++ b/platform/linux-generic/include/api/odp_buffer.h > @@ -20,20 +20,13 @@ extern "C" { > > > #include <odp_std_types.h> > - > +#include <odp_typedefs.h> > > /** @defgroup odp_buffer ODP BUFFER > * Operations on a buffer. > * @{ > */ > > -/** > - * ODP buffer > - */ > -typedef uint32_t odp_buffer_t; > - > -#define ODP_BUFFER_INVALID (0xffffffff) /**< Invalid buffer */ > - > > /** > * Buffer start address > diff --git a/platform/linux-generic/include/api/odp_buffer_pool.h b/platform/linux-generic/include/api/odp_buffer_pool.h > index d04abf0..170cd32 100644 > --- a/platform/linux-generic/include/api/odp_buffer_pool.h > +++ b/platform/linux-generic/include/api/odp_buffer_pool.h > @@ -21,6 +21,7 @@ extern "C" { > > > #include <odp_std_types.h> > +#include <odp_typedefs.h> > #include <odp_buffer.h> > > /** @addtogroup odp_buffer > @@ -34,10 +35,6 @@ extern "C" { > /** Invalid buffer pool */ > #define ODP_BUFFER_POOL_INVALID 0 > > -/** ODP buffer pool */ > -typedef uint32_t odp_buffer_pool_t; > - > - > /** > * Create a buffer pool > * > diff --git a/platform/linux-generic/include/api/odp_packet.h b/platform/linux-generic/include/api/odp_packet.h > index 688e047..5298fa0 100644 > --- a/platform/linux-generic/include/api/odp_packet.h > +++ b/platform/linux-generic/include/api/odp_packet.h > @@ -25,36 +25,6 @@ extern "C" { > * @{ > */ > > -/** > - * ODP packet descriptor > - */ > -typedef odp_buffer_t odp_packet_t; > - > -/** Invalid packet */ > -#define ODP_PACKET_INVALID ODP_BUFFER_INVALID > - > -/** Invalid offset */ > -#define ODP_PACKET_OFFSET_INVALID ((uint32_t)-1) > - > - > -/** > - * ODP packet segment handle > - */ > -typedef int odp_packet_seg_t; > - > -/** Invalid packet segment */ > -#define ODP_PACKET_SEG_INVALID -1 > - > -/** > - * ODP packet segment info > - */ > -typedef struct odp_packet_seg_info_t { > - void *addr; /**< Segment start address */ > - size_t size; /**< Segment maximum data size */ > - void *data; /**< Segment data address */ > - size_t data_len; /**< Segment data length */ > -} odp_packet_seg_info_t; > - > > /** > * Initialize the packet > diff --git a/platform/linux-generic/include/api/odp_packet_io.h b/platform/linux-generic/include/api/odp_packet_io.h > index 360636d..4d4e636 100644 > --- a/platform/linux-generic/include/api/odp_packet_io.h > +++ b/platform/linux-generic/include/api/odp_packet_io.h > @@ -19,6 +19,7 @@ extern "C" { > #endif > > #include <odp_std_types.h> > +#include <odp_typedefs.h> > #include <odp_buffer_pool.h> > #include <odp_packet.h> > #include <odp_queue.h> > @@ -28,17 +29,6 @@ extern "C" { > * @{ > */ > > -/** ODP packet IO handle */ > -typedef uint32_t odp_pktio_t; > - > -/** Invalid packet IO handle */ > -#define ODP_PKTIO_INVALID 0 > - > -/** > - * odp_pktio_t value to indicate any port > - */ > -#define ODP_PKTIO_ANY ((odp_pktio_t)~0) > - > /** > * Open an ODP packet IO instance > * > diff --git a/platform/linux-generic/include/api/odp_typedefs.h b/platform/linux-generic/include/api/odp_typedefs.h > new file mode 100644 > index 0000000..af74980 > --- /dev/null > +++ b/platform/linux-generic/include/api/odp_typedefs.h > @@ -0,0 +1,63 @@ > +/* Copyright (c) 2014, Linaro Limited > + * All rights reserved. > + * > + * SPDX-License-Identifier: BSD-3-Clause > + */ > + > + > +/** > + * @file > + * > + * @par ODP implementation typedefs > + * This file contains all of the implementation-defined typedefs for > + * ODP abstract types. Having this in one file means that other ODP > + * API files are implementation-independent and avoids circular > + * dependencies for files that refer to types managed by other > + * components. > + */ > + > +#ifndef ODP_TYPEDEFS_H_ > +#define ODP_TYPEDEFS_H_ > + > +/** ODP Buffer pool */ > +typedef uint32_t odp_buffer_pool_t; > + > +/** ODP buffer */ > +typedef uint32_t odp_buffer_t; > + > +/** Invalid buffer */ > +#define ODP_BUFFER_INVALID (0xffffffff) /**< Invalid buffer */ > + > +/** ODP packet */ > +typedef odp_buffer_t odp_packet_t; > + > +/** Invalid packet */ > +#define ODP_PACKET_INVALID ODP_BUFFER_INVALID > + > +/** Invalid offset */ > +#define ODP_PACKET_OFFSET_INVALID ((uint32_t)-1) > + > +/** ODP packet segment */ > +typedef int odp_packet_seg_t; > + > +/** Invalid packet segment */ > +#define ODP_PACKET_SEG_INVALID -1 > + > +/** ODP packet segment info */ > +typedef struct odp_packet_seg_info_t { > + void *addr; /**< Segment start address */ > + size_t size; /**< Segment maximum data size */ > + void *data; /**< Segment data address */ > + size_t data_len; /**< Segment data length */ > +} odp_packet_seg_info_t; > + > +/** ODP packet IO handle */ > +typedef uint32_t odp_pktio_t; > + > +/** Invalid packet IO handle */ > +#define ODP_PKTIO_INVALID 0 > + > +/** odp_pktio_t value to indicate any port */ > +#define ODP_PKTIO_ANY ((odp_pktio_t)~0) > + > +#endif
The idea is that each implementation defines their own odp_typedefs.h which contain the typedefs for that platform. So you can reuse the linux-generic API files without having to modify them since they just reference the typedefs but don't define them. Every implementation will have to have their own version of odp_typedefs.h to specify what an odp_buffer_t, etc. is for that implementation. This also eliminates the circular dependency in typdef definitions we currently have in the buffer/packet/pktio family. In the latest patch I posted it's impossible to order the #includes to get a compilable system without factoring these out into a common header. Bill On Wed, Nov 12, 2014 at 5:16 PM, Maxim Uvarov <maxim.uvarov@linaro.org> wrote: > I think it will be hard to follow. If I you reuse for example pool from > linux-generic and not reuse pktio. Then you most probably will > have reference to linux-generic file. And you will not want to have this > typedefs redefined. I prefer to have these typedefs in > corresponding header as it is now. > > Maxim. > > > On 11/12/2014 08:32 PM, Bill Fischofer wrote: > >> Signed-off-by: Bill Fischofer <bill.fischofer@linaro.org> >> --- >> platform/linux-generic/Makefile.am | 1 + >> platform/linux-generic/include/api/odp_buffer.h | 9 +--- >> .../linux-generic/include/api/odp_buffer_pool.h | 5 +- >> platform/linux-generic/include/api/odp_packet.h | 30 ----------- >> platform/linux-generic/include/api/odp_packet_io.h | 12 +---- >> platform/linux-generic/include/api/odp_typedefs.h | 63 >> ++++++++++++++++++++++ >> 6 files changed, 67 insertions(+), 53 deletions(-) >> create mode 100644 platform/linux-generic/include/api/odp_typedefs.h >> >> diff --git a/platform/linux-generic/Makefile.am b/platform/linux-generic/ >> Makefile.am >> index 0153a22..cb3cfc4 100644 >> --- a/platform/linux-generic/Makefile.am >> +++ b/platform/linux-generic/Makefile.am >> @@ -36,6 +36,7 @@ include_HEADERS = \ >> $(top_srcdir)/platform/linux-generic/include/api/odp_ticketlock.h >> \ >> $(top_srcdir)/platform/linux-generic/include/api/odp_time.h >> \ >> $(top_srcdir)/platform/linux- >> generic/include/api/odp_timer.h \ >> + $(top_srcdir)/platform/linux-generic/include/api/odp_typedefs.h >> \ >> $(top_srcdir)/platform/linux-generic/include/api/odp_ >> version.h >> subdirheadersdir = $(includedir) >> diff --git a/platform/linux-generic/include/api/odp_buffer.h >> b/platform/linux-generic/include/api/odp_buffer.h >> index 289e0eb..7e7c95e 100644 >> --- a/platform/linux-generic/include/api/odp_buffer.h >> +++ b/platform/linux-generic/include/api/odp_buffer.h >> @@ -20,20 +20,13 @@ extern "C" { >> #include <odp_std_types.h> >> - >> +#include <odp_typedefs.h> >> /** @defgroup odp_buffer ODP BUFFER >> * Operations on a buffer. >> * @{ >> */ >> -/** >> - * ODP buffer >> - */ >> -typedef uint32_t odp_buffer_t; >> - >> -#define ODP_BUFFER_INVALID (0xffffffff) /**< Invalid buffer */ >> - >> /** >> * Buffer start address >> diff --git a/platform/linux-generic/include/api/odp_buffer_pool.h >> b/platform/linux-generic/include/api/odp_buffer_pool.h >> index d04abf0..170cd32 100644 >> --- a/platform/linux-generic/include/api/odp_buffer_pool.h >> +++ b/platform/linux-generic/include/api/odp_buffer_pool.h >> @@ -21,6 +21,7 @@ extern "C" { >> #include <odp_std_types.h> >> +#include <odp_typedefs.h> >> #include <odp_buffer.h> >> /** @addtogroup odp_buffer >> @@ -34,10 +35,6 @@ extern "C" { >> /** Invalid buffer pool */ >> #define ODP_BUFFER_POOL_INVALID 0 >> -/** ODP buffer pool */ >> -typedef uint32_t odp_buffer_pool_t; >> - >> - >> /** >> * Create a buffer pool >> * >> diff --git a/platform/linux-generic/include/api/odp_packet.h >> b/platform/linux-generic/include/api/odp_packet.h >> index 688e047..5298fa0 100644 >> --- a/platform/linux-generic/include/api/odp_packet.h >> +++ b/platform/linux-generic/include/api/odp_packet.h >> @@ -25,36 +25,6 @@ extern "C" { >> * @{ >> */ >> -/** >> - * ODP packet descriptor >> - */ >> -typedef odp_buffer_t odp_packet_t; >> - >> -/** Invalid packet */ >> -#define ODP_PACKET_INVALID ODP_BUFFER_INVALID >> - >> -/** Invalid offset */ >> -#define ODP_PACKET_OFFSET_INVALID ((uint32_t)-1) >> - >> - >> -/** >> - * ODP packet segment handle >> - */ >> -typedef int odp_packet_seg_t; >> - >> -/** Invalid packet segment */ >> -#define ODP_PACKET_SEG_INVALID -1 >> - >> -/** >> - * ODP packet segment info >> - */ >> -typedef struct odp_packet_seg_info_t { >> - void *addr; /**< Segment start address */ >> - size_t size; /**< Segment maximum data size */ >> - void *data; /**< Segment data address */ >> - size_t data_len; /**< Segment data length */ >> -} odp_packet_seg_info_t; >> - >> /** >> * Initialize the packet >> diff --git a/platform/linux-generic/include/api/odp_packet_io.h >> b/platform/linux-generic/include/api/odp_packet_io.h >> index 360636d..4d4e636 100644 >> --- a/platform/linux-generic/include/api/odp_packet_io.h >> +++ b/platform/linux-generic/include/api/odp_packet_io.h >> @@ -19,6 +19,7 @@ extern "C" { >> #endif >> #include <odp_std_types.h> >> +#include <odp_typedefs.h> >> #include <odp_buffer_pool.h> >> #include <odp_packet.h> >> #include <odp_queue.h> >> @@ -28,17 +29,6 @@ extern "C" { >> * @{ >> */ >> -/** ODP packet IO handle */ >> -typedef uint32_t odp_pktio_t; >> - >> -/** Invalid packet IO handle */ >> -#define ODP_PKTIO_INVALID 0 >> - >> -/** >> - * odp_pktio_t value to indicate any port >> - */ >> -#define ODP_PKTIO_ANY ((odp_pktio_t)~0) >> - >> /** >> * Open an ODP packet IO instance >> * >> diff --git a/platform/linux-generic/include/api/odp_typedefs.h >> b/platform/linux-generic/include/api/odp_typedefs.h >> new file mode 100644 >> index 0000000..af74980 >> --- /dev/null >> +++ b/platform/linux-generic/include/api/odp_typedefs.h >> @@ -0,0 +1,63 @@ >> +/* Copyright (c) 2014, Linaro Limited >> + * All rights reserved. >> + * >> + * SPDX-License-Identifier: BSD-3-Clause >> + */ >> + >> + >> +/** >> + * @file >> + * >> + * @par ODP implementation typedefs >> + * This file contains all of the implementation-defined typedefs for >> + * ODP abstract types. Having this in one file means that other ODP >> + * API files are implementation-independent and avoids circular >> + * dependencies for files that refer to types managed by other >> + * components. >> + */ >> + >> +#ifndef ODP_TYPEDEFS_H_ >> +#define ODP_TYPEDEFS_H_ >> + >> +/** ODP Buffer pool */ >> +typedef uint32_t odp_buffer_pool_t; >> + >> +/** ODP buffer */ >> +typedef uint32_t odp_buffer_t; >> + >> +/** Invalid buffer */ >> +#define ODP_BUFFER_INVALID (0xffffffff) /**< Invalid buffer */ >> + >> +/** ODP packet */ >> +typedef odp_buffer_t odp_packet_t; >> + >> +/** Invalid packet */ >> +#define ODP_PACKET_INVALID ODP_BUFFER_INVALID >> + >> +/** Invalid offset */ >> +#define ODP_PACKET_OFFSET_INVALID ((uint32_t)-1) >> + >> +/** ODP packet segment */ >> +typedef int odp_packet_seg_t; >> + >> +/** Invalid packet segment */ >> +#define ODP_PACKET_SEG_INVALID -1 >> + >> +/** ODP packet segment info */ >> +typedef struct odp_packet_seg_info_t { >> + void *addr; /**< Segment start address */ >> + size_t size; /**< Segment maximum data size */ >> + void *data; /**< Segment data address */ >> + size_t data_len; /**< Segment data length */ >> +} odp_packet_seg_info_t; >> + >> +/** ODP packet IO handle */ >> +typedef uint32_t odp_pktio_t; >> + >> +/** Invalid packet IO handle */ >> +#define ODP_PKTIO_INVALID 0 >> + >> +/** odp_pktio_t value to indicate any port */ >> +#define ODP_PKTIO_ANY ((odp_pktio_t)~0) >> + >> +#endif >> > > > _______________________________________________ > lng-odp mailing list > lng-odp@lists.linaro.org > http://lists.linaro.org/mailman/listinfo/lng-odp >
Maybe write the commit message something like this: types: factor platform definitions into a common file Elaborate more why we want this in the commit message itself On 2014-11-12 11:32, Bill Fischofer wrote: > Signed-off-by: Bill Fischofer <bill.fischofer@linaro.org> > --- > platform/linux-generic/Makefile.am | 1 + > platform/linux-generic/include/api/odp_buffer.h | 9 +--- > .../linux-generic/include/api/odp_buffer_pool.h | 5 +- > platform/linux-generic/include/api/odp_packet.h | 30 ----------- > platform/linux-generic/include/api/odp_packet_io.h | 12 +---- > platform/linux-generic/include/api/odp_typedefs.h | 63 ++++++++++++++++++++++ should be odp_types.h > 6 files changed, 67 insertions(+), 53 deletions(-) > create mode 100644 platform/linux-generic/include/api/odp_typedefs.h > [...] > diff --git a/platform/linux-generic/include/api/odp_typedefs.h b/platform/linux-generic/include/api/odp_typedefs.h > new file mode 100644 > index 0000000..af74980 > --- /dev/null > +++ b/platform/linux-generic/include/api/odp_typedefs.h > @@ -0,0 +1,63 @@ > +/* Copyright (c) 2014, Linaro Limited > + * All rights reserved. > + * > + * SPDX-License-Identifier: BSD-3-Clause > + */ > + > + > +/** > + * @file > + * > + * @par ODP implementation typedefs Wrong format, should be like this: /** * @file * Short description * Longer description */ Short description should say "ODP implementation types" because there are more than only typedefs in there. > + * This file contains all of the implementation-defined typedefs for typedefs to types > + * ODP abstract types. Having this in one file means that other ODP types to definitions Remove one space after the full stop. > + * API files are implementation-independent and avoids circular > + * dependencies for files that refer to types managed by other > + * components. Why rap at 68 chars and not 80? > + */ > + > +#ifndef ODP_TYPEDEFS_H_ > +#define ODP_TYPEDEFS_H_ need to specify some module for this as well maybe ODP PLATFORM SPECIFIC or should they go into ODP SYSTEM? Cheers, Anders
On 11/12/2014 08:32 PM, Bill Fischofer wrote: > +/** Invalid buffer */ > +#define ODP_BUFFER_INVALID (0xffffffff) /**< Invalid buffer */ > + Please fix above comment. Maxim.
The code is copied verbatim from existing .h files that are already in the repo. On Thu, Nov 13, 2014 at 7:35 AM, Maxim Uvarov <maxim.uvarov@linaro.org> wrote: > On 11/12/2014 08:32 PM, Bill Fischofer wrote: > >> +/** Invalid buffer */ >> +#define ODP_BUFFER_INVALID (0xffffffff) /**< Invalid buffer */ >> + >> > Please fix above comment. > > Maxim. > > > _______________________________________________ > lng-odp mailing list > lng-odp@lists.linaro.org > http://lists.linaro.org/mailman/listinfo/lng-odp >
diff --git a/platform/linux-generic/Makefile.am b/platform/linux-generic/Makefile.am index 0153a22..cb3cfc4 100644 --- a/platform/linux-generic/Makefile.am +++ b/platform/linux-generic/Makefile.am @@ -36,6 +36,7 @@ include_HEADERS = \ $(top_srcdir)/platform/linux-generic/include/api/odp_ticketlock.h \ $(top_srcdir)/platform/linux-generic/include/api/odp_time.h \ $(top_srcdir)/platform/linux-generic/include/api/odp_timer.h \ + $(top_srcdir)/platform/linux-generic/include/api/odp_typedefs.h \ $(top_srcdir)/platform/linux-generic/include/api/odp_version.h subdirheadersdir = $(includedir) diff --git a/platform/linux-generic/include/api/odp_buffer.h b/platform/linux-generic/include/api/odp_buffer.h index 289e0eb..7e7c95e 100644 --- a/platform/linux-generic/include/api/odp_buffer.h +++ b/platform/linux-generic/include/api/odp_buffer.h @@ -20,20 +20,13 @@ extern "C" { #include <odp_std_types.h> - +#include <odp_typedefs.h> /** @defgroup odp_buffer ODP BUFFER * Operations on a buffer. * @{ */ -/** - * ODP buffer - */ -typedef uint32_t odp_buffer_t; - -#define ODP_BUFFER_INVALID (0xffffffff) /**< Invalid buffer */ - /** * Buffer start address diff --git a/platform/linux-generic/include/api/odp_buffer_pool.h b/platform/linux-generic/include/api/odp_buffer_pool.h index d04abf0..170cd32 100644 --- a/platform/linux-generic/include/api/odp_buffer_pool.h +++ b/platform/linux-generic/include/api/odp_buffer_pool.h @@ -21,6 +21,7 @@ extern "C" { #include <odp_std_types.h> +#include <odp_typedefs.h> #include <odp_buffer.h> /** @addtogroup odp_buffer @@ -34,10 +35,6 @@ extern "C" { /** Invalid buffer pool */ #define ODP_BUFFER_POOL_INVALID 0 -/** ODP buffer pool */ -typedef uint32_t odp_buffer_pool_t; - - /** * Create a buffer pool * diff --git a/platform/linux-generic/include/api/odp_packet.h b/platform/linux-generic/include/api/odp_packet.h index 688e047..5298fa0 100644 --- a/platform/linux-generic/include/api/odp_packet.h +++ b/platform/linux-generic/include/api/odp_packet.h @@ -25,36 +25,6 @@ extern "C" { * @{ */ -/** - * ODP packet descriptor - */ -typedef odp_buffer_t odp_packet_t; - -/** Invalid packet */ -#define ODP_PACKET_INVALID ODP_BUFFER_INVALID - -/** Invalid offset */ -#define ODP_PACKET_OFFSET_INVALID ((uint32_t)-1) - - -/** - * ODP packet segment handle - */ -typedef int odp_packet_seg_t; - -/** Invalid packet segment */ -#define ODP_PACKET_SEG_INVALID -1 - -/** - * ODP packet segment info - */ -typedef struct odp_packet_seg_info_t { - void *addr; /**< Segment start address */ - size_t size; /**< Segment maximum data size */ - void *data; /**< Segment data address */ - size_t data_len; /**< Segment data length */ -} odp_packet_seg_info_t; - /** * Initialize the packet diff --git a/platform/linux-generic/include/api/odp_packet_io.h b/platform/linux-generic/include/api/odp_packet_io.h index 360636d..4d4e636 100644 --- a/platform/linux-generic/include/api/odp_packet_io.h +++ b/platform/linux-generic/include/api/odp_packet_io.h @@ -19,6 +19,7 @@ extern "C" { #endif #include <odp_std_types.h> +#include <odp_typedefs.h> #include <odp_buffer_pool.h> #include <odp_packet.h> #include <odp_queue.h> @@ -28,17 +29,6 @@ extern "C" { * @{ */ -/** ODP packet IO handle */ -typedef uint32_t odp_pktio_t; - -/** Invalid packet IO handle */ -#define ODP_PKTIO_INVALID 0 - -/** - * odp_pktio_t value to indicate any port - */ -#define ODP_PKTIO_ANY ((odp_pktio_t)~0) - /** * Open an ODP packet IO instance * diff --git a/platform/linux-generic/include/api/odp_typedefs.h b/platform/linux-generic/include/api/odp_typedefs.h new file mode 100644 index 0000000..af74980 --- /dev/null +++ b/platform/linux-generic/include/api/odp_typedefs.h @@ -0,0 +1,63 @@ +/* Copyright (c) 2014, Linaro Limited + * All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + + +/** + * @file + * + * @par ODP implementation typedefs + * This file contains all of the implementation-defined typedefs for + * ODP abstract types. Having this in one file means that other ODP + * API files are implementation-independent and avoids circular + * dependencies for files that refer to types managed by other + * components. + */ + +#ifndef ODP_TYPEDEFS_H_ +#define ODP_TYPEDEFS_H_ + +/** ODP Buffer pool */ +typedef uint32_t odp_buffer_pool_t; + +/** ODP buffer */ +typedef uint32_t odp_buffer_t; + +/** Invalid buffer */ +#define ODP_BUFFER_INVALID (0xffffffff) /**< Invalid buffer */ + +/** ODP packet */ +typedef odp_buffer_t odp_packet_t; + +/** Invalid packet */ +#define ODP_PACKET_INVALID ODP_BUFFER_INVALID + +/** Invalid offset */ +#define ODP_PACKET_OFFSET_INVALID ((uint32_t)-1) + +/** ODP packet segment */ +typedef int odp_packet_seg_t; + +/** Invalid packet segment */ +#define ODP_PACKET_SEG_INVALID -1 + +/** ODP packet segment info */ +typedef struct odp_packet_seg_info_t { + void *addr; /**< Segment start address */ + size_t size; /**< Segment maximum data size */ + void *data; /**< Segment data address */ + size_t data_len; /**< Segment data length */ +} odp_packet_seg_info_t; + +/** ODP packet IO handle */ +typedef uint32_t odp_pktio_t; + +/** Invalid packet IO handle */ +#define ODP_PKTIO_INVALID 0 + +/** odp_pktio_t value to indicate any port */ +#define ODP_PKTIO_ANY ((odp_pktio_t)~0) + +#endif
Signed-off-by: Bill Fischofer <bill.fischofer@linaro.org> --- platform/linux-generic/Makefile.am | 1 + platform/linux-generic/include/api/odp_buffer.h | 9 +--- .../linux-generic/include/api/odp_buffer_pool.h | 5 +- platform/linux-generic/include/api/odp_packet.h | 30 ----------- platform/linux-generic/include/api/odp_packet_io.h | 12 +---- platform/linux-generic/include/api/odp_typedefs.h | 63 ++++++++++++++++++++++ 6 files changed, 67 insertions(+), 53 deletions(-) create mode 100644 platform/linux-generic/include/api/odp_typedefs.h