[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