aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Holmes <mike.holmes@linaro.org>2015-09-04 14:39:11 -0400
committerMaxim Uvarov <maxim.uvarov@linaro.org>2015-09-07 13:20:28 +0300
commit33112ca2d97b5ef4a05c23480205ae373039004d (patch)
tree2ebd4d8b0e865cfc5879ed587370ca15260a7518
parentb509038bf26d661a01cf7bf6d0fd483a7935254b (diff)
doc: implementers add include structure
Signed-off-by: Mike Holmes <mike.holmes@linaro.org> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
-rw-r--r--doc/implementers-guide/implementers-guide.adoc34
1 files changed, 34 insertions, 0 deletions
diff --git a/doc/implementers-guide/implementers-guide.adoc b/doc/implementers-guide/implementers-guide.adoc
index 56d6e05e..32dbfea3 100644
--- a/doc/implementers-guide/implementers-guide.adoc
+++ b/doc/implementers-guide/implementers-guide.adoc
@@ -11,6 +11,40 @@ Further details about ODP may be found at http://opendataplane.org[ODP homepage]
:numbered:
+The include structure
+---------------------
+The implementers view of the include source tree allows the common API definitions and documentation to be reused by all the platforms defined in the tree, but leave the actual definitions to be defined by the specific platform.
+
+.Implementers include structure
+----
+./
+├── include/
+│   ├── odp/
+│   │   └── api/
+│   │   └── The Public API and the documentation.
+│   │
+│   └── odp.h This file should be the only file included by the application.
+│
+├── platform/
+│   ├── <implementation name>/
+│   │   ├── include/
+│   │   │   ├── odp/
+│   │   │   │   ├── In-line function definitions of the public API for this platform
+│   │   │   │ │ seen by the applicationx.
+│   │   │   │ │
+│   │   │   │   └── plat/
+│   │   │   │     └── Platform specific types, enums etc as seen by the application
+│   │   │   │ but require overriding by the implementation.
+│   │   │   │  
+│   │   │   └── Internal header files seen only by the implementation.
+----
+
+The doxygen description of the API definition is held in the public api file 'include/odp/api'.
+This file is included by a counterpart in 'platform/<implementation name>/include/odp'.
+The include of the public API is AFTER the platform specific definitions to allow the platform to provide definitions that match the underlying hardware.
+The implementation code includes 'platform/<implementation name>/include/plat' and this then provides the source files with a complete definition the ODP API to be implemented.
+Applications in turn include the include/odp.h file which includes the 'platform/<implementation name>/include/plat' files to provide a complete definition of the API.
+
The validation Suite
--------------------
ODP provides a comprehensive set of API validation tests that are intended to be used by implementers during development and by application developers to verify that a particular implementation meets their requirements.