#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:
Cc: Blocked By:
Blocking:

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>

Use

  • <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 (42)

comment:1 Changed on Nov 8, 2018 at 7:59:33 AM by Sebastian Huber

Description: modified (diff)

comment:2 Changed on Nov 8, 2018 at 8:09:48 AM by Sebastian Huber

Description: modified (diff)

comment:3 Changed on Nov 8, 2018 at 8:11:57 AM by Sebastian Huber

Description: modified (diff)

comment:4 Changed on Nov 8, 2018 at 9:47:26 AM by Sebastian Huber

Description: modified (diff)

comment:5 Changed on Nov 8, 2018 at 12:19:56 PM by Sebastian Huber

Description: modified (diff)

comment:6 Changed on Nov 8, 2018 at 12:20:15 PM by Sebastian Huber <sebastian.huber@…>

In ac8025c/rtems:

libcsupport: Add missing include

Update #3598.

comment:7 Changed on Nov 8, 2018 at 12:20:23 PM by Sebastian Huber <sebastian.huber@…>

In 4f4ed2f0/rtems:

rtems: Add missing include

Update #3598.

comment:8 Changed on Nov 9, 2018 at 2:08:40 PM by Sebastian Huber <sebastian.huber@…>

In 0288536/rtems:

bsps: Include missing header files

Update #3598.

comment:9 Changed on Nov 9, 2018 at 2:08:50 PM by Sebastian Huber <sebastian.huber@…>

In fdd3b85/rtems:

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

Update #3598.

comment:10 Changed on Nov 9, 2018 at 2:09:00 PM by Sebastian Huber <sebastian.huber@…>

In 5841e0b/rtems:

bsp/lpc32xx: Include missing <time.h>

Update #3598.

comment:11 Changed on Nov 9, 2018 at 2:09:09 PM by Sebastian Huber <sebastian.huber@…>

In 84aedca/rtems:

Include missing <rtems/score/thread.h>

Update #3598.

comment:12 Changed on Nov 12, 2018 at 2:37:48 PM by Sebastian Huber <sebastian.huber@…>

In 93fae332/rtems:

Include missing <sys/types.h>

Update #3598.

comment:13 Changed on Nov 12, 2018 at 2:37:56 PM by Sebastian Huber <sebastian.huber@…>

In 78bbe59/rtems:

rtems: Move internal structures to ratemondata.h

Update #3598.

comment:14 Changed on Nov 12, 2018 at 2:38:05 PM by Sebastian Huber <sebastian.huber@…>

In 257cf74/rtems:

rtems: Move internal structures to asrdata.h

Update #3598.

comment:15 Changed on Nov 12, 2018 at 2:38:13 PM by Sebastian Huber <sebastian.huber@…>

In bdd4eb8/rtems:

rtems: Remove Modes_Control

Use rtems_mode directly. This is in line with rtems_attribute and
rtems_option.

Update #3598.

comment:16 Changed on Nov 12, 2018 at 2:38:22 PM by Sebastian Huber <sebastian.huber@…>

In 395a49e1/rtems:

rtems: Move internal structures to barrierdata.h

Update #3598.

comment:17 Changed on Nov 12, 2018 at 2:38:30 PM by Sebastian Huber <sebastian.huber@…>

In 72a4a42/rtems:

rtems: Move internal structures to dpmemdata.h

Update #3598.

comment:18 Changed on Nov 12, 2018 at 2:38:38 PM by Sebastian Huber <sebastian.huber@…>

In efc227cd/rtems:

rtems: Move internal structures to eventdata.h

Update #3598.

comment:19 Changed on Nov 12, 2018 at 2:38:47 PM by Sebastian Huber <sebastian.huber@…>

In 257668d/rtems:

rtems: Move internal structures to messagedata.h

Update #3598.

comment:20 Changed on Nov 12, 2018 at 2:38:56 PM by Sebastian Huber <sebastian.huber@…>

In f00c5c6/rtems:

rtems: Move internal structures to partdata.h

Update #3598.

comment:21 Changed on Nov 12, 2018 at 2:39:04 PM by Sebastian Huber <sebastian.huber@…>

In e8e914b3/rtems:

rtems: Move internal structures to regiondata.h

Update #3598.

comment:22 Changed on Nov 12, 2018 at 2:39:12 PM by Sebastian Huber <sebastian.huber@…>

In 739df1f5/rtems:

rtems: Move internal structures to semdata.h

Update #3598.

comment:23 Changed on Nov 12, 2018 at 2:39:20 PM by Sebastian Huber <sebastian.huber@…>

In b7af3e44/rtems:

rtems: Move internal structures to tasksdata.h

Update #3598.

comment:24 Changed on Nov 12, 2018 at 2:39:29 PM by Sebastian Huber <sebastian.huber@…>

In e1b7c188/rtems:

rtems: Move internal structures to timerdata.h

Update #3598.

comment:25 Changed on Nov 12, 2018 at 2:39:37 PM by Sebastian Huber <sebastian.huber@…>

In 5fc855d/rtems:

rtems: Move internal structures to extensiondata.h

Update #3598.

comment:26 Changed on Nov 12, 2018 at 2:39:45 PM by Sebastian Huber <sebastian.huber@…>

In 742d6db/rtems:

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

Update #3598.

comment:27 Changed on Nov 12, 2018 at 2:39:53 PM by Sebastian Huber <sebastian.huber@…>

In a11b98c/rtems:

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

Update #3598.

comment:28 Changed on Nov 12, 2018 at 2:40:01 PM 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 Nov 12, 2018 at 2:40:10 PM by Sebastian Huber <sebastian.huber@…>

In ccc6695/rtems:

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

Separate the definitions related to watchdog ticks from the watchdog
structures.

Update #3598.

comment:30 Changed on Nov 12, 2018 at 2:40:18 PM by Sebastian Huber <sebastian.huber@…>

In 9763245/rtems:

rtems: Remove superfluous include

Update #3598.

comment:31 Changed on Nov 12, 2018 at 2:40:26 PM by Sebastian Huber <sebastian.huber@…>

In 805f9c26/rtems:

score: Avoid complex include in heap.h

Update #3598.

comment:32 Changed on Nov 12, 2018 at 2:40:34 PM by Sebastian Huber <sebastian.huber@…>

In 2fa014db/rtems:

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

Update #3598.

comment:33 Changed on Nov 12, 2018 at 2:40:43 PM by Sebastian Huber <sebastian.huber@…>

In e897c7d/rtems:

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

Update #3598.

comment:34 Changed on Nov 12, 2018 at 2:40:51 PM by Sebastian Huber <sebastian.huber@…>

In a6e7d5e4/rtems:

score: Move internal structures to objectdata.h

Update #3598.

comment:35 Changed on Nov 12, 2018 at 2:41:00 PM by Sebastian Huber <sebastian.huber@…>

In 3b69a0e2/rtems:

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

Update #3598.

comment:36 Changed on Nov 12, 2018 at 2:41:08 PM 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 Nov 12, 2018 at 2:41:17 PM by Sebastian Huber <sebastian.huber@…>

In 963c6c2/rtems:

score: Move internal structures to userextdata.h

Update #3598.

comment:38 Changed on Nov 13, 2018 at 9:18:02 AM by Sebastian Huber <sebastian.huber@…>

In 9f87c45/rtems-libbsd:

Include missing <sys/types.h>

Update #3598.

comment:39 Changed on Nov 14, 2018 at 6:24:28 AM by Sebastian Huber <sebastian.huber@…>

In dc563556/rtems:

Include missing <sys/cpuset.h>

Update #3598.

comment:40 Changed on Nov 26, 2018 at 11:31:39 AM by Sebastian Huber <sebastian.huber@…>

Resolution: fixed
Status: assignedclosed

In 5fc727f/rtems:

score: <rtems/score/smplockstats.h>

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

Close #3598.

comment:41 Changed on Nov 26, 2018 at 11:31:42 AM 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 Dec 7, 2018 at 1:33:58 PM 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
<rtems/score/timestampimpl.h>.

Update #3598.

Note: See TracTickets for help on using tickets.