[RTEMS Project] #3993: Specify the RTEMS Classic API
RTEMS trac
trac at rtems.org
Fri May 29 13:49:44 UTC 2020
#3993: Specify the RTEMS Classic API
------------------------------+----------------------
Reporter: Sebastian Huber | Owner: (none)
Type: task | Status: assigned
Priority: normal | Milestone: 6.1
Component: rtems | Version: 6
Severity: normal | Keywords:
Blocked By: | Blocking:
------------------------------+----------------------
For the RTEMS Qualification project we need a specification of the RTEMS
Classic API. This specification can be used to generate an Interface
Control Document (ICD), header files with Doxygen markup and content for
the RTEMS Classic API Guide. The RTEMS Classic API is mainly defined in
the following header files:
* <rtems.h>
* <rtems/config.h>
* <rtems/extension.h>
* <rtems/fatal.h>
* <rtems/init.h>
* <rtems/io.h>
* <rtems/rtems/barrier.h>
* <rtems/rtems/cache.h>
* <rtems/rtems/clock.h>
* <rtems/rtems/config.h>
* <rtems/rtems/dpmem.h>
* <rtems/rtems/event.h>
* <rtems/rtems/intr.h>
* <rtems/rtems/message.h>
* <rtems/rtems/mp.h>
* <rtems/rtems/object.h>
* <rtems/rtems/options.h>
* <rtems/rtems/part.h>
* <rtems/rtems/ratemon.h>
* <rtems/rtems/region.h>
* <rtems/rtems/sem.h>
* <rtems/rtems/signal.h>
* <rtems/rtems/status.h>
* <rtems/rtems/support.h>
* <rtems/rtems/tasks.h>
* <rtems/rtems/timer.h>
* <rtems/rtems/types.h>
* <rtems/score/stack.h>
Examples for interface specification items are available here:
https://git.rtems.org/sebh/rtems-qual.git/tree/spec/if/rtems/status
You find an example for a generated header file here:
https://git.rtems.org/sebh/rtems.git/tree/cpukit/include/rtems/rtems/status.h?h=qual
The header files are generated by this script:
https://git.rtems.org/sebh/rtems-qual.git/tree/specif.py
Carry out the following tasks for each header file:
1. Add a interface specification item for each variable, typedef, enum,
enumerator, define, macro, function, struct, and union.
2. For each item analyse the change history using `git log -p --follow` to
determine the copyright holders of the Doxygen markup. Use only Doxygen
markup for the specification items from contributors which agreed on a
dual-licensing (CC-BY-SA-4.0 OR BSD-2-Clause) in #3899. Use this
information to provide copyright statements for the items. The API parts
alone (e.g. function names, parameter names, type names, etc.) are not
considered to be copyrightable information.
3. Use the RTEMS documentation sources to document the API. Use only
content from contributors which agreed on a dual-licensing (CC-BY-SA-4.0
OR BSD-2-Clause) in #3899.
4. Add unspecified interface items for interfaces to the implementation, C
language, compiler, user provided defines, build system provided defines,
etc.
5. Run the RTEMS test suite with all tests enabled and check for
regressions (in particular new warnings).
6. Create a commit for each header file and send it to the RTEMS mailing
list for review.
--
Ticket URL: <http://devel.rtems.org/ticket/3993>
RTEMS Project <http://www.rtems.org/>
RTEMS Project
More information about the bugs
mailing list