#3598 closed enhancement (fixed)

Move internal types of API objects to separate header file

Reported by: Sebastian Huber Owned by: Sebastian Huber
Priority: normal Milestone: 5.1
Component: rtems Version: 5
Severity: normal Keywords: qualification
Cc: Blocked By:

Description (last modified by Sebastian Huber)

The <rtems.h> header file still exposes a lot of implementation details via the definition of internal data structures, e.g. the *_Control structures of the API objects. They are only necessary for the application configuration. Move them to separate header files. Currently we have:

  • <rtems/rtems/XYZ.h>
  • <rtems/rtems/XYZimpl.h>


  • <rtems/rtems/XYZdata.h>

for this new header file.

Potential new header files are:

  • rtems/extensiondata.h
  • rtems/rtems/asrdata.h
  • rtems/rtems/barrierdata.h
  • rtems/rtems/dpmemdata.h
  • rtems/rtems/eventdata.h
  • rtems/rtems/messagedata.h
  • rtems/rtems/partdata.h
  • rtems/rtems/ratemondata.h
  • rtems/rtems/regiondata.h
  • rtems/rtems/semdata.h
  • rtems/rtems/tasksdata.h
  • rtems/rtems/timerdata.h

Change History (43)

comment:1 Changed on 11/08/18 at 07:59:33 by Sebastian Huber

Description: modified (diff)

comment:2 Changed on 11/08/18 at 08:09:48 by Sebastian Huber

Description: modified (diff)

comment:3 Changed on 11/08/18 at 08:11:57 by Sebastian Huber

Description: modified (diff)

comment:4 Changed on 11/08/18 at 09:47:26 by Sebastian Huber

Description: modified (diff)

comment:5 Changed on 11/08/18 at 12:19:56 by Sebastian Huber

Description: modified (diff)

comment:6 Changed on 11/08/18 at 12:20:15 by Sebastian Huber <sebastian.huber@…>

In ac8025c/rtems:

libcsupport: Add missing include

Update #3598.

comment:7 Changed on 11/08/18 at 12:20:23 by Sebastian Huber <sebastian.huber@…>

In 4f4ed2f0/rtems:

rtems: Add missing include

Update #3598.

comment:8 Changed on 11/09/18 at 14:08:40 by Sebastian Huber <sebastian.huber@…>

In 0288536/rtems:

bsps: Include missing header files

Update #3598.

comment:9 Changed on 11/09/18 at 14:08:50 by Sebastian Huber <sebastian.huber@…>

In fdd3b85/rtems:

bsp/motorola_powerpc: Include <sys/param.h>

Update #3598.

comment:10 Changed on 11/09/18 at 14:09:00 by Sebastian Huber <sebastian.huber@…>

In 5841e0b/rtems:

bsp/lpc32xx: Include missing <time.h>

Update #3598.

comment:11 Changed on 11/09/18 at 14:09:09 by Sebastian Huber <sebastian.huber@…>

In 84aedca/rtems:

Include missing <rtems/score/thread.h>

Update #3598.

comment:12 Changed on 11/12/18 at 14:37:48 by Sebastian Huber <sebastian.huber@…>

In 93fae332/rtems:

Include missing <sys/types.h>

Update #3598.

comment:13 Changed on 11/12/18 at 14:37:56 by Sebastian Huber <sebastian.huber@…>

In 78bbe59/rtems:

rtems: Move internal structures to ratemondata.h

Update #3598.

comment:14 Changed on 11/12/18 at 14:38:05 by Sebastian Huber <sebastian.huber@…>

In 257cf74/rtems:

rtems: Move internal structures to asrdata.h

Update #3598.

comment:15 Changed on 11/12/18 at 14:38:13 by Sebastian Huber <sebastian.huber@…>

In bdd4eb8/rtems:

rtems: Remove Modes_Control

Use rtems_mode directly. This is in line with rtems_attribute and

Update #3598.

comment:16 Changed on 11/12/18 at 14:38:22 by Sebastian Huber <sebastian.huber@…>

In 395a49e1/rtems:

rtems: Move internal structures to barrierdata.h

Update #3598.

comment:17 Changed on 11/12/18 at 14:38:30 by Sebastian Huber <sebastian.huber@…>

In 72a4a42/rtems:

rtems: Move internal structures to dpmemdata.h

Update #3598.

comment:18 Changed on 11/12/18 at 14:38:38 by Sebastian Huber <sebastian.huber@…>

In efc227cd/rtems:

rtems: Move internal structures to eventdata.h

Update #3598.

comment:19 Changed on 11/12/18 at 14:38:47 by Sebastian Huber <sebastian.huber@…>

In 257668d/rtems:

rtems: Move internal structures to messagedata.h

Update #3598.

comment:20 Changed on 11/12/18 at 14:38:56 by Sebastian Huber <sebastian.huber@…>

In f00c5c6/rtems:

rtems: Move internal structures to partdata.h

Update #3598.

comment:21 Changed on 11/12/18 at 14:39:04 by Sebastian Huber <sebastian.huber@…>

In e8e914b3/rtems:

rtems: Move internal structures to regiondata.h

Update #3598.

comment:22 Changed on 11/12/18 at 14:39:12 by Sebastian Huber <sebastian.huber@…>

In 739df1f5/rtems:

rtems: Move internal structures to semdata.h

Update #3598.

comment:23 Changed on 11/12/18 at 14:39:20 by Sebastian Huber <sebastian.huber@…>

In b7af3e44/rtems:

rtems: Move internal structures to tasksdata.h

Update #3598.

comment:24 Changed on 11/12/18 at 14:39:29 by Sebastian Huber <sebastian.huber@…>

In e1b7c188/rtems:

rtems: Move internal structures to timerdata.h

Update #3598.

comment:25 Changed on 11/12/18 at 14:39:37 by Sebastian Huber <sebastian.huber@…>

In 5fc855d/rtems:

rtems: Move internal structures to extensiondata.h

Update #3598.

comment:26 Changed on 11/12/18 at 14:39:45 by Sebastian Huber <sebastian.huber@…>

In 742d6db/rtems:

score: Remove empty <rtems/score/tod.h>

Update #3598.

comment:27 Changed on 11/12/18 at 14:39:53 by Sebastian Huber <sebastian.huber@…>

In a11b98c/rtems:

score: Avoid include of <rtems/score/thread.h>

Update #3598.

comment:28 Changed on 11/12/18 at 14:40:01 by Sebastian Huber <sebastian.huber@…>

In 98c01a5/rtems:

rtems: Avoid <rtems/score/timecounter.h> in API

Use a real function for rtems_clock_get_uptime_seconds().

Update #3598.

comment:29 Changed on 11/12/18 at 14:40:10 by Sebastian Huber <sebastian.huber@…>

In ccc6695/rtems:

score: Introduce <rtems/score/watchdogticks.h>

Separate the definitions related to watchdog ticks from the watchdog

Update #3598.

comment:30 Changed on 11/12/18 at 14:40:18 by Sebastian Huber <sebastian.huber@…>

In 9763245/rtems:

rtems: Remove superfluous include

Update #3598.

comment:31 Changed on 11/12/18 at 14:40:26 by Sebastian Huber <sebastian.huber@…>

In 805f9c26/rtems:

score: Avoid complex include in heap.h

Update #3598.

comment:32 Changed on 11/12/18 at 14:40:34 by Sebastian Huber <sebastian.huber@…>

In 2fa014db/rtems:

rtems: Avoid include of <rtems/score/thread.h>

Update #3598.

comment:33 Changed on 11/12/18 at 14:40:43 by Sebastian Huber <sebastian.huber@…>

In e897c7d/rtems:

rtems: Avoid include of <rtems/score/scheduler.h>

Update #3598.

comment:34 Changed on 11/12/18 at 14:40:51 by Sebastian Huber <sebastian.huber@…>

In a6e7d5e4/rtems:

score: Move internal structures to objectdata.h

Update #3598.

comment:35 Changed on 11/12/18 at 14:41:00 by Sebastian Huber <sebastian.huber@…>

In 3b69a0e2/rtems:

rtems: Simplify includes in <rtems/rtems/cache.h>

Update #3598.

comment:36 Changed on 11/12/18 at 14:41:08 by Sebastian Huber <sebastian.huber@…>

In 356b07e6/rtems:

score: Includes in <rtems/score/smplockstats.h>

Include implementation header files only if necessary.

Update #3598.

comment:37 Changed on 11/12/18 at 14:41:17 by Sebastian Huber <sebastian.huber@…>

In 963c6c2/rtems:

score: Move internal structures to userextdata.h

Update #3598.

comment:38 Changed on 11/13/18 at 09:18:02 by Sebastian Huber <sebastian.huber@…>

In 9f87c45/rtems-libbsd:

Include missing <sys/types.h>

Update #3598.

comment:39 Changed on 11/14/18 at 06:24:28 by Sebastian Huber <sebastian.huber@…>

In dc563556/rtems:

Include missing <sys/cpuset.h>

Update #3598.

comment:40 Changed on 11/26/18 at 11:31:39 by Sebastian Huber <sebastian.huber@…>

Resolution: fixed
Status: assignedclosed

In 5fc727f/rtems:

score: <rtems/score/smplockstats.h>

Remove <rtems/score/chainimpl.h> include from

Close #3598.

comment:41 Changed on 11/26/18 at 11:31:42 by Sebastian Huber <sebastian.huber@…>

In eaa5ea84/rtems:

score: Introduce <rtems/score/heapinfo.h>

Move Heap_Information_block to separate header file to hide heap
implementation details from <rtems.h>.

Update #3598.

comment:42 Changed on 12/07/18 at 13:33:58 by Sebastian Huber <sebastian.huber@…>

In ef23838/rtems:

score: Avoid sbintime_t in API headers

The sbintime_t is a non-POSIX type and not visible if strict standard
options are selected.

Move implementation details from <rtems/score/timestamp.h> to

Update #3598.

comment:43 Changed on 06/23/21 at 07:16:03 by Sebastian Huber

Keywords: qualification added
Note: See TracTickets for help on using tickets.