summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2013-07-24 13:50:54 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2013-07-26 11:55:47 +0200
commita2e3f33f39e6898c2e2886216fe671b29a93d643 (patch)
treed304dc7fe4fcf0dcb42a61b8ba99b2c698d8454f
parentInclude missing <rtems/score/threaddispatch.h> (diff)
downloadrtems-a2e3f33f39e6898c2e2886216fe671b29a93d643.tar.bz2
score: Create object implementation header
Move implementation specific parts of object.h and object.inl into new header file objectimpl.h. The object.h contains now only the application visible API.
-rw-r--r--c/src/lib/libbsp/shared/gdbstub/rtems-stub-glue.c1
-rw-r--r--cpukit/libcsupport/src/getdents.c1
-rw-r--r--cpukit/libcsupport/src/getegid.c1
-rw-r--r--cpukit/libcsupport/src/geteuid.c1
-rw-r--r--cpukit/libcsupport/src/getlogin.c1
-rw-r--r--cpukit/libcsupport/src/getpgrp.c2
-rw-r--r--cpukit/libcsupport/src/getpid.c3
-rw-r--r--cpukit/libcsupport/src/getppid.c1
-rw-r--r--cpukit/libcsupport/src/realloc.c1
-rw-r--r--cpukit/libcsupport/src/setegid.c1
-rw-r--r--cpukit/libcsupport/src/utsname.c3
-rw-r--r--cpukit/libmisc/cpuuse/cpuusagereport.c1
-rw-r--r--cpukit/libmisc/monitor/monitor.h1
-rw-r--r--cpukit/posix/include/rtems/posix/barrierimpl.h1
-rw-r--r--cpukit/posix/include/rtems/posix/condimpl.h1
-rw-r--r--cpukit/posix/include/rtems/posix/key.h2
-rw-r--r--cpukit/posix/include/rtems/posix/posixapi.h2
-rw-r--r--cpukit/posix/include/rtems/posix/pthreadimpl.h1
-rw-r--r--cpukit/posix/include/rtems/posix/rwlockimpl.h1
-rw-r--r--cpukit/posix/include/rtems/posix/spinlockimpl.h1
-rw-r--r--cpukit/posix/include/rtems/posix/threadsup.h1
-rw-r--r--cpukit/posix/include/rtems/posix/timerimpl.h1
-rw-r--r--cpukit/posix/src/barrierattrdestroy.c1
-rw-r--r--cpukit/posix/src/cond.c1
-rw-r--r--cpukit/posix/src/condattrdestroy.c1
-rw-r--r--cpukit/posix/src/condattrgetpshared.c1
-rw-r--r--cpukit/posix/src/condattrinit.c1
-rw-r--r--cpukit/posix/src/condattrsetpshared.c1
-rw-r--r--cpukit/posix/src/condbroadcast.c1
-rw-r--r--cpukit/posix/src/conddefaultattributes.c1
-rw-r--r--cpukit/posix/src/conddestroy.c1
-rw-r--r--cpukit/posix/src/condget.c1
-rw-r--r--cpukit/posix/src/condinit.c1
-rw-r--r--cpukit/posix/src/condsignal.c1
-rw-r--r--cpukit/posix/src/condsignalsupp.c1
-rw-r--r--cpukit/posix/src/condtimedwait.c1
-rw-r--r--cpukit/posix/src/condwait.c1
-rw-r--r--cpukit/posix/src/condwaitsupp.c1
-rw-r--r--cpukit/posix/src/keyrundestructors.c1
-rw-r--r--cpukit/posix/src/posixtimespecabsolutetimeout.c1
-rw-r--r--cpukit/posix/src/rwlockattrdestroy.c1
-rw-r--r--cpukit/posix/src/semaphore.c1
-rw-r--r--cpukit/posix/src/semaphorecreatesupp.c1
-rw-r--r--cpukit/posix/src/semaphoredeletesupp.c1
-rw-r--r--cpukit/posix/src/semaphorewaitsupp.c1
-rw-r--r--cpukit/posix/src/semclose.c1
-rw-r--r--cpukit/posix/src/semdestroy.c1
-rw-r--r--cpukit/posix/src/semgetvalue.c1
-rw-r--r--cpukit/posix/src/seminit.c1
-rw-r--r--cpukit/posix/src/semopen.c1
-rw-r--r--cpukit/posix/src/sempost.c1
-rw-r--r--cpukit/posix/src/semtimedwait.c1
-rw-r--r--cpukit/posix/src/semtrywait.c1
-rw-r--r--cpukit/posix/src/semunlink.c1
-rw-r--r--cpukit/posix/src/semwait.c1
-rw-r--r--cpukit/rtems/include/rtems/rtems/barrierimpl.h1
-rw-r--r--cpukit/rtems/include/rtems/rtems/dpmemimpl.h1
-rw-r--r--cpukit/rtems/include/rtems/rtems/messageimpl.h1
-rw-r--r--cpukit/rtems/include/rtems/rtems/partimpl.h1
-rw-r--r--cpukit/rtems/include/rtems/rtems/ratemonimpl.h1
-rw-r--r--cpukit/rtems/include/rtems/rtems/regionimpl.h1
-rw-r--r--cpukit/rtems/include/rtems/rtems/tasksimpl.h1
-rw-r--r--cpukit/rtems/include/rtems/rtems/timerimpl.h2
-rw-r--r--cpukit/rtems/src/barrier.c1
-rw-r--r--cpukit/rtems/src/barriercreate.c1
-rw-r--r--cpukit/rtems/src/barrierident.c1
-rw-r--r--cpukit/rtems/src/dpmem.c1
-rw-r--r--cpukit/rtems/src/dpmemcreate.c1
-rw-r--r--cpukit/rtems/src/dpmemdelete.c1
-rw-r--r--cpukit/rtems/src/dpmemexternal2internal.c1
-rw-r--r--cpukit/rtems/src/dpmemident.c1
-rw-r--r--cpukit/rtems/src/dpmeminternal2external.c1
-rw-r--r--cpukit/rtems/src/eventmp.c1
-rw-r--r--cpukit/rtems/src/msg.c1
-rw-r--r--cpukit/rtems/src/msgqallocate.c1
-rw-r--r--cpukit/rtems/src/msgqbroadcast.c1
-rw-r--r--cpukit/rtems/src/msgqcreate.c1
-rw-r--r--cpukit/rtems/src/msgqdelete.c1
-rw-r--r--cpukit/rtems/src/msgqflush.c1
-rw-r--r--cpukit/rtems/src/msgqgetnumberpending.c1
-rw-r--r--cpukit/rtems/src/msgqident.c1
-rw-r--r--cpukit/rtems/src/msgqreceive.c1
-rw-r--r--cpukit/rtems/src/msgqsend.c1
-rw-r--r--cpukit/rtems/src/msgqtranslatereturncode.c1
-rw-r--r--cpukit/rtems/src/msgqurgent.c1
-rw-r--r--cpukit/rtems/src/part.c1
-rw-r--r--cpukit/rtems/src/partgetbuffer.c1
-rw-r--r--cpukit/rtems/src/partident.c1
-rw-r--r--cpukit/rtems/src/partreturnbuffer.c1
-rw-r--r--cpukit/rtems/src/ratemon.c1
-rw-r--r--cpukit/rtems/src/ratemoncreate.c1
-rw-r--r--cpukit/rtems/src/ratemongetstatistics.c1
-rw-r--r--cpukit/rtems/src/ratemongetstatus.c1
-rw-r--r--cpukit/rtems/src/ratemonident.c1
-rw-r--r--cpukit/rtems/src/ratemonresetall.c1
-rw-r--r--cpukit/rtems/src/ratemonresetstatistics.c1
-rw-r--r--cpukit/rtems/src/region.c1
-rw-r--r--cpukit/rtems/src/regiondelete.c1
-rw-r--r--cpukit/rtems/src/regionextend.c1
-rw-r--r--cpukit/rtems/src/regiongetfreeinfo.c1
-rw-r--r--cpukit/rtems/src/regiongetinfo.c1
-rw-r--r--cpukit/rtems/src/regiongetsegmentsize.c1
-rw-r--r--cpukit/rtems/src/regionident.c1
-rw-r--r--cpukit/rtems/src/regionresizesegment.c1
-rw-r--r--cpukit/rtems/src/regionreturnsegment.c1
-rw-r--r--cpukit/rtems/src/rtemsbuildid.c15
-rw-r--r--cpukit/rtems/src/rtemsbuildname.c1
-rw-r--r--cpukit/rtems/src/rtemsobjectapimaximumclass.c4
-rw-r--r--cpukit/rtems/src/rtemsobjectapiminimumclass.c4
-rw-r--r--cpukit/rtems/src/rtemsobjectgetapiclassname.c12
-rw-r--r--cpukit/rtems/src/rtemsobjectgetapiname.c6
-rw-r--r--cpukit/rtems/src/rtemsobjectgetclassicname.c6
-rw-r--r--cpukit/rtems/src/rtemsobjectgetclassinfo.c4
-rw-r--r--cpukit/rtems/src/rtemsobjectgetname.c11
-rw-r--r--cpukit/rtems/src/rtemsobjectidapimaximum.c8
-rw-r--r--cpukit/rtems/src/rtemsobjectidapiminimum.c8
-rw-r--r--cpukit/rtems/src/rtemsobjectidgetapi.c12
-rw-r--r--cpukit/rtems/src/rtemsobjectidgetclass.c12
-rw-r--r--cpukit/rtems/src/rtemsobjectidgetindex.c12
-rw-r--r--cpukit/rtems/src/rtemsobjectidgetnode.c12
-rw-r--r--cpukit/rtems/src/rtemsobjectsetname.c7
-rw-r--r--cpukit/rtems/src/rtemstimer.c1
-rw-r--r--cpukit/rtems/src/sem.c1
-rw-r--r--cpukit/rtems/src/semcreate.c1
-rw-r--r--cpukit/rtems/src/semdelete.c1
-rw-r--r--cpukit/rtems/src/semflush.c1
-rw-r--r--cpukit/rtems/src/semident.c1
-rw-r--r--cpukit/rtems/src/semobtain.c1
-rw-r--r--cpukit/rtems/src/semrelease.c1
-rw-r--r--cpukit/rtems/src/taskident.c1
-rw-r--r--cpukit/rtems/src/taskinitusers.c1
-rw-r--r--cpukit/rtems/src/tasks.c1
-rw-r--r--cpukit/rtems/src/timercancel.c1
-rw-r--r--cpukit/rtems/src/timercreate.c1
-rw-r--r--cpukit/rtems/src/timerdelete.c1
-rw-r--r--cpukit/rtems/src/timerfireafter.c1
-rw-r--r--cpukit/rtems/src/timerfirewhen.c1
-rw-r--r--cpukit/rtems/src/timergetinfo.c1
-rw-r--r--cpukit/rtems/src/timerident.c1
-rw-r--r--cpukit/rtems/src/timerreset.c1
-rw-r--r--cpukit/rtems/src/timerserverfireafter.c1
-rw-r--r--cpukit/rtems/src/timerserverfirewhen.c1
-rw-r--r--cpukit/sapi/include/rtems/extensionimpl.h1
-rw-r--r--cpukit/sapi/src/extension.c1
-rw-r--r--cpukit/sapi/src/extensioncreate.c1
-rw-r--r--cpukit/sapi/src/extensiondelete.c1
-rw-r--r--cpukit/sapi/src/extensionident.c1
-rw-r--r--cpukit/sapi/src/posixapi.c1
-rw-r--r--cpukit/score/Makefile.am4
-rw-r--r--cpukit/score/include/rtems/score/apimutex.h16
-rw-r--r--cpukit/score/include/rtems/score/object.h669
-rw-r--r--cpukit/score/include/rtems/score/objectimpl.h930
-rw-r--r--cpukit/score/include/rtems/score/schedulerpriorityimpl.h1
-rw-r--r--cpukit/score/include/rtems/score/threadimpl.h1
-rw-r--r--cpukit/score/inline/rtems/score/object.inl421
-rw-r--r--cpukit/score/preinstall.am8
-rw-r--r--cpukit/score/src/apimutex.c31
-rw-r--r--cpukit/score/src/apimutexallocate.c45
-rw-r--r--cpukit/score/src/corebarrierrelease.c1
-rw-r--r--cpukit/score/src/coremsgbroadcast.c6
-rw-r--r--cpukit/score/src/coremsgclose.c1
-rw-r--r--cpukit/score/src/coremsgflush.c1
-rw-r--r--cpukit/score/src/coremsgflushsupp.c1
-rw-r--r--cpukit/score/src/coremsgflushwait.c1
-rw-r--r--cpukit/score/src/coremsginsert.c1
-rw-r--r--cpukit/score/src/coremsgseize.c1
-rw-r--r--cpukit/score/src/coremsgsubmit.c7
-rw-r--r--cpukit/score/src/coresemsurrender.c4
-rw-r--r--cpukit/score/src/coretod.c1
-rw-r--r--cpukit/score/src/coretodset.c1
-rw-r--r--cpukit/score/src/coretodtickle.c1
-rw-r--r--cpukit/score/src/iterateoverthreads.c2
-rw-r--r--cpukit/score/src/objectactivecount.c2
-rw-r--r--cpukit/score/src/objectallocate.c10
-rw-r--r--cpukit/score/src/objectapimaximumclass.c3
-rw-r--r--cpukit/score/src/objectclose.c4
-rw-r--r--cpukit/score/src/objectextendinformation.c9
-rw-r--r--cpukit/score/src/objectfree.c10
-rw-r--r--cpukit/score/src/objectget.c11
-rw-r--r--cpukit/score/src/objectgetinfo.c5
-rw-r--r--cpukit/score/src/objectgetinfoid.c4
-rw-r--r--cpukit/score/src/objectgetisr.c11
-rw-r--r--cpukit/score/src/objectgetnameasstring.c1
-rw-r--r--cpukit/score/src/objectgetnext.c11
-rw-r--r--cpukit/score/src/objectgetnoprotection.c11
-rw-r--r--cpukit/score/src/objectidtoname.c1
-rw-r--r--cpukit/score/src/objectinitializeinformation.c12
-rw-r--r--cpukit/score/src/objectmp.c7
-rw-r--r--cpukit/score/src/objectnamespaceremove.c3
-rw-r--r--cpukit/score/src/objectnametoid.c11
-rw-r--r--cpukit/score/src/objectnametoidstring.c13
-rw-r--r--cpukit/score/src/objectsetname.c8
-rw-r--r--cpukit/score/src/objectshrinkinformation.c9
-rw-r--r--cpukit/score/src/threaddispatchdisablelevel.c1
-rw-r--r--cpukit/score/src/threadqextractwithproxy.c1
-rw-r--r--cpukit/score/src/threadqflush.c2
-rw-r--r--testsuites/psxtests/psxobj01/init.c3
-rw-r--r--testsuites/samples/unlimited/test1.c1
-rw-r--r--testsuites/sptests/sp41/init.c3
199 files changed, 1192 insertions, 1404 deletions
diff --git a/c/src/lib/libbsp/shared/gdbstub/rtems-stub-glue.c b/c/src/lib/libbsp/shared/gdbstub/rtems-stub-glue.c
index df5352f6a2..49e4f31843 100644
--- a/c/src/lib/libbsp/shared/gdbstub/rtems-stub-glue.c
+++ b/c/src/lib/libbsp/shared/gdbstub/rtems-stub-glue.c
@@ -30,6 +30,7 @@
#include <rtems.h>
#include <rtems/score/sysstate.h>
+#include <rtems/score/objectimpl.h>
#include <string.h>
#include "gdb_if.h"
diff --git a/cpukit/libcsupport/src/getdents.c b/cpukit/libcsupport/src/getdents.c
index 9e26a3cc2d..cb650159c6 100644
--- a/cpukit/libcsupport/src/getdents.c
+++ b/cpukit/libcsupport/src/getdents.c
@@ -20,6 +20,7 @@
#include <errno.h>
+#include <rtems/score/objectimpl.h>
#include <rtems/libio_.h>
#include <rtems/seterr.h>
diff --git a/cpukit/libcsupport/src/getegid.c b/cpukit/libcsupport/src/getegid.c
index 9ec6f0b6fc..86f514eb8f 100644
--- a/cpukit/libcsupport/src/getegid.c
+++ b/cpukit/libcsupport/src/getegid.c
@@ -12,7 +12,6 @@
#include <unistd.h>
#include <rtems/system.h>
-#include <rtems/score/object.h>
#include <rtems/seterr.h>
#include <rtems/userenv.h>
diff --git a/cpukit/libcsupport/src/geteuid.c b/cpukit/libcsupport/src/geteuid.c
index bc4ee75601..85f2d575da 100644
--- a/cpukit/libcsupport/src/geteuid.c
+++ b/cpukit/libcsupport/src/geteuid.c
@@ -12,7 +12,6 @@
#include <unistd.h>
#include <rtems/system.h>
-#include <rtems/score/object.h>
#include <rtems/seterr.h>
#include <rtems/userenv.h>
diff --git a/cpukit/libcsupport/src/getlogin.c b/cpukit/libcsupport/src/getlogin.c
index fe0f9ad6f8..1ec8285292 100644
--- a/cpukit/libcsupport/src/getlogin.c
+++ b/cpukit/libcsupport/src/getlogin.c
@@ -15,7 +15,6 @@
#include <errno.h>
#include <rtems/system.h>
-#include <rtems/score/object.h>
#include <rtems/seterr.h>
#include <rtems/userenv.h>
diff --git a/cpukit/libcsupport/src/getpgrp.c b/cpukit/libcsupport/src/getpgrp.c
index 9ff1dd6cb6..208c7022f7 100644
--- a/cpukit/libcsupport/src/getpgrp.c
+++ b/cpukit/libcsupport/src/getpgrp.c
@@ -3,7 +3,7 @@
#endif
#include <unistd.h>
-#include <rtems/score/object.h>
+#include <rtems/score/objectimpl.h>
/*
* 4.3.1 Get Process Group IDs, P1003.1b-1993, p. 89
diff --git a/cpukit/libcsupport/src/getpid.c b/cpukit/libcsupport/src/getpid.c
index 27825e50b5..b2cd19b999 100644
--- a/cpukit/libcsupport/src/getpid.c
+++ b/cpukit/libcsupport/src/getpid.c
@@ -11,8 +11,7 @@
#include <unistd.h>
-#include <rtems/system.h>
-#include <rtems/score/object.h>
+#include <rtems/score/objectimpl.h>
#include <rtems/seterr.h>
/**
diff --git a/cpukit/libcsupport/src/getppid.c b/cpukit/libcsupport/src/getppid.c
index b0269d4aea..f55bf77c04 100644
--- a/cpukit/libcsupport/src/getppid.c
+++ b/cpukit/libcsupport/src/getppid.c
@@ -12,7 +12,6 @@
#include <unistd.h>
#include <rtems/system.h>
-#include <rtems/score/object.h>
#include <rtems/seterr.h>
pid_t _POSIX_types_Ppid = 0;
diff --git a/cpukit/libcsupport/src/realloc.c b/cpukit/libcsupport/src/realloc.c
index f9b2674f14..845e77b43a 100644
--- a/cpukit/libcsupport/src/realloc.c
+++ b/cpukit/libcsupport/src/realloc.c
@@ -25,6 +25,7 @@
#include <string.h>
#include <rtems/score/sysstate.h>
+#include <rtems/score/objectimpl.h>
void *realloc(
void *ptr,
diff --git a/cpukit/libcsupport/src/setegid.c b/cpukit/libcsupport/src/setegid.c
index 249491102b..1d753adc51 100644
--- a/cpukit/libcsupport/src/setegid.c
+++ b/cpukit/libcsupport/src/setegid.c
@@ -21,7 +21,6 @@
#include <unistd.h>
#include <rtems/system.h>
-#include <rtems/score/object.h>
#include <rtems/seterr.h>
#include <rtems/userenv.h>
diff --git a/cpukit/libcsupport/src/utsname.c b/cpukit/libcsupport/src/utsname.c
index 5af5e1a97d..8320a5c36e 100644
--- a/cpukit/libcsupport/src/utsname.c
+++ b/cpukit/libcsupport/src/utsname.c
@@ -23,8 +23,7 @@
#include <sys/utsname.h>
#include <inttypes.h>
-#include <rtems/system.h>
-#include <rtems/score/object.h>
+#include <rtems/score/objectimpl.h>
#include <rtems/seterr.h>
/*
diff --git a/cpukit/libmisc/cpuuse/cpuusagereport.c b/cpukit/libmisc/cpuuse/cpuusagereport.c
index 5579b1bff2..aa5a8c65e3 100644
--- a/cpukit/libmisc/cpuuse/cpuusagereport.c
+++ b/cpukit/libmisc/cpuuse/cpuusagereport.c
@@ -25,6 +25,7 @@
#include <inttypes.h>
#include <rtems/cpuuse.h>
+#include <rtems/score/objectimpl.h>
#include <rtems/score/watchdogimpl.h>
#ifndef __RTEMS_USE_TICKS_FOR_STATISTICS__
diff --git a/cpukit/libmisc/monitor/monitor.h b/cpukit/libmisc/monitor/monitor.h
index aedde1a848..6a85d602eb 100644
--- a/cpukit/libmisc/monitor/monitor.h
+++ b/cpukit/libmisc/monitor/monitor.h
@@ -8,6 +8,7 @@
#ifndef __MONITOR_H
#define __MONITOR_H
+#include <rtems/score/objectimpl.h>
#include <rtems/error.h> /* rtems_error() */
#include <rtems/config.h>
diff --git a/cpukit/posix/include/rtems/posix/barrierimpl.h b/cpukit/posix/include/rtems/posix/barrierimpl.h
index b9df1517cc..266bbdbe8b 100644
--- a/cpukit/posix/include/rtems/posix/barrierimpl.h
+++ b/cpukit/posix/include/rtems/posix/barrierimpl.h
@@ -21,6 +21,7 @@
#include <rtems/posix/barrier.h>
#include <rtems/score/corebarrierimpl.h>
+#include <rtems/score/objectimpl.h>
#include <pthread.h>
diff --git a/cpukit/posix/include/rtems/posix/condimpl.h b/cpukit/posix/include/rtems/posix/condimpl.h
index 0e6d3409c1..029ff48b88 100644
--- a/cpukit/posix/include/rtems/posix/condimpl.h
+++ b/cpukit/posix/include/rtems/posix/condimpl.h
@@ -18,6 +18,7 @@
#define _RTEMS_POSIX_CONDIMPL_H
#include <rtems/posix/cond.h>
+#include <rtems/score/objectimpl.h>
#include <rtems/score/watchdog.h>
#ifdef __cplusplus
diff --git a/cpukit/posix/include/rtems/posix/key.h b/cpukit/posix/include/rtems/posix/key.h
index 0bb1dbe6a8..6d2ebff6fd 100644
--- a/cpukit/posix/include/rtems/posix/key.h
+++ b/cpukit/posix/include/rtems/posix/key.h
@@ -19,7 +19,7 @@
#ifndef _RTEMS_POSIX_KEY_H
#define _RTEMS_POSIX_KEY_H
-#include <rtems/score/object.h>
+#include <rtems/score/objectimpl.h>
/**
* @defgroup POSIX_KEY POSIX Key
diff --git a/cpukit/posix/include/rtems/posix/posixapi.h b/cpukit/posix/include/rtems/posix/posixapi.h
index 6ae5dfabfd..bf1c1b7eb8 100644
--- a/cpukit/posix/include/rtems/posix/posixapi.h
+++ b/cpukit/posix/include/rtems/posix/posixapi.h
@@ -20,7 +20,7 @@
#define _RTEMS_POSIX_POSIXAPI_H
#include <rtems/config.h>
-#include <rtems/score/object.h>
+#include <rtems/score/objectimpl.h>
/**
* @defgroup POSIXAPI RTEMS POSIX API
diff --git a/cpukit/posix/include/rtems/posix/pthreadimpl.h b/cpukit/posix/include/rtems/posix/pthreadimpl.h
index 1231f01634..a65f849c7a 100644
--- a/cpukit/posix/include/rtems/posix/pthreadimpl.h
+++ b/cpukit/posix/include/rtems/posix/pthreadimpl.h
@@ -22,6 +22,7 @@
#include <rtems/posix/pthread.h>
#include <rtems/posix/config.h>
#include <rtems/posix/threadsup.h>
+#include <rtems/score/objectimpl.h>
#include <rtems/score/thread.h>
#ifdef __cplusplus
diff --git a/cpukit/posix/include/rtems/posix/rwlockimpl.h b/cpukit/posix/include/rtems/posix/rwlockimpl.h
index 95e406b760..68cffe1f45 100644
--- a/cpukit/posix/include/rtems/posix/rwlockimpl.h
+++ b/cpukit/posix/include/rtems/posix/rwlockimpl.h
@@ -21,6 +21,7 @@
#include <rtems/posix/rwlock.h>
#include <rtems/score/corerwlockimpl.h>
+#include <rtems/score/objectimpl.h>
#include <pthread.h>
diff --git a/cpukit/posix/include/rtems/posix/spinlockimpl.h b/cpukit/posix/include/rtems/posix/spinlockimpl.h
index 2711316498..339e66bd65 100644
--- a/cpukit/posix/include/rtems/posix/spinlockimpl.h
+++ b/cpukit/posix/include/rtems/posix/spinlockimpl.h
@@ -21,6 +21,7 @@
#include <rtems/posix/spinlock.h>
#include <rtems/score/corespinlockimpl.h>
+#include <rtems/score/objectimpl.h>
#include <pthread.h>
diff --git a/cpukit/posix/include/rtems/posix/threadsup.h b/cpukit/posix/include/rtems/posix/threadsup.h
index f1a87c9aed..414b46fd83 100644
--- a/cpukit/posix/include/rtems/posix/threadsup.h
+++ b/cpukit/posix/include/rtems/posix/threadsup.h
@@ -19,6 +19,7 @@
#define _RTEMS_POSIX_THREADSUP_H
#include <rtems/score/coresem.h>
+#include <rtems/score/thread.h>
#include <rtems/score/threadq.h>
#include <rtems/score/watchdog.h>
diff --git a/cpukit/posix/include/rtems/posix/timerimpl.h b/cpukit/posix/include/rtems/posix/timerimpl.h
index 73f953b45e..ca108201a6 100644
--- a/cpukit/posix/include/rtems/posix/timerimpl.h
+++ b/cpukit/posix/include/rtems/posix/timerimpl.h
@@ -20,6 +20,7 @@
#define _RTEMS_POSIX_TIMERIMPL_H
#include <rtems/posix/timer.h>
+#include <rtems/score/objectimpl.h>
#ifdef __cplusplus
extern "C" {
diff --git a/cpukit/posix/src/barrierattrdestroy.c b/cpukit/posix/src/barrierattrdestroy.c
index 6fe52f4de2..25c23250c2 100644
--- a/cpukit/posix/src/barrierattrdestroy.c
+++ b/cpukit/posix/src/barrierattrdestroy.c
@@ -22,7 +22,6 @@
#include <errno.h>
#include <rtems/system.h>
-#include <rtems/score/object.h>
#include <rtems/score/watchdog.h>
#include <rtems/posix/condimpl.h>
#include <rtems/posix/time.h>
diff --git a/cpukit/posix/src/cond.c b/cpukit/posix/src/cond.c
index c7b91fba88..8b819d7d91 100644
--- a/cpukit/posix/src/cond.c
+++ b/cpukit/posix/src/cond.c
@@ -24,7 +24,6 @@
#include <rtems/system.h>
#include <rtems/config.h>
-#include <rtems/score/object.h>
#include <rtems/score/watchdog.h>
#include <rtems/posix/condimpl.h>
#include <rtems/posix/time.h>
diff --git a/cpukit/posix/src/condattrdestroy.c b/cpukit/posix/src/condattrdestroy.c
index a8f1c63bc7..b46b745dbd 100644
--- a/cpukit/posix/src/condattrdestroy.c
+++ b/cpukit/posix/src/condattrdestroy.c
@@ -22,7 +22,6 @@
#include <errno.h>
#include <rtems/system.h>
-#include <rtems/score/object.h>
#include <rtems/score/watchdog.h>
#include <rtems/posix/condimpl.h>
#include <rtems/posix/time.h>
diff --git a/cpukit/posix/src/condattrgetpshared.c b/cpukit/posix/src/condattrgetpshared.c
index 42e0121c2f..4c0dd348c9 100644
--- a/cpukit/posix/src/condattrgetpshared.c
+++ b/cpukit/posix/src/condattrgetpshared.c
@@ -22,7 +22,6 @@
#include <errno.h>
#include <rtems/system.h>
-#include <rtems/score/object.h>
#include <rtems/score/watchdog.h>
#include <rtems/posix/condimpl.h>
#include <rtems/posix/time.h>
diff --git a/cpukit/posix/src/condattrinit.c b/cpukit/posix/src/condattrinit.c
index 4007e3ac2a..6708bd0887 100644
--- a/cpukit/posix/src/condattrinit.c
+++ b/cpukit/posix/src/condattrinit.c
@@ -22,7 +22,6 @@
#include <errno.h>
#include <rtems/system.h>
-#include <rtems/score/object.h>
#include <rtems/score/watchdog.h>
#include <rtems/posix/condimpl.h>
#include <rtems/posix/time.h>
diff --git a/cpukit/posix/src/condattrsetpshared.c b/cpukit/posix/src/condattrsetpshared.c
index d3b3564d90..186f5bd760 100644
--- a/cpukit/posix/src/condattrsetpshared.c
+++ b/cpukit/posix/src/condattrsetpshared.c
@@ -22,7 +22,6 @@
#include <errno.h>
#include <rtems/system.h>
-#include <rtems/score/object.h>
#include <rtems/score/watchdog.h>
#include <rtems/posix/condimpl.h>
#include <rtems/posix/time.h>
diff --git a/cpukit/posix/src/condbroadcast.c b/cpukit/posix/src/condbroadcast.c
index 14e78e700a..9d163771c4 100644
--- a/cpukit/posix/src/condbroadcast.c
+++ b/cpukit/posix/src/condbroadcast.c
@@ -22,7 +22,6 @@
#include <errno.h>
#include <rtems/system.h>
-#include <rtems/score/object.h>
#include <rtems/score/watchdog.h>
#include <rtems/posix/condimpl.h>
#include <rtems/posix/time.h>
diff --git a/cpukit/posix/src/conddefaultattributes.c b/cpukit/posix/src/conddefaultattributes.c
index aec90f2e05..7221d1a1bc 100644
--- a/cpukit/posix/src/conddefaultattributes.c
+++ b/cpukit/posix/src/conddefaultattributes.c
@@ -22,7 +22,6 @@
#include <errno.h>
#include <rtems/system.h>
-#include <rtems/score/object.h>
#include <rtems/score/watchdog.h>
#include <rtems/posix/condimpl.h>
#include <rtems/posix/time.h>
diff --git a/cpukit/posix/src/conddestroy.c b/cpukit/posix/src/conddestroy.c
index 91388fae4c..7c815e0423 100644
--- a/cpukit/posix/src/conddestroy.c
+++ b/cpukit/posix/src/conddestroy.c
@@ -22,7 +22,6 @@
#include <errno.h>
#include <rtems/system.h>
-#include <rtems/score/object.h>
#include <rtems/score/watchdog.h>
#include <rtems/posix/condimpl.h>
#include <rtems/posix/time.h>
diff --git a/cpukit/posix/src/condget.c b/cpukit/posix/src/condget.c
index 4f3bc14a3f..5806708274 100644
--- a/cpukit/posix/src/condget.c
+++ b/cpukit/posix/src/condget.c
@@ -15,7 +15,6 @@
#include <errno.h>
#include <rtems/system.h>
-#include <rtems/score/object.h>
#include <rtems/score/watchdog.h>
#include <rtems/posix/condimpl.h>
#include <rtems/posix/time.h>
diff --git a/cpukit/posix/src/condinit.c b/cpukit/posix/src/condinit.c
index 2c6bd8d609..26a812ddf5 100644
--- a/cpukit/posix/src/condinit.c
+++ b/cpukit/posix/src/condinit.c
@@ -22,7 +22,6 @@
#include <errno.h>
#include <rtems/system.h>
-#include <rtems/score/object.h>
#include <rtems/score/watchdog.h>
#include <rtems/posix/condimpl.h>
#include <rtems/posix/time.h>
diff --git a/cpukit/posix/src/condsignal.c b/cpukit/posix/src/condsignal.c
index 2f2c9b7ae1..fede6bc139 100644
--- a/cpukit/posix/src/condsignal.c
+++ b/cpukit/posix/src/condsignal.c
@@ -22,7 +22,6 @@
#include <errno.h>
#include <rtems/system.h>
-#include <rtems/score/object.h>
#include <rtems/score/watchdog.h>
#include <rtems/posix/condimpl.h>
#include <rtems/posix/time.h>
diff --git a/cpukit/posix/src/condsignalsupp.c b/cpukit/posix/src/condsignalsupp.c
index 0261b048bd..229f96cacb 100644
--- a/cpukit/posix/src/condsignalsupp.c
+++ b/cpukit/posix/src/condsignalsupp.c
@@ -22,7 +22,6 @@
#include <errno.h>
#include <rtems/system.h>
-#include <rtems/score/object.h>
#include <rtems/score/watchdog.h>
#include <rtems/posix/condimpl.h>
#include <rtems/posix/time.h>
diff --git a/cpukit/posix/src/condtimedwait.c b/cpukit/posix/src/condtimedwait.c
index 4328615604..2fe1aec218 100644
--- a/cpukit/posix/src/condtimedwait.c
+++ b/cpukit/posix/src/condtimedwait.c
@@ -22,7 +22,6 @@
#include <errno.h>
#include <rtems/system.h>
-#include <rtems/score/object.h>
#include <rtems/score/watchdog.h>
#include <rtems/posix/condimpl.h>
#include <rtems/posix/time.h>
diff --git a/cpukit/posix/src/condwait.c b/cpukit/posix/src/condwait.c
index cbd6d957b5..a6e933939b 100644
--- a/cpukit/posix/src/condwait.c
+++ b/cpukit/posix/src/condwait.c
@@ -22,7 +22,6 @@
#include <errno.h>
#include <rtems/system.h>
-#include <rtems/score/object.h>
#include <rtems/score/watchdog.h>
#include <rtems/posix/condimpl.h>
#include <rtems/posix/time.h>
diff --git a/cpukit/posix/src/condwaitsupp.c b/cpukit/posix/src/condwaitsupp.c
index cbc21c3137..86ad3aa6b6 100644
--- a/cpukit/posix/src/condwaitsupp.c
+++ b/cpukit/posix/src/condwaitsupp.c
@@ -22,7 +22,6 @@
#include <errno.h>
#include <rtems/system.h>
-#include <rtems/score/object.h>
#include <rtems/score/watchdog.h>
#include <rtems/posix/condimpl.h>
#include <rtems/posix/time.h>
diff --git a/cpukit/posix/src/keyrundestructors.c b/cpukit/posix/src/keyrundestructors.c
index 9f48888bb8..eb692e0dc9 100644
--- a/cpukit/posix/src/keyrundestructors.c
+++ b/cpukit/posix/src/keyrundestructors.c
@@ -21,7 +21,6 @@
#endif
#include <rtems/system.h>
-#include <rtems/score/object.h>
#include <rtems/score/thread.h>
#include <rtems/posix/key.h>
diff --git a/cpukit/posix/src/posixtimespecabsolutetimeout.c b/cpukit/posix/src/posixtimespecabsolutetimeout.c
index 913de6c9c0..c46f13bf89 100644
--- a/cpukit/posix/src/posixtimespecabsolutetimeout.c
+++ b/cpukit/posix/src/posixtimespecabsolutetimeout.c
@@ -27,7 +27,6 @@
#include <limits.h>
#include <rtems/system.h>
-#include <rtems/score/object.h>
#include <rtems/posix/semaphoreimpl.h>
#include <rtems/posix/time.h>
#include <rtems/seterr.h>
diff --git a/cpukit/posix/src/rwlockattrdestroy.c b/cpukit/posix/src/rwlockattrdestroy.c
index 5b18f0e673..a2f482567c 100644
--- a/cpukit/posix/src/rwlockattrdestroy.c
+++ b/cpukit/posix/src/rwlockattrdestroy.c
@@ -22,7 +22,6 @@
#include <errno.h>
#include <rtems/system.h>
-#include <rtems/score/object.h>
#include <rtems/score/watchdog.h>
#include <rtems/posix/condimpl.h>
#include <rtems/posix/time.h>
diff --git a/cpukit/posix/src/semaphore.c b/cpukit/posix/src/semaphore.c
index 21d67c5646..0d139c2f46 100644
--- a/cpukit/posix/src/semaphore.c
+++ b/cpukit/posix/src/semaphore.c
@@ -28,7 +28,6 @@
#include <rtems/system.h>
#include <rtems/config.h>
-#include <rtems/score/object.h>
#include <rtems/posix/semaphoreimpl.h>
#include <rtems/posix/time.h>
#include <rtems/seterr.h>
diff --git a/cpukit/posix/src/semaphorecreatesupp.c b/cpukit/posix/src/semaphorecreatesupp.c
index fecbdb5f48..92969409e6 100644
--- a/cpukit/posix/src/semaphorecreatesupp.c
+++ b/cpukit/posix/src/semaphorecreatesupp.c
@@ -28,7 +28,6 @@
#include <string.h> /* strlen */
#include <rtems/system.h>
-#include <rtems/score/object.h>
#include <rtems/score/wkspace.h>
#include <rtems/posix/semaphoreimpl.h>
#include <rtems/posix/time.h>
diff --git a/cpukit/posix/src/semaphoredeletesupp.c b/cpukit/posix/src/semaphoredeletesupp.c
index 6e46f53511..f49ef38415 100644
--- a/cpukit/posix/src/semaphoredeletesupp.c
+++ b/cpukit/posix/src/semaphoredeletesupp.c
@@ -27,7 +27,6 @@
#include <limits.h>
#include <rtems/system.h>
-#include <rtems/score/object.h>
#include <rtems/posix/semaphoreimpl.h>
#include <rtems/posix/time.h>
#include <rtems/seterr.h>
diff --git a/cpukit/posix/src/semaphorewaitsupp.c b/cpukit/posix/src/semaphorewaitsupp.c
index a590537d10..93816dbbff 100644
--- a/cpukit/posix/src/semaphorewaitsupp.c
+++ b/cpukit/posix/src/semaphorewaitsupp.c
@@ -27,7 +27,6 @@
#include <limits.h>
#include <rtems/system.h>
-#include <rtems/score/object.h>
#include <rtems/posix/semaphoreimpl.h>
#include <rtems/posix/time.h>
#include <rtems/seterr.h>
diff --git a/cpukit/posix/src/semclose.c b/cpukit/posix/src/semclose.c
index 81cb3161d5..2b7eb4a487 100644
--- a/cpukit/posix/src/semclose.c
+++ b/cpukit/posix/src/semclose.c
@@ -27,7 +27,6 @@
#include <limits.h>
#include <rtems/system.h>
-#include <rtems/score/object.h>
#include <rtems/posix/semaphoreimpl.h>
#include <rtems/posix/time.h>
#include <rtems/seterr.h>
diff --git a/cpukit/posix/src/semdestroy.c b/cpukit/posix/src/semdestroy.c
index 0e547df205..f4bb1a8469 100644
--- a/cpukit/posix/src/semdestroy.c
+++ b/cpukit/posix/src/semdestroy.c
@@ -27,7 +27,6 @@
#include <limits.h>
#include <rtems/system.h>
-#include <rtems/score/object.h>
#include <rtems/posix/semaphoreimpl.h>
#include <rtems/posix/time.h>
#include <rtems/seterr.h>
diff --git a/cpukit/posix/src/semgetvalue.c b/cpukit/posix/src/semgetvalue.c
index b0ffec3117..65b85e1941 100644
--- a/cpukit/posix/src/semgetvalue.c
+++ b/cpukit/posix/src/semgetvalue.c
@@ -27,7 +27,6 @@
#include <limits.h>
#include <rtems/system.h>
-#include <rtems/score/object.h>
#include <rtems/posix/semaphoreimpl.h>
#include <rtems/posix/time.h>
#include <rtems/seterr.h>
diff --git a/cpukit/posix/src/seminit.c b/cpukit/posix/src/seminit.c
index 39a75b5e2b..c40ee5485e 100644
--- a/cpukit/posix/src/seminit.c
+++ b/cpukit/posix/src/seminit.c
@@ -27,7 +27,6 @@
#include <limits.h>
#include <rtems/system.h>
-#include <rtems/score/object.h>
#include <rtems/posix/semaphoreimpl.h>
#include <rtems/posix/time.h>
#include <rtems/seterr.h>
diff --git a/cpukit/posix/src/semopen.c b/cpukit/posix/src/semopen.c
index c74925b4c9..b86308030b 100644
--- a/cpukit/posix/src/semopen.c
+++ b/cpukit/posix/src/semopen.c
@@ -27,7 +27,6 @@
#include <limits.h>
#include <rtems/system.h>
-#include <rtems/score/object.h>
#include <rtems/posix/semaphoreimpl.h>
#include <rtems/posix/time.h>
#include <rtems/seterr.h>
diff --git a/cpukit/posix/src/sempost.c b/cpukit/posix/src/sempost.c
index 6b9f87648f..3a23f22129 100644
--- a/cpukit/posix/src/sempost.c
+++ b/cpukit/posix/src/sempost.c
@@ -27,7 +27,6 @@
#include <limits.h>
#include <rtems/system.h>
-#include <rtems/score/object.h>
#include <rtems/posix/semaphoreimpl.h>
#include <rtems/posix/time.h>
#include <rtems/seterr.h>
diff --git a/cpukit/posix/src/semtimedwait.c b/cpukit/posix/src/semtimedwait.c
index f9e57ecc01..e75198c37d 100644
--- a/cpukit/posix/src/semtimedwait.c
+++ b/cpukit/posix/src/semtimedwait.c
@@ -27,7 +27,6 @@
#include <limits.h>
#include <rtems/system.h>
-#include <rtems/score/object.h>
#include <rtems/posix/semaphoreimpl.h>
#include <rtems/posix/time.h>
#include <rtems/seterr.h>
diff --git a/cpukit/posix/src/semtrywait.c b/cpukit/posix/src/semtrywait.c
index 2aa6d284bd..9ef802cbab 100644
--- a/cpukit/posix/src/semtrywait.c
+++ b/cpukit/posix/src/semtrywait.c
@@ -27,7 +27,6 @@
#include <limits.h>
#include <rtems/system.h>
-#include <rtems/score/object.h>
#include <rtems/posix/semaphoreimpl.h>
#include <rtems/posix/time.h>
#include <rtems/seterr.h>
diff --git a/cpukit/posix/src/semunlink.c b/cpukit/posix/src/semunlink.c
index cee2a6427e..8f268d9a3d 100644
--- a/cpukit/posix/src/semunlink.c
+++ b/cpukit/posix/src/semunlink.c
@@ -27,7 +27,6 @@
#include <limits.h>
#include <rtems/system.h>
-#include <rtems/score/object.h>
#include <rtems/posix/semaphoreimpl.h>
#include <rtems/posix/time.h>
#include <rtems/seterr.h>
diff --git a/cpukit/posix/src/semwait.c b/cpukit/posix/src/semwait.c
index fbc59e44a8..1918bb1e9d 100644
--- a/cpukit/posix/src/semwait.c
+++ b/cpukit/posix/src/semwait.c
@@ -27,7 +27,6 @@
#include <limits.h>
#include <rtems/system.h>
-#include <rtems/score/object.h>
#include <rtems/posix/semaphoreimpl.h>
#include <rtems/posix/time.h>
#include <rtems/seterr.h>
diff --git a/cpukit/rtems/include/rtems/rtems/barrierimpl.h b/cpukit/rtems/include/rtems/rtems/barrierimpl.h
index 59f9ea22e3..763b52c8d8 100644
--- a/cpukit/rtems/include/rtems/rtems/barrierimpl.h
+++ b/cpukit/rtems/include/rtems/rtems/barrierimpl.h
@@ -24,6 +24,7 @@
#include <rtems/rtems/barrier.h>
#include <rtems/score/corebarrierimpl.h>
+#include <rtems/score/objectimpl.h>
#ifdef __cplusplus
extern "C" {
diff --git a/cpukit/rtems/include/rtems/rtems/dpmemimpl.h b/cpukit/rtems/include/rtems/rtems/dpmemimpl.h
index 1fa636dc35..ae1ff19f3e 100644
--- a/cpukit/rtems/include/rtems/rtems/dpmemimpl.h
+++ b/cpukit/rtems/include/rtems/rtems/dpmemimpl.h
@@ -18,6 +18,7 @@
#define _RTEMS_RTEMS_DPMEM_INL
#include <rtems/rtems/dpmem.h>
+#include <rtems/score/objectimpl.h>
/**
* @defgroup ClassicDPMEMImpl Dual Ported Memory Manager Implementation
diff --git a/cpukit/rtems/include/rtems/rtems/messageimpl.h b/cpukit/rtems/include/rtems/rtems/messageimpl.h
index 90cc5178e2..fbed713abf 100644
--- a/cpukit/rtems/include/rtems/rtems/messageimpl.h
+++ b/cpukit/rtems/include/rtems/rtems/messageimpl.h
@@ -17,6 +17,7 @@
#define _RTEMS_RTEMS_MESSAGEIMPL_H
#include <rtems/rtems/message.h>
+#include <rtems/score/objectimpl.h>
#ifdef __cplusplus
extern "C" {
diff --git a/cpukit/rtems/include/rtems/rtems/partimpl.h b/cpukit/rtems/include/rtems/rtems/partimpl.h
index 2de8028a8f..5a4d662621 100644
--- a/cpukit/rtems/include/rtems/rtems/partimpl.h
+++ b/cpukit/rtems/include/rtems/rtems/partimpl.h
@@ -19,6 +19,7 @@
#include <rtems/rtems/part.h>
#include <rtems/score/chainimpl.h>
+#include <rtems/score/objectimpl.h>
#ifdef __cplusplus
extern "C" {
diff --git a/cpukit/rtems/include/rtems/rtems/ratemonimpl.h b/cpukit/rtems/include/rtems/rtems/ratemonimpl.h
index 584b45ef1e..40e986433c 100644
--- a/cpukit/rtems/include/rtems/rtems/ratemonimpl.h
+++ b/cpukit/rtems/include/rtems/rtems/ratemonimpl.h
@@ -18,6 +18,7 @@
#define _RTEMS_RTEMS_RATEMONIMPL_H
#include <rtems/rtems/ratemon.h>
+#include <rtems/score/objectimpl.h>
#include <string.h>
diff --git a/cpukit/rtems/include/rtems/rtems/regionimpl.h b/cpukit/rtems/include/rtems/rtems/regionimpl.h
index 6b900f22ed..52b2a99e1c 100644
--- a/cpukit/rtems/include/rtems/rtems/regionimpl.h
+++ b/cpukit/rtems/include/rtems/rtems/regionimpl.h
@@ -19,6 +19,7 @@
#include <rtems/rtems/region.h>
#include <rtems/score/heapimpl.h>
+#include <rtems/score/objectimpl.h>
#include <rtems/debug.h>
#ifdef __cplusplus
diff --git a/cpukit/rtems/include/rtems/rtems/tasksimpl.h b/cpukit/rtems/include/rtems/rtems/tasksimpl.h
index 830a82a283..379b1bcfbb 100644
--- a/cpukit/rtems/include/rtems/rtems/tasksimpl.h
+++ b/cpukit/rtems/include/rtems/rtems/tasksimpl.h
@@ -18,6 +18,7 @@
#define _RTEMS_RTEMS_TASKSIMPL_H
#include <rtems/rtems/tasks.h>
+#include <rtems/score/objectimpl.h>
#ifdef __cplusplus
extern "C" {
diff --git a/cpukit/rtems/include/rtems/rtems/timerimpl.h b/cpukit/rtems/include/rtems/rtems/timerimpl.h
index c22658d99b..8f4cf7702b 100644
--- a/cpukit/rtems/include/rtems/rtems/timerimpl.h
+++ b/cpukit/rtems/include/rtems/rtems/timerimpl.h
@@ -19,6 +19,8 @@
#define _RTEMS_RTEMS_TIMER_INL
#include <rtems/rtems/timer.h>
+#include <rtems/score/objectimpl.h>
+#include <rtems/score/thread.h>
#ifdef __cplusplus
extern "C" {
diff --git a/cpukit/rtems/src/barrier.c b/cpukit/rtems/src/barrier.c
index 248fcad0c9..93f917fe99 100644
--- a/cpukit/rtems/src/barrier.c
+++ b/cpukit/rtems/src/barrier.c
@@ -29,7 +29,6 @@
#include <rtems/config.h>
#include <rtems/rtems/status.h>
#include <rtems/rtems/support.h>
-#include <rtems/score/object.h>
#include <rtems/rtems/barrierimpl.h>
/**
diff --git a/cpukit/rtems/src/barriercreate.c b/cpukit/rtems/src/barriercreate.c
index cba8802e9c..001d57f6d0 100644
--- a/cpukit/rtems/src/barriercreate.c
+++ b/cpukit/rtems/src/barriercreate.c
@@ -23,7 +23,6 @@
#include <rtems/rtems/support.h>
#include <rtems/rtems/attrimpl.h>
#include <rtems/score/isr.h>
-#include <rtems/score/object.h>
#include <rtems/rtems/barrierimpl.h>
/*
diff --git a/cpukit/rtems/src/barrierident.c b/cpukit/rtems/src/barrierident.c
index 96aa349a50..1789e892b2 100644
--- a/cpukit/rtems/src/barrierident.c
+++ b/cpukit/rtems/src/barrierident.c
@@ -21,7 +21,6 @@
#include <rtems/system.h>
#include <rtems/rtems/statusimpl.h>
#include <rtems/rtems/support.h>
-#include <rtems/score/object.h>
#include <rtems/rtems/options.h>
#include <rtems/rtems/barrierimpl.h>
diff --git a/cpukit/rtems/src/dpmem.c b/cpukit/rtems/src/dpmem.c
index a1003d622a..dbe56e0595 100644
--- a/cpukit/rtems/src/dpmem.c
+++ b/cpukit/rtems/src/dpmem.c
@@ -24,7 +24,6 @@
#include <rtems/rtems/support.h>
#include <rtems/score/address.h>
#include <rtems/rtems/dpmemimpl.h>
-#include <rtems/score/object.h>
#include <rtems/score/thread.h>
void _Dual_ported_memory_Manager_initialization(void)
diff --git a/cpukit/rtems/src/dpmemcreate.c b/cpukit/rtems/src/dpmemcreate.c
index f8ca546078..5d67c612f9 100644
--- a/cpukit/rtems/src/dpmemcreate.c
+++ b/cpukit/rtems/src/dpmemcreate.c
@@ -23,7 +23,6 @@
#include <rtems/rtems/support.h>
#include <rtems/score/address.h>
#include <rtems/rtems/dpmemimpl.h>
-#include <rtems/score/object.h>
#include <rtems/score/thread.h>
rtems_status_code rtems_port_create(
diff --git a/cpukit/rtems/src/dpmemdelete.c b/cpukit/rtems/src/dpmemdelete.c
index 50e81f81d6..8e1f8f8909 100644
--- a/cpukit/rtems/src/dpmemdelete.c
+++ b/cpukit/rtems/src/dpmemdelete.c
@@ -23,7 +23,6 @@
#include <rtems/rtems/support.h>
#include <rtems/score/address.h>
#include <rtems/rtems/dpmemimpl.h>
-#include <rtems/score/object.h>
#include <rtems/score/thread.h>
rtems_status_code rtems_port_delete(
diff --git a/cpukit/rtems/src/dpmemexternal2internal.c b/cpukit/rtems/src/dpmemexternal2internal.c
index 9e540aae9e..296d52d58e 100644
--- a/cpukit/rtems/src/dpmemexternal2internal.c
+++ b/cpukit/rtems/src/dpmemexternal2internal.c
@@ -23,7 +23,6 @@
#include <rtems/rtems/support.h>
#include <rtems/score/address.h>
#include <rtems/rtems/dpmemimpl.h>
-#include <rtems/score/object.h>
#include <rtems/score/thread.h>
rtems_status_code rtems_port_external_to_internal(
diff --git a/cpukit/rtems/src/dpmemident.c b/cpukit/rtems/src/dpmemident.c
index 73d3b5a3a9..a6a0b64540 100644
--- a/cpukit/rtems/src/dpmemident.c
+++ b/cpukit/rtems/src/dpmemident.c
@@ -23,7 +23,6 @@
#include <rtems/rtems/support.h>
#include <rtems/score/address.h>
#include <rtems/rtems/dpmemimpl.h>
-#include <rtems/score/object.h>
#include <rtems/score/thread.h>
rtems_status_code rtems_port_ident(
diff --git a/cpukit/rtems/src/dpmeminternal2external.c b/cpukit/rtems/src/dpmeminternal2external.c
index bf93f417b2..355e049c40 100644
--- a/cpukit/rtems/src/dpmeminternal2external.c
+++ b/cpukit/rtems/src/dpmeminternal2external.c
@@ -23,7 +23,6 @@
#include <rtems/rtems/support.h>
#include <rtems/score/address.h>
#include <rtems/rtems/dpmemimpl.h>
-#include <rtems/score/object.h>
#include <rtems/score/thread.h>
rtems_status_code rtems_port_internal_to_external(
diff --git a/cpukit/rtems/src/eventmp.c b/cpukit/rtems/src/eventmp.c
index ae29c3afff..b9bfa47307 100644
--- a/cpukit/rtems/src/eventmp.c
+++ b/cpukit/rtems/src/eventmp.c
@@ -19,6 +19,7 @@
#endif
#include <rtems/rtems/eventimpl.h>
+#include <rtems/score/objectimpl.h>
#include <rtems/score/statesimpl.h>
RTEMS_STATIC_ASSERT(
diff --git a/cpukit/rtems/src/msg.c b/cpukit/rtems/src/msg.c
index bf6c5d6e6b..81141b876e 100644
--- a/cpukit/rtems/src/msg.c
+++ b/cpukit/rtems/src/msg.c
@@ -23,7 +23,6 @@
#include <rtems/score/chain.h>
#include <rtems/score/isr.h>
#include <rtems/score/coremsgimpl.h>
-#include <rtems/score/object.h>
#include <rtems/score/thread.h>
#include <rtems/score/wkspace.h>
#include <rtems/rtems/status.h>
diff --git a/cpukit/rtems/src/msgqallocate.c b/cpukit/rtems/src/msgqallocate.c
index 8058b3076f..6ae889baf3 100644
--- a/cpukit/rtems/src/msgqallocate.c
+++ b/cpukit/rtems/src/msgqallocate.c
@@ -22,7 +22,6 @@
#include <rtems/score/chain.h>
#include <rtems/score/isr.h>
#include <rtems/score/coremsgimpl.h>
-#include <rtems/score/object.h>
#include <rtems/score/thread.h>
#include <rtems/score/wkspace.h>
#include <rtems/rtems/status.h>
diff --git a/cpukit/rtems/src/msgqbroadcast.c b/cpukit/rtems/src/msgqbroadcast.c
index ec06b20240..43710f87b3 100644
--- a/cpukit/rtems/src/msgqbroadcast.c
+++ b/cpukit/rtems/src/msgqbroadcast.c
@@ -22,7 +22,6 @@
#include <rtems/score/chain.h>
#include <rtems/score/isr.h>
#include <rtems/score/coremsgimpl.h>
-#include <rtems/score/object.h>
#include <rtems/score/thread.h>
#include <rtems/score/wkspace.h>
#include <rtems/rtems/status.h>
diff --git a/cpukit/rtems/src/msgqcreate.c b/cpukit/rtems/src/msgqcreate.c
index 2df0e21827..512a2c50d4 100644
--- a/cpukit/rtems/src/msgqcreate.c
+++ b/cpukit/rtems/src/msgqcreate.c
@@ -23,7 +23,6 @@
#include <rtems/score/chain.h>
#include <rtems/score/isr.h>
#include <rtems/score/coremsgimpl.h>
-#include <rtems/score/object.h>
#include <rtems/score/thread.h>
#include <rtems/score/wkspace.h>
#include <rtems/rtems/status.h>
diff --git a/cpukit/rtems/src/msgqdelete.c b/cpukit/rtems/src/msgqdelete.c
index cbb8560627..2ad39fc5ba 100644
--- a/cpukit/rtems/src/msgqdelete.c
+++ b/cpukit/rtems/src/msgqdelete.c
@@ -22,7 +22,6 @@
#include <rtems/score/chain.h>
#include <rtems/score/isr.h>
#include <rtems/score/coremsgimpl.h>
-#include <rtems/score/object.h>
#include <rtems/score/thread.h>
#include <rtems/score/wkspace.h>
#include <rtems/rtems/status.h>
diff --git a/cpukit/rtems/src/msgqflush.c b/cpukit/rtems/src/msgqflush.c
index f6deb2b7c6..36794108c9 100644
--- a/cpukit/rtems/src/msgqflush.c
+++ b/cpukit/rtems/src/msgqflush.c
@@ -22,7 +22,6 @@
#include <rtems/score/chain.h>
#include <rtems/score/isr.h>
#include <rtems/score/coremsgimpl.h>
-#include <rtems/score/object.h>
#include <rtems/score/thread.h>
#include <rtems/score/wkspace.h>
#include <rtems/rtems/status.h>
diff --git a/cpukit/rtems/src/msgqgetnumberpending.c b/cpukit/rtems/src/msgqgetnumberpending.c
index 6b7709e283..c18e945b33 100644
--- a/cpukit/rtems/src/msgqgetnumberpending.c
+++ b/cpukit/rtems/src/msgqgetnumberpending.c
@@ -22,7 +22,6 @@
#include <rtems/score/chain.h>
#include <rtems/score/isr.h>
#include <rtems/score/coremsgimpl.h>
-#include <rtems/score/object.h>
#include <rtems/score/thread.h>
#include <rtems/score/wkspace.h>
#include <rtems/rtems/status.h>
diff --git a/cpukit/rtems/src/msgqident.c b/cpukit/rtems/src/msgqident.c
index e0b3d785e4..dd1621bcf7 100644
--- a/cpukit/rtems/src/msgqident.c
+++ b/cpukit/rtems/src/msgqident.c
@@ -22,7 +22,6 @@
#include <rtems/score/chain.h>
#include <rtems/score/isr.h>
#include <rtems/score/coremsgimpl.h>
-#include <rtems/score/object.h>
#include <rtems/score/thread.h>
#include <rtems/score/wkspace.h>
#include <rtems/rtems/statusimpl.h>
diff --git a/cpukit/rtems/src/msgqreceive.c b/cpukit/rtems/src/msgqreceive.c
index b2f11343d3..33206d47da 100644
--- a/cpukit/rtems/src/msgqreceive.c
+++ b/cpukit/rtems/src/msgqreceive.c
@@ -22,7 +22,6 @@
#include <rtems/score/chain.h>
#include <rtems/score/isr.h>
#include <rtems/score/coremsgimpl.h>
-#include <rtems/score/object.h>
#include <rtems/score/thread.h>
#include <rtems/score/wkspace.h>
#include <rtems/rtems/status.h>
diff --git a/cpukit/rtems/src/msgqsend.c b/cpukit/rtems/src/msgqsend.c
index 36f1021a0f..2d648e40a0 100644
--- a/cpukit/rtems/src/msgqsend.c
+++ b/cpukit/rtems/src/msgqsend.c
@@ -22,7 +22,6 @@
#include <rtems/score/chain.h>
#include <rtems/score/isr.h>
#include <rtems/score/coremsgimpl.h>
-#include <rtems/score/object.h>
#include <rtems/score/thread.h>
#include <rtems/score/wkspace.h>
#include <rtems/rtems/status.h>
diff --git a/cpukit/rtems/src/msgqtranslatereturncode.c b/cpukit/rtems/src/msgqtranslatereturncode.c
index 8819756059..97b8013afd 100644
--- a/cpukit/rtems/src/msgqtranslatereturncode.c
+++ b/cpukit/rtems/src/msgqtranslatereturncode.c
@@ -22,7 +22,6 @@
#include <rtems/score/chain.h>
#include <rtems/score/isr.h>
#include <rtems/score/coremsgimpl.h>
-#include <rtems/score/object.h>
#include <rtems/score/threadimpl.h>
#include <rtems/score/wkspace.h>
#include <rtems/rtems/status.h>
diff --git a/cpukit/rtems/src/msgqurgent.c b/cpukit/rtems/src/msgqurgent.c
index 40328557b0..966148255d 100644
--- a/cpukit/rtems/src/msgqurgent.c
+++ b/cpukit/rtems/src/msgqurgent.c
@@ -22,7 +22,6 @@
#include <rtems/score/chain.h>
#include <rtems/score/isr.h>
#include <rtems/score/coremsgimpl.h>
-#include <rtems/score/object.h>
#include <rtems/score/thread.h>
#include <rtems/score/wkspace.h>
#include <rtems/rtems/status.h>
diff --git a/cpukit/rtems/src/part.c b/cpukit/rtems/src/part.c
index ba6b4a5652..7731598864 100644
--- a/cpukit/rtems/src/part.c
+++ b/cpukit/rtems/src/part.c
@@ -23,7 +23,6 @@
#include <rtems/rtems/status.h>
#include <rtems/rtems/support.h>
#include <rtems/score/address.h>
-#include <rtems/score/object.h>
#include <rtems/rtems/partimpl.h>
#include <rtems/score/thread.h>
diff --git a/cpukit/rtems/src/partgetbuffer.c b/cpukit/rtems/src/partgetbuffer.c
index a325ea94d9..9aa072a858 100644
--- a/cpukit/rtems/src/partgetbuffer.c
+++ b/cpukit/rtems/src/partgetbuffer.c
@@ -22,7 +22,6 @@
#include <rtems/rtems/status.h>
#include <rtems/rtems/support.h>
#include <rtems/score/address.h>
-#include <rtems/score/object.h>
#include <rtems/rtems/partimpl.h>
#include <rtems/score/thread.h>
diff --git a/cpukit/rtems/src/partident.c b/cpukit/rtems/src/partident.c
index 237b23027d..9b3a2e8fa6 100644
--- a/cpukit/rtems/src/partident.c
+++ b/cpukit/rtems/src/partident.c
@@ -22,7 +22,6 @@
#include <rtems/rtems/statusimpl.h>
#include <rtems/rtems/support.h>
#include <rtems/score/address.h>
-#include <rtems/score/object.h>
#include <rtems/rtems/partimpl.h>
#include <rtems/score/thread.h>
diff --git a/cpukit/rtems/src/partreturnbuffer.c b/cpukit/rtems/src/partreturnbuffer.c
index bb6d940f39..2acd9ad62d 100644
--- a/cpukit/rtems/src/partreturnbuffer.c
+++ b/cpukit/rtems/src/partreturnbuffer.c
@@ -18,7 +18,6 @@
#include <rtems/rtems/status.h>
#include <rtems/rtems/support.h>
#include <rtems/score/address.h>
-#include <rtems/score/object.h>
#include <rtems/rtems/partimpl.h>
#include <rtems/score/thread.h>
diff --git a/cpukit/rtems/src/ratemon.c b/cpukit/rtems/src/ratemon.c
index 59d1f0b853..b9679ef618 100644
--- a/cpukit/rtems/src/ratemon.c
+++ b/cpukit/rtems/src/ratemon.c
@@ -23,7 +23,6 @@
#include <rtems/rtems/status.h>
#include <rtems/rtems/support.h>
#include <rtems/score/isr.h>
-#include <rtems/score/object.h>
#include <rtems/rtems/ratemonimpl.h>
#include <rtems/score/thread.h>
diff --git a/cpukit/rtems/src/ratemoncreate.c b/cpukit/rtems/src/ratemoncreate.c
index b21ca4a158..d161cfa4da 100644
--- a/cpukit/rtems/src/ratemoncreate.c
+++ b/cpukit/rtems/src/ratemoncreate.c
@@ -22,7 +22,6 @@
#include <rtems/rtems/status.h>
#include <rtems/rtems/support.h>
#include <rtems/score/isr.h>
-#include <rtems/score/object.h>
#include <rtems/rtems/ratemonimpl.h>
#include <rtems/score/thread.h>
#include <rtems/score/watchdogimpl.h>
diff --git a/cpukit/rtems/src/ratemongetstatistics.c b/cpukit/rtems/src/ratemongetstatistics.c
index 0cb594a6a2..94e3c113e8 100644
--- a/cpukit/rtems/src/ratemongetstatistics.c
+++ b/cpukit/rtems/src/ratemongetstatistics.c
@@ -22,7 +22,6 @@
#include <rtems/rtems/status.h>
#include <rtems/rtems/support.h>
#include <rtems/score/isr.h>
-#include <rtems/score/object.h>
#include <rtems/rtems/ratemonimpl.h>
#include <rtems/score/thread.h>
diff --git a/cpukit/rtems/src/ratemongetstatus.c b/cpukit/rtems/src/ratemongetstatus.c
index 673bc08a0e..77d005f3a8 100644
--- a/cpukit/rtems/src/ratemongetstatus.c
+++ b/cpukit/rtems/src/ratemongetstatus.c
@@ -22,7 +22,6 @@
#include <rtems/rtems/status.h>
#include <rtems/rtems/support.h>
#include <rtems/score/isr.h>
-#include <rtems/score/object.h>
#include <rtems/rtems/ratemonimpl.h>
#include <rtems/score/thread.h>
diff --git a/cpukit/rtems/src/ratemonident.c b/cpukit/rtems/src/ratemonident.c
index 2786c4cc60..812a541411 100644
--- a/cpukit/rtems/src/ratemonident.c
+++ b/cpukit/rtems/src/ratemonident.c
@@ -22,7 +22,6 @@
#include <rtems/rtems/statusimpl.h>
#include <rtems/rtems/support.h>
#include <rtems/score/isr.h>
-#include <rtems/score/object.h>
#include <rtems/rtems/ratemonimpl.h>
#include <rtems/score/thread.h>
diff --git a/cpukit/rtems/src/ratemonresetall.c b/cpukit/rtems/src/ratemonresetall.c
index 923f4f182b..24727b9c8b 100644
--- a/cpukit/rtems/src/ratemonresetall.c
+++ b/cpukit/rtems/src/ratemonresetall.c
@@ -21,7 +21,6 @@
#include <rtems/system.h>
#include <rtems/rtems/status.h>
#include <rtems/rtems/support.h>
-#include <rtems/score/object.h>
#include <rtems/rtems/ratemonimpl.h>
#include <rtems/score/thread.h>
diff --git a/cpukit/rtems/src/ratemonresetstatistics.c b/cpukit/rtems/src/ratemonresetstatistics.c
index 744e266621..34a327b126 100644
--- a/cpukit/rtems/src/ratemonresetstatistics.c
+++ b/cpukit/rtems/src/ratemonresetstatistics.c
@@ -22,7 +22,6 @@
#include <rtems/rtems/status.h>
#include <rtems/rtems/support.h>
#include <rtems/score/isr.h>
-#include <rtems/score/object.h>
#include <rtems/rtems/ratemonimpl.h>
#include <rtems/score/thread.h>
diff --git a/cpukit/rtems/src/region.c b/cpukit/rtems/src/region.c
index 1b151bd230..99cc767d33 100644
--- a/cpukit/rtems/src/region.c
+++ b/cpukit/rtems/src/region.c
@@ -22,7 +22,6 @@
#include <rtems/config.h>
#include <rtems/rtems/status.h>
#include <rtems/rtems/support.h>
-#include <rtems/score/object.h>
#include <rtems/rtems/options.h>
#include <rtems/rtems/regionimpl.h>
#include <rtems/score/thread.h>
diff --git a/cpukit/rtems/src/regiondelete.c b/cpukit/rtems/src/regiondelete.c
index e65600ede2..f00797288a 100644
--- a/cpukit/rtems/src/regiondelete.c
+++ b/cpukit/rtems/src/regiondelete.c
@@ -21,7 +21,6 @@
#include <rtems/system.h>
#include <rtems/rtems/status.h>
#include <rtems/rtems/support.h>
-#include <rtems/score/object.h>
#include <rtems/rtems/options.h>
#include <rtems/rtems/regionimpl.h>
#include <rtems/score/thread.h>
diff --git a/cpukit/rtems/src/regionextend.c b/cpukit/rtems/src/regionextend.c
index c857eb67c3..9d19d10b60 100644
--- a/cpukit/rtems/src/regionextend.c
+++ b/cpukit/rtems/src/regionextend.c
@@ -21,7 +21,6 @@
#include <rtems/system.h>
#include <rtems/rtems/status.h>
#include <rtems/rtems/support.h>
-#include <rtems/score/object.h>
#include <rtems/rtems/options.h>
#include <rtems/rtems/regionimpl.h>
#include <rtems/score/thread.h>
diff --git a/cpukit/rtems/src/regiongetfreeinfo.c b/cpukit/rtems/src/regiongetfreeinfo.c
index 1052b38808..4e8fe28ecc 100644
--- a/cpukit/rtems/src/regiongetfreeinfo.c
+++ b/cpukit/rtems/src/regiongetfreeinfo.c
@@ -21,7 +21,6 @@
#include <rtems/system.h>
#include <rtems/rtems/status.h>
#include <rtems/rtems/support.h>
-#include <rtems/score/object.h>
#include <rtems/rtems/options.h>
#include <rtems/rtems/regionimpl.h>
#include <rtems/score/apimutex.h>
diff --git a/cpukit/rtems/src/regiongetinfo.c b/cpukit/rtems/src/regiongetinfo.c
index 1cb6f925ed..e17e13c100 100644
--- a/cpukit/rtems/src/regiongetinfo.c
+++ b/cpukit/rtems/src/regiongetinfo.c
@@ -21,7 +21,6 @@
#include <rtems/system.h>
#include <rtems/rtems/status.h>
#include <rtems/rtems/support.h>
-#include <rtems/score/object.h>
#include <rtems/rtems/options.h>
#include <rtems/rtems/regionimpl.h>
#include <rtems/score/apimutex.h>
diff --git a/cpukit/rtems/src/regiongetsegmentsize.c b/cpukit/rtems/src/regiongetsegmentsize.c
index 65c15802b0..8857217a9e 100644
--- a/cpukit/rtems/src/regiongetsegmentsize.c
+++ b/cpukit/rtems/src/regiongetsegmentsize.c
@@ -21,7 +21,6 @@
#include <rtems/system.h>
#include <rtems/rtems/status.h>
#include <rtems/rtems/support.h>
-#include <rtems/score/object.h>
#include <rtems/rtems/options.h>
#include <rtems/rtems/regionimpl.h>
#include <rtems/score/apimutex.h>
diff --git a/cpukit/rtems/src/regionident.c b/cpukit/rtems/src/regionident.c
index 4a64b935a8..3ae39fe542 100644
--- a/cpukit/rtems/src/regionident.c
+++ b/cpukit/rtems/src/regionident.c
@@ -21,7 +21,6 @@
#include <rtems/system.h>
#include <rtems/rtems/statusimpl.h>
#include <rtems/rtems/support.h>
-#include <rtems/score/object.h>
#include <rtems/rtems/options.h>
#include <rtems/rtems/regionimpl.h>
#include <rtems/score/thread.h>
diff --git a/cpukit/rtems/src/regionresizesegment.c b/cpukit/rtems/src/regionresizesegment.c
index fed8333cbe..68a4e1aea1 100644
--- a/cpukit/rtems/src/regionresizesegment.c
+++ b/cpukit/rtems/src/regionresizesegment.c
@@ -21,7 +21,6 @@
#include <rtems/system.h>
#include <rtems/rtems/status.h>
#include <rtems/rtems/support.h>
-#include <rtems/score/object.h>
#include <rtems/rtems/options.h>
#include <rtems/rtems/regionimpl.h>
#include <rtems/score/thread.h>
diff --git a/cpukit/rtems/src/regionreturnsegment.c b/cpukit/rtems/src/regionreturnsegment.c
index 4a50bd2f5a..15ec7188e5 100644
--- a/cpukit/rtems/src/regionreturnsegment.c
+++ b/cpukit/rtems/src/regionreturnsegment.c
@@ -29,7 +29,6 @@
#include <rtems/system.h>
#include <rtems/rtems/status.h>
#include <rtems/rtems/support.h>
-#include <rtems/score/object.h>
#include <rtems/rtems/options.h>
#include <rtems/rtems/regionimpl.h>
#include <rtems/score/thread.h>
diff --git a/cpukit/rtems/src/rtemsbuildid.c b/cpukit/rtems/src/rtemsbuildid.c
index 7c2c48d5fe..2344934660 100644
--- a/cpukit/rtems/src/rtemsbuildid.c
+++ b/cpukit/rtems/src/rtemsbuildid.c
@@ -18,12 +18,17 @@
#include "config.h"
#endif
-#include <rtems/system.h>
-#include <rtems/score/object.h>
-#include <rtems/rtems/types.h>
+#include <rtems/score/objectimpl.h>
-#undef rtems_build_id
-rtems_id rtems_build_id(
+/* XXX: This is for language bindings */
+Objects_Id rtems_build_id(
+ uint32_t api,
+ uint32_t class,
+ uint32_t node,
+ uint32_t index
+);
+
+Objects_Id rtems_build_id(
uint32_t api,
uint32_t class,
uint32_t node,
diff --git a/cpukit/rtems/src/rtemsbuildname.c b/cpukit/rtems/src/rtemsbuildname.c
index 472a71bdcc..d83464664e 100644
--- a/cpukit/rtems/src/rtemsbuildname.c
+++ b/cpukit/rtems/src/rtemsbuildname.c
@@ -19,7 +19,6 @@
#endif
#include <rtems/system.h>
-#include <rtems/score/object.h>
#include <rtems/rtems/types.h>
#undef rtems_build_name
diff --git a/cpukit/rtems/src/rtemsobjectapimaximumclass.c b/cpukit/rtems/src/rtemsobjectapimaximumclass.c
index abeee0365c..cd44705c05 100644
--- a/cpukit/rtems/src/rtemsobjectapimaximumclass.c
+++ b/cpukit/rtems/src/rtemsobjectapimaximumclass.c
@@ -18,10 +18,8 @@
#include "config.h"
#endif
-#include <rtems/system.h>
-#include <rtems/score/object.h>
-#include <rtems/rtems/types.h>
#include <rtems/rtems/object.h>
+#include <rtems/score/objectimpl.h>
int rtems_object_api_maximum_class(
int api
diff --git a/cpukit/rtems/src/rtemsobjectapiminimumclass.c b/cpukit/rtems/src/rtemsobjectapiminimumclass.c
index 858bc37ddb..6aaa73155e 100644
--- a/cpukit/rtems/src/rtemsobjectapiminimumclass.c
+++ b/cpukit/rtems/src/rtemsobjectapiminimumclass.c
@@ -18,10 +18,8 @@
#include "config.h"
#endif
-#include <rtems/system.h>
-#include <rtems/score/object.h>
-#include <rtems/rtems/types.h>
#include <rtems/rtems/object.h>
+#include <rtems/score/objectimpl.h>
int rtems_object_api_minimum_class(
int api
diff --git a/cpukit/rtems/src/rtemsobjectgetapiclassname.c b/cpukit/rtems/src/rtemsobjectgetapiclassname.c
index 93495829f8..4cd07f8a9b 100644
--- a/cpukit/rtems/src/rtemsobjectgetapiclassname.c
+++ b/cpukit/rtems/src/rtemsobjectgetapiclassname.c
@@ -18,18 +18,18 @@
#include "config.h"
#endif
-#include <rtems/system.h>
-#include <rtems/score/object.h>
#include <rtems/rtems/object.h>
+#include <rtems/score/objectimpl.h>
#include <rtems/assoc.h>
-rtems_assoc_t rtems_object_api_internal_assoc[] = {
+static const rtems_assoc_t rtems_object_api_internal_assoc[] = {
{ "Thread", OBJECTS_INTERNAL_THREADS, 0},
{ "Mutex", OBJECTS_INTERNAL_MUTEXES, 0},
+ { NULL, 0, 0}
};
-rtems_assoc_t rtems_object_api_classic_assoc[] = {
+static const rtems_assoc_t rtems_object_api_classic_assoc[] = {
{ "Task", OBJECTS_RTEMS_TASKS, 0},
{ "Timer", OBJECTS_RTEMS_TIMERS, 0},
{ "Semaphore", OBJECTS_RTEMS_SEMAPHORES, 0},
@@ -40,10 +40,11 @@ rtems_assoc_t rtems_object_api_classic_assoc[] = {
{ "Period", OBJECTS_RTEMS_PERIODS, 0},
{ "Extension", OBJECTS_RTEMS_EXTENSIONS, 0},
{ "Barrier", OBJECTS_RTEMS_BARRIERS, 0},
+ { NULL, 0, 0}
};
#ifdef RTEMS_POSIX_API
-rtems_assoc_t rtems_object_api_posix_assoc[] = {
+static const rtems_assoc_t rtems_object_api_posix_assoc[] = {
{ "Thread", OBJECTS_POSIX_THREADS, 0},
{ "Key", OBJECTS_POSIX_KEYS, 0},
{ "Interrupt", OBJECTS_POSIX_INTERRUPTS, 0},
@@ -56,6 +57,7 @@ rtems_assoc_t rtems_object_api_posix_assoc[] = {
{ "Barrier", OBJECTS_POSIX_BARRIERS, 0},
{ "Spinlock", OBJECTS_POSIX_SPINLOCKS, 0},
{ "RWLock", OBJECTS_POSIX_RWLOCKS, 0},
+ { NULL, 0, 0}
};
#endif
diff --git a/cpukit/rtems/src/rtemsobjectgetapiname.c b/cpukit/rtems/src/rtemsobjectgetapiname.c
index 2f10ce74d6..0cd999cefe 100644
--- a/cpukit/rtems/src/rtemsobjectgetapiname.c
+++ b/cpukit/rtems/src/rtemsobjectgetapiname.c
@@ -18,13 +18,11 @@
#include "config.h"
#endif
-#include <rtems/system.h>
-#include <rtems/score/object.h>
#include <rtems/rtems/object.h>
-
+#include <rtems/score/objectimpl.h>
#include <rtems/assoc.h>
-rtems_assoc_t rtems_objects_api_assoc[] = {
+static const rtems_assoc_t rtems_objects_api_assoc[] = {
{ "Internal", OBJECTS_INTERNAL_API, 0},
{ "Classic", OBJECTS_CLASSIC_API, 0},
{ "POSIX", OBJECTS_POSIX_API, 0},
diff --git a/cpukit/rtems/src/rtemsobjectgetclassicname.c b/cpukit/rtems/src/rtemsobjectgetclassicname.c
index 1d9d1db6c1..42ab673ff7 100644
--- a/cpukit/rtems/src/rtemsobjectgetclassicname.c
+++ b/cpukit/rtems/src/rtemsobjectgetclassicname.c
@@ -18,11 +18,9 @@
#include "config.h"
#endif
-#include <rtems/system.h>
-#include <rtems/score/object.h>
-#include <rtems/rtems/statusimpl.h>
-#include <rtems/rtems/types.h>
#include <rtems/rtems/object.h>
+#include <rtems/rtems/statusimpl.h>
+#include <rtems/score/objectimpl.h>
rtems_status_code rtems_object_get_classic_name(
rtems_id id,
diff --git a/cpukit/rtems/src/rtemsobjectgetclassinfo.c b/cpukit/rtems/src/rtemsobjectgetclassinfo.c
index c801c66669..a8f14399ea 100644
--- a/cpukit/rtems/src/rtemsobjectgetclassinfo.c
+++ b/cpukit/rtems/src/rtemsobjectgetclassinfo.c
@@ -18,10 +18,8 @@
#include "config.h"
#endif
-#include <rtems/system.h>
-#include <rtems/rtems/status.h>
-#include <rtems/score/object.h>
#include <rtems/rtems/object.h>
+#include <rtems/score/objectimpl.h>
rtems_status_code rtems_object_get_class_information(
int the_api,
diff --git a/cpukit/rtems/src/rtemsobjectgetname.c b/cpukit/rtems/src/rtemsobjectgetname.c
index f5f10651a0..459a6a7d6c 100644
--- a/cpukit/rtems/src/rtemsobjectgetname.c
+++ b/cpukit/rtems/src/rtemsobjectgetname.c
@@ -18,9 +18,14 @@
#include "config.h"
#endif
-#include <rtems/system.h>
-#include <rtems/score/object.h>
-#include <rtems/rtems/object.h>
+#include <rtems/score/objectimpl.h>
+
+/* XXX: This is for language bindings */
+char *rtems_object_get_name(
+ Objects_Id id,
+ size_t length,
+ char *name
+);
char *rtems_object_get_name(
Objects_Id id,
diff --git a/cpukit/rtems/src/rtemsobjectidapimaximum.c b/cpukit/rtems/src/rtemsobjectidapimaximum.c
index 1073cb0c13..7f4a56f722 100644
--- a/cpukit/rtems/src/rtemsobjectidapimaximum.c
+++ b/cpukit/rtems/src/rtemsobjectidapimaximum.c
@@ -18,11 +18,11 @@
#include "config.h"
#endif
-#include <rtems/system.h>
-#include <rtems/score/object.h>
-#include <rtems/rtems/types.h>
+#include <rtems/score/objectimpl.h>
+
+/* XXX: This is for language bindings */
+int rtems_object_id_api_maximum(void);
-#undef rtems_object_id_api_maximum
int rtems_object_id_api_maximum(void)
{
return OBJECTS_APIS_LAST;
diff --git a/cpukit/rtems/src/rtemsobjectidapiminimum.c b/cpukit/rtems/src/rtemsobjectidapiminimum.c
index c6eb871d47..3315a74fa8 100644
--- a/cpukit/rtems/src/rtemsobjectidapiminimum.c
+++ b/cpukit/rtems/src/rtemsobjectidapiminimum.c
@@ -18,11 +18,11 @@
#include "config.h"
#endif
-#include <rtems/system.h>
-#include <rtems/score/object.h>
-#include <rtems/rtems/types.h>
+#include <rtems/score/objectimpl.h>
+
+/* XXX: This is for language bindings */
+int rtems_object_id_api_minimum(void);
-#undef rtems_object_id_api_minimum
int rtems_object_id_api_minimum(void)
{
return OBJECTS_INTERNAL_API;
diff --git a/cpukit/rtems/src/rtemsobjectidgetapi.c b/cpukit/rtems/src/rtemsobjectidgetapi.c
index bce0eaadf6..dce296cc20 100644
--- a/cpukit/rtems/src/rtemsobjectidgetapi.c
+++ b/cpukit/rtems/src/rtemsobjectidgetapi.c
@@ -18,13 +18,15 @@
#include "config.h"
#endif
-#include <rtems/system.h>
-#include <rtems/score/object.h>
-#include <rtems/rtems/types.h>
+#include <rtems/score/objectimpl.h>
-#undef rtems_object_id_get_api
+/* XXX: This is for language bindings */
int rtems_object_id_get_api(
- rtems_id id
+ Objects_Id id
+);
+
+int rtems_object_id_get_api(
+ Objects_Id id
)
{
return _Objects_Get_API( id );
diff --git a/cpukit/rtems/src/rtemsobjectidgetclass.c b/cpukit/rtems/src/rtemsobjectidgetclass.c
index a9b7df76a7..e18a763c92 100644
--- a/cpukit/rtems/src/rtemsobjectidgetclass.c
+++ b/cpukit/rtems/src/rtemsobjectidgetclass.c
@@ -18,13 +18,15 @@
#include "config.h"
#endif
-#include <rtems/system.h>
-#include <rtems/score/object.h>
-#include <rtems/rtems/types.h>
+#include <rtems/score/objectimpl.h>
-#undef rtems_object_id_get_class
+/* XXX: This is for language bindings */
int rtems_object_id_get_class(
- rtems_id id
+ Objects_Id id
+);
+
+int rtems_object_id_get_class(
+ Objects_Id id
)
{
return _Objects_Get_class( id );
diff --git a/cpukit/rtems/src/rtemsobjectidgetindex.c b/cpukit/rtems/src/rtemsobjectidgetindex.c
index 281e896007..8a08bb2d9f 100644
--- a/cpukit/rtems/src/rtemsobjectidgetindex.c
+++ b/cpukit/rtems/src/rtemsobjectidgetindex.c
@@ -18,13 +18,15 @@
#include "config.h"
#endif
-#include <rtems/system.h>
-#include <rtems/score/object.h>
-#include <rtems/rtems/types.h>
+#include <rtems/score/objectimpl.h>
-#undef rtems_object_id_get_index
+/* XXX: This is for language bindings */
int rtems_object_id_get_index(
- rtems_id id
+ Objects_Id id
+);
+
+int rtems_object_id_get_index(
+ Objects_Id id
)
{
return _Objects_Get_index( id );
diff --git a/cpukit/rtems/src/rtemsobjectidgetnode.c b/cpukit/rtems/src/rtemsobjectidgetnode.c
index 15f8cd8a3c..ee3157b1e4 100644
--- a/cpukit/rtems/src/rtemsobjectidgetnode.c
+++ b/cpukit/rtems/src/rtemsobjectidgetnode.c
@@ -18,13 +18,15 @@
#include "config.h"
#endif
-#include <rtems/system.h>
-#include <rtems/score/object.h>
-#include <rtems/rtems/types.h>
+#include <rtems/score/objectimpl.h>
-#undef rtems_object_id_get_node
+/* XXX: This is for language bindings */
int rtems_object_id_get_node(
- rtems_id id
+ Objects_Id id
+);
+
+int rtems_object_id_get_node(
+ Objects_Id id
)
{
return _Objects_Get_node( id );
diff --git a/cpukit/rtems/src/rtemsobjectsetname.c b/cpukit/rtems/src/rtemsobjectsetname.c
index 6db87ac8ac..925739303b 100644
--- a/cpukit/rtems/src/rtemsobjectsetname.c
+++ b/cpukit/rtems/src/rtemsobjectsetname.c
@@ -18,12 +18,9 @@
#include "config.h"
#endif
-#include <rtems/system.h>
-#include <rtems/score/object.h>
-#include <rtems/score/thread.h>
-#include <rtems/rtems/status.h>
-#include <rtems/rtems/types.h>
#include <rtems/rtems/object.h>
+#include <rtems/score/objectimpl.h>
+#include <rtems/score/thread.h>
/*
* This method will set the object name based upon the user string.
diff --git a/cpukit/rtems/src/rtemstimer.c b/cpukit/rtems/src/rtemstimer.c
index f3ca9e0e85..259df4ccf3 100644
--- a/cpukit/rtems/src/rtemstimer.c
+++ b/cpukit/rtems/src/rtemstimer.c
@@ -22,7 +22,6 @@
#include <rtems/config.h>
#include <rtems/rtems/status.h>
#include <rtems/rtems/support.h>
-#include <rtems/score/object.h>
#include <rtems/score/thread.h>
#include <rtems/rtems/timerimpl.h>
#include <rtems/score/tod.h>
diff --git a/cpukit/rtems/src/sem.c b/cpukit/rtems/src/sem.c
index 83fe07fb8a..00e782b62e 100644
--- a/cpukit/rtems/src/sem.c
+++ b/cpukit/rtems/src/sem.c
@@ -24,7 +24,6 @@
#include <rtems/rtems/support.h>
#include <rtems/rtems/attrimpl.h>
#include <rtems/score/isr.h>
-#include <rtems/score/object.h>
#include <rtems/rtems/options.h>
#include <rtems/rtems/semimpl.h>
#include <rtems/score/coremuteximpl.h>
diff --git a/cpukit/rtems/src/semcreate.c b/cpukit/rtems/src/semcreate.c
index d91365b709..5ac57dc568 100644
--- a/cpukit/rtems/src/semcreate.c
+++ b/cpukit/rtems/src/semcreate.c
@@ -23,7 +23,6 @@
#include <rtems/rtems/support.h>
#include <rtems/rtems/attrimpl.h>
#include <rtems/score/isr.h>
-#include <rtems/score/object.h>
#include <rtems/rtems/options.h>
#include <rtems/rtems/semimpl.h>
#include <rtems/score/coremuteximpl.h>
diff --git a/cpukit/rtems/src/semdelete.c b/cpukit/rtems/src/semdelete.c
index 0586a19a67..37cbf3d33e 100644
--- a/cpukit/rtems/src/semdelete.c
+++ b/cpukit/rtems/src/semdelete.c
@@ -23,7 +23,6 @@
#include <rtems/rtems/support.h>
#include <rtems/rtems/attrimpl.h>
#include <rtems/score/isr.h>
-#include <rtems/score/object.h>
#include <rtems/rtems/options.h>
#include <rtems/rtems/semimpl.h>
#include <rtems/score/coremuteximpl.h>
diff --git a/cpukit/rtems/src/semflush.c b/cpukit/rtems/src/semflush.c
index f6b09ec787..dcbef01bf3 100644
--- a/cpukit/rtems/src/semflush.c
+++ b/cpukit/rtems/src/semflush.c
@@ -23,7 +23,6 @@
#include <rtems/rtems/support.h>
#include <rtems/rtems/attrimpl.h>
#include <rtems/score/isr.h>
-#include <rtems/score/object.h>
#include <rtems/rtems/options.h>
#include <rtems/rtems/semimpl.h>
#include <rtems/score/coremuteximpl.h>
diff --git a/cpukit/rtems/src/semident.c b/cpukit/rtems/src/semident.c
index 10c7f94cae..973d1be2c5 100644
--- a/cpukit/rtems/src/semident.c
+++ b/cpukit/rtems/src/semident.c
@@ -23,7 +23,6 @@
#include <rtems/rtems/support.h>
#include <rtems/rtems/attrimpl.h>
#include <rtems/score/isr.h>
-#include <rtems/score/object.h>
#include <rtems/rtems/options.h>
#include <rtems/rtems/semimpl.h>
#include <rtems/score/coremuteximpl.h>
diff --git a/cpukit/rtems/src/semobtain.c b/cpukit/rtems/src/semobtain.c
index fb0ad1f846..abec4697ee 100644
--- a/cpukit/rtems/src/semobtain.c
+++ b/cpukit/rtems/src/semobtain.c
@@ -23,7 +23,6 @@
#include <rtems/rtems/support.h>
#include <rtems/rtems/attrimpl.h>
#include <rtems/score/isr.h>
-#include <rtems/score/object.h>
#include <rtems/rtems/optionsimpl.h>
#include <rtems/rtems/semimpl.h>
#include <rtems/score/coremuteximpl.h>
diff --git a/cpukit/rtems/src/semrelease.c b/cpukit/rtems/src/semrelease.c
index fae58f5eb1..df06b1d4ca 100644
--- a/cpukit/rtems/src/semrelease.c
+++ b/cpukit/rtems/src/semrelease.c
@@ -38,7 +38,6 @@
#include <rtems/rtems/support.h>
#include <rtems/rtems/attrimpl.h>
#include <rtems/score/isr.h>
-#include <rtems/score/object.h>
#include <rtems/rtems/options.h>
#include <rtems/rtems/semimpl.h>
#include <rtems/score/coremuteximpl.h>
diff --git a/cpukit/rtems/src/taskident.c b/cpukit/rtems/src/taskident.c
index c3c0fb78f2..ecd01c003c 100644
--- a/cpukit/rtems/src/taskident.c
+++ b/cpukit/rtems/src/taskident.c
@@ -22,7 +22,6 @@
#include <rtems/rtems/statusimpl.h>
#include <rtems/rtems/support.h>
#include <rtems/rtems/modes.h>
-#include <rtems/score/object.h>
#include <rtems/score/stack.h>
#include <rtems/rtems/tasksimpl.h>
#include <rtems/score/thread.h>
diff --git a/cpukit/rtems/src/taskinitusers.c b/cpukit/rtems/src/taskinitusers.c
index 6c6f84b4b6..b086a6ea7e 100644
--- a/cpukit/rtems/src/taskinitusers.c
+++ b/cpukit/rtems/src/taskinitusers.c
@@ -23,7 +23,6 @@
#include <rtems/rtems/status.h>
#include <rtems/rtems/support.h>
#include <rtems/rtems/modes.h>
-#include <rtems/score/object.h>
#include <rtems/rtems/rtemsapi.h>
#include <rtems/score/stack.h>
#include <rtems/rtems/tasksimpl.h>
diff --git a/cpukit/rtems/src/tasks.c b/cpukit/rtems/src/tasks.c
index a8920e0e24..ddbc0d235a 100644
--- a/cpukit/rtems/src/tasks.c
+++ b/cpukit/rtems/src/tasks.c
@@ -25,7 +25,6 @@
#include <rtems/rtems/status.h>
#include <rtems/rtems/support.h>
#include <rtems/rtems/modes.h>
-#include <rtems/score/object.h>
#include <rtems/score/stack.h>
#include <rtems/rtems/tasksimpl.h>
#include <rtems/score/thread.h>
diff --git a/cpukit/rtems/src/timercancel.c b/cpukit/rtems/src/timercancel.c
index 1bec3559b5..28d16f49da 100644
--- a/cpukit/rtems/src/timercancel.c
+++ b/cpukit/rtems/src/timercancel.c
@@ -17,7 +17,6 @@
#include <rtems/system.h>
#include <rtems/rtems/status.h>
#include <rtems/rtems/support.h>
-#include <rtems/score/object.h>
#include <rtems/score/thread.h>
#include <rtems/rtems/timerimpl.h>
#include <rtems/score/tod.h>
diff --git a/cpukit/rtems/src/timercreate.c b/cpukit/rtems/src/timercreate.c
index 21fa8cc0d8..516be2fc2e 100644
--- a/cpukit/rtems/src/timercreate.c
+++ b/cpukit/rtems/src/timercreate.c
@@ -21,7 +21,6 @@
#include <rtems/system.h>
#include <rtems/rtems/status.h>
#include <rtems/rtems/support.h>
-#include <rtems/score/object.h>
#include <rtems/score/thread.h>
#include <rtems/rtems/timerimpl.h>
#include <rtems/score/tod.h>
diff --git a/cpukit/rtems/src/timerdelete.c b/cpukit/rtems/src/timerdelete.c
index 27bb26087a..dee2dfafb4 100644
--- a/cpukit/rtems/src/timerdelete.c
+++ b/cpukit/rtems/src/timerdelete.c
@@ -21,7 +21,6 @@
#include <rtems/system.h>
#include <rtems/rtems/status.h>
#include <rtems/rtems/support.h>
-#include <rtems/score/object.h>
#include <rtems/score/thread.h>
#include <rtems/rtems/timerimpl.h>
#include <rtems/score/tod.h>
diff --git a/cpukit/rtems/src/timerfireafter.c b/cpukit/rtems/src/timerfireafter.c
index aaa478e337..a7df31e78d 100644
--- a/cpukit/rtems/src/timerfireafter.c
+++ b/cpukit/rtems/src/timerfireafter.c
@@ -21,7 +21,6 @@
#include <rtems/system.h>
#include <rtems/rtems/status.h>
#include <rtems/rtems/support.h>
-#include <rtems/score/object.h>
#include <rtems/score/thread.h>
#include <rtems/rtems/timerimpl.h>
#include <rtems/score/tod.h>
diff --git a/cpukit/rtems/src/timerfirewhen.c b/cpukit/rtems/src/timerfirewhen.c
index 7dffbbe319..453c84944a 100644
--- a/cpukit/rtems/src/timerfirewhen.c
+++ b/cpukit/rtems/src/timerfirewhen.c
@@ -21,7 +21,6 @@
#include <rtems/system.h>
#include <rtems/rtems/status.h>
#include <rtems/rtems/support.h>
-#include <rtems/score/object.h>
#include <rtems/score/thread.h>
#include <rtems/rtems/timerimpl.h>
#include <rtems/rtems/clock.h>
diff --git a/cpukit/rtems/src/timergetinfo.c b/cpukit/rtems/src/timergetinfo.c
index 2e13e577eb..f711228aa5 100644
--- a/cpukit/rtems/src/timergetinfo.c
+++ b/cpukit/rtems/src/timergetinfo.c
@@ -21,7 +21,6 @@
#include <rtems/system.h>
#include <rtems/rtems/status.h>
#include <rtems/rtems/support.h>
-#include <rtems/score/object.h>
#include <rtems/score/thread.h>
#include <rtems/rtems/timerimpl.h>
#include <rtems/score/tod.h>
diff --git a/cpukit/rtems/src/timerident.c b/cpukit/rtems/src/timerident.c
index f160b170b2..e87585c0a8 100644
--- a/cpukit/rtems/src/timerident.c
+++ b/cpukit/rtems/src/timerident.c
@@ -21,7 +21,6 @@
#include <rtems/system.h>
#include <rtems/rtems/statusimpl.h>
#include <rtems/rtems/support.h>
-#include <rtems/score/object.h>
#include <rtems/score/thread.h>
#include <rtems/rtems/timerimpl.h>
#include <rtems/score/tod.h>
diff --git a/cpukit/rtems/src/timerreset.c b/cpukit/rtems/src/timerreset.c
index 68feac6051..fb55f9e9de 100644
--- a/cpukit/rtems/src/timerreset.c
+++ b/cpukit/rtems/src/timerreset.c
@@ -21,7 +21,6 @@
#include <rtems/system.h>
#include <rtems/rtems/status.h>
#include <rtems/rtems/support.h>
-#include <rtems/score/object.h>
#include <rtems/score/thread.h>
#include <rtems/rtems/timerimpl.h>
#include <rtems/score/tod.h>
diff --git a/cpukit/rtems/src/timerserverfireafter.c b/cpukit/rtems/src/timerserverfireafter.c
index f97eb3f5b2..c486d91421 100644
--- a/cpukit/rtems/src/timerserverfireafter.c
+++ b/cpukit/rtems/src/timerserverfireafter.c
@@ -21,7 +21,6 @@
#include <rtems/system.h>
#include <rtems/rtems/status.h>
#include <rtems/rtems/support.h>
-#include <rtems/score/object.h>
#include <rtems/score/thread.h>
#include <rtems/rtems/timerimpl.h>
#include <rtems/score/tod.h>
diff --git a/cpukit/rtems/src/timerserverfirewhen.c b/cpukit/rtems/src/timerserverfirewhen.c
index 090738cf98..c6749b2a60 100644
--- a/cpukit/rtems/src/timerserverfirewhen.c
+++ b/cpukit/rtems/src/timerserverfirewhen.c
@@ -21,7 +21,6 @@
#include <rtems/system.h>
#include <rtems/rtems/status.h>
#include <rtems/rtems/support.h>
-#include <rtems/score/object.h>
#include <rtems/score/thread.h>
#include <rtems/rtems/timerimpl.h>
#include <rtems/rtems/clock.h>
diff --git a/cpukit/sapi/include/rtems/extensionimpl.h b/cpukit/sapi/include/rtems/extensionimpl.h
index 1b80fdfff7..50c15a6fa2 100644
--- a/cpukit/sapi/include/rtems/extensionimpl.h
+++ b/cpukit/sapi/include/rtems/extensionimpl.h
@@ -19,6 +19,7 @@
#define _RTEMS_EXTENSIONIMPL_H
#include <rtems/extension.h>
+#include <rtems/score/objectimpl.h>
#ifdef __cplusplus
extern "C" {
diff --git a/cpukit/sapi/src/extension.c b/cpukit/sapi/src/extension.c
index ffa0dcecc5..cbfa85b39b 100644
--- a/cpukit/sapi/src/extension.c
+++ b/cpukit/sapi/src/extension.c
@@ -24,7 +24,6 @@
#include <rtems/system.h>
#include <rtems/config.h>
#include <rtems/rtems/support.h>
-#include <rtems/score/object.h>
#include <rtems/score/thread.h>
#include <rtems/extensionimpl.h>
diff --git a/cpukit/sapi/src/extensioncreate.c b/cpukit/sapi/src/extensioncreate.c
index 0590a1374c..83c6b39b1a 100644
--- a/cpukit/sapi/src/extensioncreate.c
+++ b/cpukit/sapi/src/extensioncreate.c
@@ -21,7 +21,6 @@
#include <rtems/system.h>
#include <rtems/rtems/support.h>
-#include <rtems/score/object.h>
#include <rtems/score/thread.h>
#include <rtems/score/userextimpl.h>
#include <rtems/extensionimpl.h>
diff --git a/cpukit/sapi/src/extensiondelete.c b/cpukit/sapi/src/extensiondelete.c
index 0c013f32ad..9209f2fe83 100644
--- a/cpukit/sapi/src/extensiondelete.c
+++ b/cpukit/sapi/src/extensiondelete.c
@@ -20,7 +20,6 @@
#endif
#include <rtems/extensionimpl.h>
-#include <rtems/score/object.h>
#include <rtems/score/thread.h>
#include <rtems/score/userextimpl.h>
diff --git a/cpukit/sapi/src/extensionident.c b/cpukit/sapi/src/extensionident.c
index 8817469b89..900c14c24b 100644
--- a/cpukit/sapi/src/extensionident.c
+++ b/cpukit/sapi/src/extensionident.c
@@ -22,7 +22,6 @@
#include <rtems/system.h>
#include <rtems/rtems/statusimpl.h>
#include <rtems/rtems/support.h>
-#include <rtems/score/object.h>
#include <rtems/score/thread.h>
#include <rtems/extensionimpl.h>
diff --git a/cpukit/sapi/src/posixapi.c b/cpukit/sapi/src/posixapi.c
index 7563e82e0c..f0859a3639 100644
--- a/cpukit/sapi/src/posixapi.c
+++ b/cpukit/sapi/src/posixapi.c
@@ -27,7 +27,6 @@
#include <sys/types.h>
#include <mqueue.h>
#include <rtems/config.h>
-#include <rtems/score/object.h>
#include <rtems/posix/barrierimpl.h>
#include <rtems/posix/condimpl.h>
#include <rtems/posix/config.h>
diff --git a/cpukit/score/Makefile.am b/cpukit/score/Makefile.am
index f5710166eb..a5daa5cddc 100644
--- a/cpukit/score/Makefile.am
+++ b/cpukit/score/Makefile.am
@@ -37,6 +37,7 @@ include_rtems_score_HEADERS += include/rtems/score/isr.h
include_rtems_score_HEADERS += include/rtems/score/isrlevel.h
include_rtems_score_HEADERS += include/rtems/score/freechain.h
include_rtems_score_HEADERS += include/rtems/score/object.h
+include_rtems_score_HEADERS += include/rtems/score/objectimpl.h
include_rtems_score_HEADERS += include/rtems/score/percpu.h
include_rtems_score_HEADERS += include/rtems/score/priority.h
include_rtems_score_HEADERS += include/rtems/score/prioritybitmap.h
@@ -101,7 +102,6 @@ include_rtems_score_HEADERS += include/rtems/score/schedulersimplesmp.h
endif
## inline
-include_rtems_score_HEADERS += inline/rtems/score/object.inl
include_rtems_score_HEADERS += inline/rtems/score/tod.inl
## src
@@ -124,7 +124,7 @@ libscore_a_SOURCES += src/smp.c
endif
## CORE_APIMUTEX_C_FILES
-libscore_a_SOURCES += src/apimutex.c src/apimutexallocate.c \
+libscore_a_SOURCES += src/apimutex.c \
src/apimutexlock.c src/apimutexunlock.c
## CORE_BARRIER_C_FILES
diff --git a/cpukit/score/include/rtems/score/apimutex.h b/cpukit/score/include/rtems/score/apimutex.h
index 60c21ad29c..a34270ec08 100644
--- a/cpukit/score/include/rtems/score/apimutex.h
+++ b/cpukit/score/include/rtems/score/apimutex.h
@@ -18,9 +18,8 @@
#ifndef _RTEMS_SCORE_APIMUTEX_H
#define _RTEMS_SCORE_APIMUTEX_H
-#ifdef __cplusplus
-extern "C" {
-#endif
+#include <rtems/score/coremutex.h>
+#include <rtems/score/object.h>
/**
* @defgroup ScoreAPIMutex API Mutex Handler
@@ -31,9 +30,9 @@ extern "C" {
*/
/**@{**/
-#include <rtems/score/coremutex.h>
-#include <rtems/score/isr.h>
-#include <rtems/score/object.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
/**
* @brief Control block used to manage each API mutex.
@@ -51,11 +50,6 @@ typedef struct {
} API_Mutex_Control;
/**
- * @brief Information control block used to manage this class of objects.
- */
-SCORE_EXTERN Objects_Information _API_Mutex_Information;
-
-/**
* @brief Initialization for the API Mutexe Handler.
*
* The value @a maximum_mutexes is the maximum number of API mutexes that may
diff --git a/cpukit/score/include/rtems/score/object.h b/cpukit/score/include/rtems/score/object.h
index d6b8f48d35..f06342facb 100644
--- a/cpukit/score/include/rtems/score/object.h
+++ b/cpukit/score/include/rtems/score/object.h
@@ -20,18 +20,8 @@
#ifndef _RTEMS_SCORE_OBJECT_H
#define _RTEMS_SCORE_OBJECT_H
+#include <rtems/score/basedefs.h>
#include <rtems/score/chain.h>
-#include <rtems/score/isr.h>
-
-#if defined(RTEMS_POSIX_API)
- /**
- * This macro is defined when an API is enabled that requires the
- * use of strings for object names. Since the Classic API uses
- * 32-bit unsigned integers and not strings, this allows us to
- * disable this in the smallest RTEMS configuratinos.
- */
- #define RTEMS_SCORE_OBJECT_ENABLE_STRING_NAMES
-#endif
#ifdef __cplusplus
extern "C" {
@@ -44,6 +34,16 @@ extern "C" {
*/
/**@{*/
+#if defined(RTEMS_POSIX_API)
+ /**
+ * This macro is defined when an API is enabled that requires the
+ * use of strings for object names. Since the Classic API uses
+ * 32-bit unsigned integers and not strings, this allows us to
+ * disable this in the smallest RTEMS configuratinos.
+ */
+ #define RTEMS_SCORE_OBJECT_ENABLE_STRING_NAMES
+#endif
+
/**
* @defgroup ScoreCPU CPU Architecture Support
*
@@ -73,15 +73,6 @@ typedef union {
uint32_t name_u32;
} Objects_Name;
-/**
- * Functions which compare names are prototyped like this.
- */
-typedef bool (*Objects_Name_comparators)(
- void * /* name_1 */,
- void * /* name_2 */,
- uint16_t /* length */
-);
-
#if defined(RTEMS_USE_16_BIT_OBJECT)
/**
* The following type defines the control block used to manage
@@ -229,86 +220,6 @@ typedef enum {
OBJECTS_POSIX_API = 3
} Objects_APIs;
-/** This macro is used to generically specify the last API index. */
-#define OBJECTS_APIS_LAST OBJECTS_POSIX_API
-
-/**
- * This enumerated type is used in the class field of the object ID
- * for RTEMS internal object classes.
- */
-typedef enum {
- OBJECTS_INTERNAL_NO_CLASS = 0,
- OBJECTS_INTERNAL_THREADS = 1,
- OBJECTS_INTERNAL_MUTEXES = 2
-} Objects_Internal_API;
-
-/** This macro is used to generically specify the last API index. */
-#define OBJECTS_INTERNAL_CLASSES_LAST OBJECTS_INTERNAL_MUTEXES
-
-/**
- * This enumerated type is used in the class field of the object ID
- * for the RTEMS Classic API.
- */
-typedef enum {
- OBJECTS_CLASSIC_NO_CLASS = 0,
- OBJECTS_RTEMS_TASKS = 1,
- OBJECTS_RTEMS_TIMERS = 2,
- OBJECTS_RTEMS_SEMAPHORES = 3,
- OBJECTS_RTEMS_MESSAGE_QUEUES = 4,
- OBJECTS_RTEMS_PARTITIONS = 5,
- OBJECTS_RTEMS_REGIONS = 6,
- OBJECTS_RTEMS_PORTS = 7,
- OBJECTS_RTEMS_PERIODS = 8,
- OBJECTS_RTEMS_EXTENSIONS = 9,
- OBJECTS_RTEMS_BARRIERS = 10
-} Objects_Classic_API;
-
-/** This macro is used to generically specify the last API index. */
-#define OBJECTS_RTEMS_CLASSES_LAST OBJECTS_RTEMS_BARRIERS
-
-/**
- * This enumerated type is used in the class field of the object ID
- * for the POSIX API.
- */
-typedef enum {
- OBJECTS_POSIX_NO_CLASS = 0,
- OBJECTS_POSIX_THREADS = 1,
- OBJECTS_POSIX_KEYS = 2,
- OBJECTS_POSIX_INTERRUPTS = 3,
- OBJECTS_POSIX_MESSAGE_QUEUE_FDS = 4,
- OBJECTS_POSIX_MESSAGE_QUEUES = 5,
- OBJECTS_POSIX_MUTEXES = 6,
- OBJECTS_POSIX_SEMAPHORES = 7,
- OBJECTS_POSIX_CONDITION_VARIABLES = 8,
- OBJECTS_POSIX_TIMERS = 9,
- OBJECTS_POSIX_BARRIERS = 10,
- OBJECTS_POSIX_SPINLOCKS = 11,
- OBJECTS_POSIX_RWLOCKS = 12
-} Objects_POSIX_API;
-
-/** This macro is used to generically specify the last API index. */
-#define OBJECTS_POSIX_CLASSES_LAST OBJECTS_POSIX_RWLOCKS
-
-/**
- * This enumerated type lists the locations which may be returned
- * by _Objects_Get. These codes indicate the success of locating
- * an object with the specified ID.
- */
-typedef enum {
-#if defined(RTEMS_MULTIPROCESSING)
- OBJECTS_REMOTE = 2, /* object is remote */
-#endif
- OBJECTS_LOCAL = 0, /* object is local */
- OBJECTS_ERROR = 1 /* id was invalid */
-} Objects_Locations;
-
-/**
- * The following type defines the callout used when a local task
- * is extracted from a remote thread queue (i.e. it's proxy must
- * extracted from the remote queue).
- */
-typedef void ( *Objects_Thread_queue_Extract_callout )( void * );
-
/**
* The following defines the Object Control Block used to manage
* each object local to this node.
@@ -323,77 +234,6 @@ typedef struct {
} Objects_Control;
/**
- * The following defines the structure for the information used to
- * manage each class of objects.
- */
-typedef struct {
- /** This field indicates the API of this object class. */
- Objects_APIs the_api;
- /** This is the class of this object set. */
- uint16_t the_class;
- /** This is the minimum valid id of this object class. */
- Objects_Id minimum_id;
- /** This is the maximum valid id of this object class. */
- Objects_Id maximum_id;
- /** This is the maximum number of objects in this class. */
- Objects_Maximum maximum;
- /** This is the true if unlimited objects in this class. */
- bool auto_extend;
- /** This is the number of objects in a block. */
- Objects_Maximum allocation_size;
- /** This is the size in bytes of each object instance. */
- size_t size;
- /** This points to the table of local objects. */
- Objects_Control **local_table;
- /** This is the chain of inactive control blocks. */
- Chain_Control Inactive;
- /** This is the number of objects on the Inactive list. */
- Objects_Maximum inactive;
- /** This is the number of inactive objects per block. */
- uint32_t *inactive_per_block;
- /** This is a table to the chain of inactive object memory blocks. */
- void **object_blocks;
- #if defined(RTEMS_SCORE_OBJECT_ENABLE_STRING_NAMES)
- /** This is true if names are strings. */
- bool is_string;
- #endif
- /** This is the maximum length of names. */
- uint16_t name_length;
- /** This is this object class' method called when extracting a thread. */
- Objects_Thread_queue_Extract_callout extract;
- #if defined(RTEMS_MULTIPROCESSING)
- /** This is this object class' pointer to the global name table */
- Chain_Control *global_table;
- #endif
-} Objects_Information;
-
-/**
- * The following is referenced to the node number of the local node.
- */
-#if defined(RTEMS_MULTIPROCESSING)
-SCORE_EXTERN uint16_t _Objects_Local_node;
-#else
-#define _Objects_Local_node ((uint16_t)1)
-#endif
-
-/**
- * The following is referenced to the number of nodes in the system.
- */
-#if defined(RTEMS_MULTIPROCESSING)
-SCORE_EXTERN uint16_t _Objects_Maximum_nodes;
-#else
-#define _Objects_Maximum_nodes 1
-#endif
-
-/**
- * The following is the list of information blocks per API for each object
- * class. From the ID, we can go to one of these information blocks,
- * and obtain a pointer to the appropriate object control block.
- */
-SCORE_EXTERN Objects_Information
- **_Objects_Information_table[OBJECTS_APIS_LAST + 1];
-
-/**
* No object can have this ID.
*/
#define OBJECTS_ID_NONE 0
@@ -441,105 +281,6 @@ SCORE_EXTERN Objects_Information
#define OBJECTS_ID_FINAL ((Objects_Id)~0)
/**
- * This function extends an object class information record.
- *
- * @param[in] information points to an object class information block.
- */
-void _Objects_Extend_information(
- Objects_Information *information
-);
-
-/**
- * @brief Shrink an object class information record
- *
- * This function shrink an object class information record.
- * The object's name and object space are released. The local_table
- * etc block does not shrink. The InActive list needs to be scanned
- * to find the objects are remove them.
- *
- * @param[in] information points to an object class information block.
- */
-void _Objects_Shrink_information(
- Objects_Information *information
-);
-
-/**
- * @brief Initialize object Information
- *
- * This function initializes an object class information record.
- * SUPPORTS_GLOBAL is true if the object class supports global
- * objects, and false otherwise. Maximum indicates the number
- * of objects required in this class and size indicates the size
- * in bytes of each control block for this object class. The
- * name length and string designator are also set. In addition,
- * the class may be a task, therefore this information is also included.
- *
- * @param[in] information points to an object class information block.
- * @param[in] the_api indicates the API associated with this information block.
- * @param[in] the_class indicates the class of object being managed
- * by this information block. It is specific to @a the_api.
- * @param[in] maximum is the maximum number of instances of this object
- * class which may be concurrently active.
- * @param[in] size is the size of the data structure for this class.
- * @param[in] is_string is true if this object uses string style names.
- * @param[in] maximum_name_length is the maximum length of object names.
- */
-void _Objects_Initialize_information (
- Objects_Information *information,
- Objects_APIs the_api,
- uint16_t the_class,
- uint32_t maximum,
- uint16_t size,
- bool is_string,
- uint32_t maximum_name_length
-#if defined(RTEMS_MULTIPROCESSING)
- ,
- bool supports_global,
- Objects_Thread_queue_Extract_callout extract
-#endif
-);
-
-/**
- * @brief Object API Maximum Class
- *
- * This function returns the highest numeric value of a valid
- * API for the specified @a api.
- *
- * @param[in] api is the API of interest
- *
- * @retval A positive integer on success and 0 otherwise.
- */
-unsigned int _Objects_API_maximum_class(
- uint32_t api
-);
-
-/**
- * @brief Allocate an object.
- *
- * This function allocates an object control block from
- * the inactive chain of free object control blocks.
- *
- * @param[in] information points to an object class information block.
- */
-Objects_Control *_Objects_Allocate(
- Objects_Information *information
-);
-
-/**
- * @brief Free an object.
- *
- * This function frees an object control block to the
- * inactive chain of free object control blocks.
- *
- * @param[in] information points to an object class information block.
- * @param[in] the_object points to the object to deallocate.
- */
-void _Objects_Free(
- Objects_Information *information,
- Objects_Control *the_object
-);
-
-/**
* This macro is used to build a thirty-two bit style name from
* four characters. The most significant byte will be the
* character @a _C1.
@@ -556,344 +297,104 @@ void _Objects_Free(
(uint32_t)(_C4) )
/**
- * This function implements the common portion of the object
- * identification directives. This directive returns the object
- * id associated with name. If more than one object of this class
- * is named name, then the object to which the id belongs is
- * arbitrary. Node indicates the extent of the search for the
- * id of the object named name. If the object class supports global
- * objects, then the search can be limited to a particular node
- * or allowed to encompass all nodes.
- */
-typedef enum {
- OBJECTS_NAME_OR_ID_LOOKUP_SUCCESSFUL,
- OBJECTS_INVALID_NAME,
- OBJECTS_INVALID_ADDRESS,
- OBJECTS_INVALID_ID,
- OBJECTS_INVALID_NODE
-} Objects_Name_or_id_lookup_errors;
-
-/**
- * This macro defines the first entry in the
- * @ref Objects_Name_or_id_lookup_errors enumerated list.
- */
-#define OBJECTS_NAME_ERRORS_FIRST OBJECTS_NAME_OR_ID_LOOKUP_SUCCESSFUL
-
-/**
- * This macro defines the last entry in the
- * @ref Objects_Name_or_id_lookup_errors enumerated list.
- */
-#define OBJECTS_NAME_ERRORS_LAST OBJECTS_INVALID_NODE
-
-/**
- * @brief Converts an object name to an Id.
- *
- * This method converts an object name to an Id. It performs a look up
- * using the object information block for this object class.
- *
- * @param[in] information points to an object class information block.
- * @param[in] name is the name of the object to find.
- * @param[in] node is the set of nodes to search.
- * @param[in] id will contain the Id if the search is successful.
- *
- * @retval This method returns one of the values from the
- * @ref Objects_Name_or_id_lookup_errors enumeration to indicate
- * successful or failure. On success @a id will contain the Id of
- * the requested object.
- */
-Objects_Name_or_id_lookup_errors _Objects_Name_to_id_u32(
- Objects_Information *information,
- uint32_t name,
- uint32_t node,
- Objects_Id *id
-);
-
-#if defined(RTEMS_SCORE_OBJECT_ENABLE_STRING_NAMES)
-/**
- * @brief Converts an object name to an Id.
- *
- * This method converts an object name to an Id. It performs a look up
- * using the object information block for this object class.
- *
- * @param[in] information points to an object class information block.
- * @param[in] name is the name of the object to find.
- * @param[in] id will contain the Id if the search is successful.
- *
- * @retval This method returns one of the values from the
- * @ref Objects_Name_or_id_lookup_errors enumeration to indicate
- * successful or failure. On success @a id will contain the Id of
- * the requested object.
- */
-Objects_Name_or_id_lookup_errors _Objects_Name_to_id_string(
- Objects_Information *information,
- const char *name,
- Objects_Id *id
-);
-#endif
-
-/**
- * @brief Implements the common portion of the object Id to name directives.
- *
- * This function implements the common portion of the object Id
- * to name directives. This function returns the name
- * associated with object id.
- *
- * @param[in] id is the Id of the object whose name we are locating.
- * @param[in] name will contain the name of the object, if found.
- *
- * @retval This method returns one of the values from the
- * @ref Objects_Name_or_id_lookup_errors enumeration to indicate
- * successful or failure. On success @a name will contain the name of
- * the requested object.
- *
- * @note This function currently does not support string names.
- */
-Objects_Name_or_id_lookup_errors _Objects_Id_to_name (
- Objects_Id id,
- Objects_Name *name
-);
-
-/**
- * @brief Maps object ids to object control blocks.
- *
- * This function maps object ids to object control blocks.
- * If id corresponds to a local object, then it returns
- * the_object control pointer which maps to id and location
- * is set to OBJECTS_LOCAL. If the object class supports global
- * objects and the object id is global and resides on a remote
- * node, then location is set to OBJECTS_REMOTE, and the_object
- * is undefined. Otherwise, location is set to OBJECTS_ERROR
- * and the_object is undefined.
- *
- * @param[in] information points to an object class information block.
- * @param[in] id is the Id of the object whose name we are locating.
- * @param[in] location will contain an indication of success or failure.
- *
- * @retval This method returns one of the values from the
- * @ref Objects_Name_or_id_lookup_errors enumeration to indicate
- * successful or failure. On success @a id will contain the Id of
- * the requested object.
- *
- * @note _Objects_Get returns with dispatching disabled for
- * local and remote objects. _Objects_Get_isr_disable returns with
- * dispatching disabled for remote objects and interrupts for local
- * objects.
- */
-Objects_Control *_Objects_Get (
- Objects_Information *information,
- Objects_Id id,
- Objects_Locations *location
-);
-
-/**
- * @brief Maps object ids to object control blocks.
- *
- * This function maps object ids to object control blocks.
- * If id corresponds to a local object, then it returns
- * the_object control pointer which maps to id and location
- * is set to OBJECTS_LOCAL. If the object class supports global
- * objects and the object id is global and resides on a remote
- * node, then location is set to OBJECTS_REMOTE, and the_object
- * is undefined. Otherwise, location is set to OBJECTS_ERROR
- * and the_object is undefined.
- *
- * @param[in] information points to an object class information block.
- * @param[in] id is the Id of the object whose name we are locating.
- * @param[in] location will contain an indication of success or failure.
- * @param[in] level is the interrupt level being turned.
- *
- * @retval This method returns one of the values from the
- * @ref Objects_Name_or_id_lookup_errors enumeration to indicate
- * successful or failure. On success @a name will contain the name of
- * the requested object.
- *
- * @note _Objects_Get returns with dispatching disabled for
- * local and remote objects. _Objects_Get_isr_disable returns with
- * dispatchng disabled for remote objects and interrupts for local
- * objects.
- */
-Objects_Control *_Objects_Get_isr_disable(
- Objects_Information *information,
- Objects_Id id,
- Objects_Locations *location,
- ISR_Level *level
-);
-
-/**
- * @brief Maps object ids to object control blocks.
- *
- * This function maps object ids to object control blocks.
- * If id corresponds to a local object, then it returns
- * the_object control pointer which maps to id and location
- * is set to OBJECTS_LOCAL. If the object class supports global
- * objects and the object id is global and resides on a remote
- * node, then location is set to OBJECTS_REMOTE, and the_object
- * is undefined. Otherwise, location is set to OBJECTS_ERROR
- * and the_object is undefined.
- *
- * @param[in] information points to an object class information block.
- * @param[in] id is the Id of the object whose name we are locating.
- * @param[in] location will contain an indication of success or failure.
+ * This function returns the API portion of the ID.
*
- * @retval This method returns one of the values from the
- * @ref Objects_Name_or_id_lookup_errors enumeration to indicate
- * successful or failure. On success @a id will contain the Id of
- * the requested object.
+ * @param[in] id is the object Id to be processed.
*
- * @note _Objects_Get returns with dispatching disabled for
- * local and remote objects. _Objects_Get_isr_disable returns with
- * dispatching disabled for remote objects and interrupts for local
- * objects.
+ * @return This method returns an object Id constructed from the arguments.
*/
-Objects_Control *_Objects_Get_no_protection(
- Objects_Information *information,
- Objects_Id id,
- Objects_Locations *location
-);
-
-/**
- * Like @ref _Objects_Get, but is used to find "next" open object.
- *
- * @param[in] information points to an object class information block.
- * @param[in] id is the Id of the object whose name we are locating.
- * @param[in] location_p will contain an indication of success or failure.
- * @param[in] next_id_p is the Id of the next object we will look at.
- *
- * @retval This method returns the pointer to the object located or
- * NULL on error.
- */
-Objects_Control *_Objects_Get_next(
- Objects_Information *information,
- Objects_Id id,
- Objects_Locations *location_p,
- Objects_Id *next_id_p
-);
-
-/**
- * @brief Get object information.
- *
- * This function return the information structure given
- * an the API and Class. This can be done independent of
- * the existence of any objects created by the API.
- *
- * @param[in] the_api indicates the API for the information we want
- * @param[in] the_class indicates the Class for the information we want
- *
- * @retval This method returns a pointer to the Object Information Table
- * for the class of objects which corresponds to this object ID.
- */
-Objects_Information *_Objects_Get_information(
- Objects_APIs the_api,
- uint16_t the_class
-);
-
-/**
- * @brief Get information of an object from an ID.
- *
- * This function return the information structure given
- * an @a id of an object.
- *
- * @param[in] id is the object ID to get the information from
- *
- * @retval This method returns a pointer to the Object Information Table
- * for the class of objects which corresponds to this object ID.
- */
-Objects_Information *_Objects_Get_information_id(
- Objects_Id id
-);
-
-/**
- * @brief Gets object name in the form of a C string.
- *
- * This method objects the name of an object and returns its name
- * in the form of a C string. It attempts to be careful about
- * overflowing the user's string and about returning unprintable characters.
- *
- * @param[in] id is the object to obtain the name of
- * @param[in] length indicates the length of the caller's buffer
- * @param[in] name points a string which will be filled in.
- *
- * @retval This method returns @a name or NULL on error. @a *name will
- * contain the name if successful.
- */
-char *_Objects_Get_name_as_string(
- Objects_Id id,
- size_t length,
- char *name
-);
+RTEMS_INLINE_ROUTINE Objects_APIs _Objects_Get_API(
+ Objects_Id id
+)
+{
+ return (Objects_APIs) ((id >> OBJECTS_API_START_BIT) & OBJECTS_API_VALID_BITS);
+}
/**
- * @brief Set objects name.
- *
- * This method sets the object name to either a copy of a string
- * or up to the first four characters of the string based upon
- * whether this object class uses strings for names.
- *
- * @param[in] information points to the object information structure
- * @param[in] the_object is the object to operate upon
- * @param[in] name is a pointer to the name to use
+ * This function returns the class portion of the ID.
*
- * @retval If successful, true is returned. Otherwise false is returned.
+ * @param[in] id is the object Id to be processed
*/
-bool _Objects_Set_name(
- Objects_Information *information,
- Objects_Control *the_object,
- const char *name
-);
+RTEMS_INLINE_ROUTINE uint32_t _Objects_Get_class(
+ Objects_Id id
+)
+{
+ return (uint32_t)
+ ((id >> OBJECTS_CLASS_START_BIT) & OBJECTS_CLASS_VALID_BITS);
+}
/**
- * @brief Removes object from namespace.
+ * This function returns the node portion of the ID.
*
- * This function removes @a the_object from the namespace.
+ * @param[in] id is the object Id to be processed
*
- * @param[in] information points to an Object Information Table.
- * @param[in] the_object is a pointer to an object.
+ * @return This method returns the node portion of an object ID.
*/
-void _Objects_Namespace_remove(
- Objects_Information *information,
- Objects_Control *the_object
-);
+RTEMS_INLINE_ROUTINE uint32_t _Objects_Get_node(
+ Objects_Id id
+)
+{
+ /*
+ * If using 16-bit Ids, then there is no node field and it MUST
+ * be a single processor system.
+ */
+ #if defined(RTEMS_USE_16_BIT_OBJECT)
+ return 1;
+ #else
+ return (id >> OBJECTS_NODE_START_BIT) & OBJECTS_NODE_VALID_BITS;
+ #endif
+}
/**
- * @brief Close object.
+ * This function returns the index portion of the ID.
*
- * This function removes the_object control pointer and object name
- * in the Local Pointer and Local Name Tables.
+ * @param[in] id is the Id to be processed
*
- * @param[in] information points to an Object Information Table
- * @param[in] the_object is a pointer to an object
+ * @return This method returns the class portion of the specified object ID.
*/
-void _Objects_Close(
- Objects_Information *information,
- Objects_Control *the_object
-);
+RTEMS_INLINE_ROUTINE Objects_Maximum _Objects_Get_index(
+ Objects_Id id
+)
+{
+ return
+ (Objects_Maximum)((id >> OBJECTS_INDEX_START_BIT) &
+ OBJECTS_INDEX_VALID_BITS);
+}
/**
- * @brief Returns the count of active objects.
- *
- * @param[in] information The object information table.
- *
- * @retval The count of active objects.
- */
-Objects_Maximum _Objects_Active_count(
- const Objects_Information *information
-);
-
-/*
- * Pieces of object.inl are promoted out to the user
- */
+ * This function builds an object's id from the processor node and index
+ * values specified.
+ *
+ * @param[in] the_api indicates the API associated with this Id.
+ * @param[in] the_class indicates the class of object.
+ * It is specific to @a the_api.
+ * @param[in] node is the node where this object resides.
+ * @param[in] index is the instance number of this object.
+ *
+ * @return This method returns an object Id constructed from the arguments.
+ */
+RTEMS_INLINE_ROUTINE Objects_Id _Objects_Build_id(
+ Objects_APIs the_api,
+ uint32_t the_class,
+ uint32_t node,
+ uint32_t index
+)
+{
+ return (( (Objects_Id) the_api ) << OBJECTS_API_START_BIT) |
+ (( (Objects_Id) the_class ) << OBJECTS_CLASS_START_BIT) |
+ #if !defined(RTEMS_USE_16_BIT_OBJECT)
+ (( (Objects_Id) node ) << OBJECTS_NODE_START_BIT) |
+ #endif
+ (( (Objects_Id) index ) << OBJECTS_INDEX_START_BIT);
+}
-#include <rtems/score/object.inl>
-#if defined(RTEMS_MULTIPROCESSING)
-#include <rtems/score/objectmp.h>
-#endif
+/**@}*/
+/**@}*/
+/**@}*/
#ifdef __cplusplus
}
#endif
-/**@}*/
-/**@}*/
-/**@}*/
#endif
/* end of include file */
diff --git a/cpukit/score/include/rtems/score/objectimpl.h b/cpukit/score/include/rtems/score/objectimpl.h
new file mode 100644
index 0000000000..742145387c
--- /dev/null
+++ b/cpukit/score/include/rtems/score/objectimpl.h
@@ -0,0 +1,930 @@
+/**
+ * @file
+ *
+ * @brief Inlined Routines in the Object Handler
+ *
+ * This include file contains the static inline implementation of all
+ * of the inlined routines in the Object Handler.
+ */
+
+/*
+ * COPYRIGHT (c) 1989-2011.
+ * On-Line Applications Research Corporation (OAR).
+ *
+ * The license and distribution terms for this file may be
+ * found in the file LICENSE in this distribution or at
+ * http://www.rtems.com/license/LICENSE.
+ */
+
+#ifndef _RTEMS_SCORE_OBJECTIMPL_H
+#define _RTEMS_SCORE_OBJECTIMPL_H
+
+#include <rtems/score/object.h>
+#include <rtems/score/isrlevel.h>
+#include <rtems/score/threaddispatch.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/**
+ * @addtogroup ScoreObject
+ *
+ * @{
+ */
+
+/**
+ * Functions which compare names are prototyped like this.
+ */
+typedef bool (*Objects_Name_comparators)(
+ void * /* name_1 */,
+ void * /* name_2 */,
+ uint16_t /* length */
+);
+
+/** This macro is used to generically specify the last API index. */
+#define OBJECTS_APIS_LAST OBJECTS_POSIX_API
+
+/**
+ * This enumerated type is used in the class field of the object ID
+ * for RTEMS internal object classes.
+ */
+typedef enum {
+ OBJECTS_INTERNAL_NO_CLASS = 0,
+ OBJECTS_INTERNAL_THREADS = 1,
+ OBJECTS_INTERNAL_MUTEXES = 2
+} Objects_Internal_API;
+
+/** This macro is used to generically specify the last API index. */
+#define OBJECTS_INTERNAL_CLASSES_LAST OBJECTS_INTERNAL_MUTEXES
+
+/**
+ * This enumerated type is used in the class field of the object ID
+ * for the RTEMS Classic API.
+ */
+typedef enum {
+ OBJECTS_CLASSIC_NO_CLASS = 0,
+ OBJECTS_RTEMS_TASKS = 1,
+ OBJECTS_RTEMS_TIMERS = 2,
+ OBJECTS_RTEMS_SEMAPHORES = 3,
+ OBJECTS_RTEMS_MESSAGE_QUEUES = 4,
+ OBJECTS_RTEMS_PARTITIONS = 5,
+ OBJECTS_RTEMS_REGIONS = 6,
+ OBJECTS_RTEMS_PORTS = 7,
+ OBJECTS_RTEMS_PERIODS = 8,
+ OBJECTS_RTEMS_EXTENSIONS = 9,
+ OBJECTS_RTEMS_BARRIERS = 10
+} Objects_Classic_API;
+
+/** This macro is used to generically specify the last API index. */
+#define OBJECTS_RTEMS_CLASSES_LAST OBJECTS_RTEMS_BARRIERS
+
+/**
+ * This enumerated type is used in the class field of the object ID
+ * for the POSIX API.
+ */
+typedef enum {
+ OBJECTS_POSIX_NO_CLASS = 0,
+ OBJECTS_POSIX_THREADS = 1,
+ OBJECTS_POSIX_KEYS = 2,
+ OBJECTS_POSIX_INTERRUPTS = 3,
+ OBJECTS_POSIX_MESSAGE_QUEUE_FDS = 4,
+ OBJECTS_POSIX_MESSAGE_QUEUES = 5,
+ OBJECTS_POSIX_MUTEXES = 6,
+ OBJECTS_POSIX_SEMAPHORES = 7,
+ OBJECTS_POSIX_CONDITION_VARIABLES = 8,
+ OBJECTS_POSIX_TIMERS = 9,
+ OBJECTS_POSIX_BARRIERS = 10,
+ OBJECTS_POSIX_SPINLOCKS = 11,
+ OBJECTS_POSIX_RWLOCKS = 12
+} Objects_POSIX_API;
+
+/** This macro is used to generically specify the last API index. */
+#define OBJECTS_POSIX_CLASSES_LAST OBJECTS_POSIX_RWLOCKS
+
+/**
+ * This enumerated type lists the locations which may be returned
+ * by _Objects_Get. These codes indicate the success of locating
+ * an object with the specified ID.
+ */
+typedef enum {
+#if defined(RTEMS_MULTIPROCESSING)
+ OBJECTS_REMOTE = 2, /* object is remote */
+#endif
+ OBJECTS_LOCAL = 0, /* object is local */
+ OBJECTS_ERROR = 1 /* id was invalid */
+} Objects_Locations;
+
+/**
+ * The following type defines the callout used when a local task
+ * is extracted from a remote thread queue (i.e. it's proxy must
+ * extracted from the remote queue).
+ */
+typedef void ( *Objects_Thread_queue_Extract_callout )( void * );
+
+/**
+ * The following defines the structure for the information used to
+ * manage each class of objects.
+ */
+typedef struct {
+ /** This field indicates the API of this object class. */
+ Objects_APIs the_api;
+ /** This is the class of this object set. */
+ uint16_t the_class;
+ /** This is the minimum valid id of this object class. */
+ Objects_Id minimum_id;
+ /** This is the maximum valid id of this object class. */
+ Objects_Id maximum_id;
+ /** This is the maximum number of objects in this class. */
+ Objects_Maximum maximum;
+ /** This is the true if unlimited objects in this class. */
+ bool auto_extend;
+ /** This is the number of objects in a block. */
+ Objects_Maximum allocation_size;
+ /** This is the size in bytes of each object instance. */
+ size_t size;
+ /** This points to the table of local objects. */
+ Objects_Control **local_table;
+ /** This is the chain of inactive control blocks. */
+ Chain_Control Inactive;
+ /** This is the number of objects on the Inactive list. */
+ Objects_Maximum inactive;
+ /** This is the number of inactive objects per block. */
+ uint32_t *inactive_per_block;
+ /** This is a table to the chain of inactive object memory blocks. */
+ void **object_blocks;
+ #if defined(RTEMS_SCORE_OBJECT_ENABLE_STRING_NAMES)
+ /** This is true if names are strings. */
+ bool is_string;
+ #endif
+ /** This is the maximum length of names. */
+ uint16_t name_length;
+ /** This is this object class' method called when extracting a thread. */
+ Objects_Thread_queue_Extract_callout extract;
+ #if defined(RTEMS_MULTIPROCESSING)
+ /** This is this object class' pointer to the global name table */
+ Chain_Control *global_table;
+ #endif
+} Objects_Information;
+
+/**
+ * The following is referenced to the node number of the local node.
+ */
+#if defined(RTEMS_MULTIPROCESSING)
+SCORE_EXTERN uint16_t _Objects_Local_node;
+#else
+#define _Objects_Local_node ((uint16_t)1)
+#endif
+
+/**
+ * The following is referenced to the number of nodes in the system.
+ */
+#if defined(RTEMS_MULTIPROCESSING)
+SCORE_EXTERN uint16_t _Objects_Maximum_nodes;
+#else
+#define _Objects_Maximum_nodes 1
+#endif
+
+/**
+ * The following is the list of information blocks per API for each object
+ * class. From the ID, we can go to one of these information blocks,
+ * and obtain a pointer to the appropriate object control block.
+ */
+SCORE_EXTERN Objects_Information
+ **_Objects_Information_table[OBJECTS_APIS_LAST + 1];
+
+/**
+ * This function extends an object class information record.
+ *
+ * @param[in] information points to an object class information block.
+ */
+void _Objects_Extend_information(
+ Objects_Information *information
+);
+
+/**
+ * @brief Shrink an object class information record
+ *
+ * This function shrink an object class information record.
+ * The object's name and object space are released. The local_table
+ * etc block does not shrink. The InActive list needs to be scanned
+ * to find the objects are remove them.
+ *
+ * @param[in] information points to an object class information block.
+ */
+void _Objects_Shrink_information(
+ Objects_Information *information
+);
+
+/**
+ * @brief Initialize object Information
+ *
+ * This function initializes an object class information record.
+ * SUPPORTS_GLOBAL is true if the object class supports global
+ * objects, and false otherwise. Maximum indicates the number
+ * of objects required in this class and size indicates the size
+ * in bytes of each control block for this object class. The
+ * name length and string designator are also set. In addition,
+ * the class may be a task, therefore this information is also included.
+ *
+ * @param[in] information points to an object class information block.
+ * @param[in] the_api indicates the API associated with this information block.
+ * @param[in] the_class indicates the class of object being managed
+ * by this information block. It is specific to @a the_api.
+ * @param[in] maximum is the maximum number of instances of this object
+ * class which may be concurrently active.
+ * @param[in] size is the size of the data structure for this class.
+ * @param[in] is_string is true if this object uses string style names.
+ * @param[in] maximum_name_length is the maximum length of object names.
+ */
+void _Objects_Initialize_information (
+ Objects_Information *information,
+ Objects_APIs the_api,
+ uint16_t the_class,
+ uint32_t maximum,
+ uint16_t size,
+ bool is_string,
+ uint32_t maximum_name_length
+#if defined(RTEMS_MULTIPROCESSING)
+ ,
+ bool supports_global,
+ Objects_Thread_queue_Extract_callout extract
+#endif
+);
+
+/**
+ * @brief Object API Maximum Class
+ *
+ * This function returns the highest numeric value of a valid
+ * API for the specified @a api.
+ *
+ * @param[in] api is the API of interest
+ *
+ * @retval A positive integer on success and 0 otherwise.
+ */
+unsigned int _Objects_API_maximum_class(
+ uint32_t api
+);
+
+/**
+ * @brief Allocate an object.
+ *
+ * This function allocates an object control block from
+ * the inactive chain of free object control blocks.
+ *
+ * @param[in] information points to an object class information block.
+ */
+Objects_Control *_Objects_Allocate(
+ Objects_Information *information
+);
+
+/**
+ * @brief Free an object.
+ *
+ * This function frees an object control block to the
+ * inactive chain of free object control blocks.
+ *
+ * @param[in] information points to an object class information block.
+ * @param[in] the_object points to the object to deallocate.
+ */
+void _Objects_Free(
+ Objects_Information *information,
+ Objects_Control *the_object
+);
+
+/**
+ * This function implements the common portion of the object
+ * identification directives. This directive returns the object
+ * id associated with name. If more than one object of this class
+ * is named name, then the object to which the id belongs is
+ * arbitrary. Node indicates the extent of the search for the
+ * id of the object named name. If the object class supports global
+ * objects, then the search can be limited to a particular node
+ * or allowed to encompass all nodes.
+ */
+typedef enum {
+ OBJECTS_NAME_OR_ID_LOOKUP_SUCCESSFUL,
+ OBJECTS_INVALID_NAME,
+ OBJECTS_INVALID_ADDRESS,
+ OBJECTS_INVALID_ID,
+ OBJECTS_INVALID_NODE
+} Objects_Name_or_id_lookup_errors;
+
+/**
+ * This macro defines the first entry in the
+ * @ref Objects_Name_or_id_lookup_errors enumerated list.
+ */
+#define OBJECTS_NAME_ERRORS_FIRST OBJECTS_NAME_OR_ID_LOOKUP_SUCCESSFUL
+
+/**
+ * This macro defines the last entry in the
+ * @ref Objects_Name_or_id_lookup_errors enumerated list.
+ */
+#define OBJECTS_NAME_ERRORS_LAST OBJECTS_INVALID_NODE
+
+/**
+ * @brief Converts an object name to an Id.
+ *
+ * This method converts an object name to an Id. It performs a look up
+ * using the object information block for this object class.
+ *
+ * @param[in] information points to an object class information block.
+ * @param[in] name is the name of the object to find.
+ * @param[in] node is the set of nodes to search.
+ * @param[in] id will contain the Id if the search is successful.
+ *
+ * @retval This method returns one of the values from the
+ * @ref Objects_Name_or_id_lookup_errors enumeration to indicate
+ * successful or failure. On success @a id will contain the Id of
+ * the requested object.
+ */
+Objects_Name_or_id_lookup_errors _Objects_Name_to_id_u32(
+ Objects_Information *information,
+ uint32_t name,
+ uint32_t node,
+ Objects_Id *id
+);
+
+#if defined(RTEMS_SCORE_OBJECT_ENABLE_STRING_NAMES)
+/**
+ * @brief Converts an object name to an Id.
+ *
+ * This method converts an object name to an Id. It performs a look up
+ * using the object information block for this object class.
+ *
+ * @param[in] information points to an object class information block.
+ * @param[in] name is the name of the object to find.
+ * @param[in] id will contain the Id if the search is successful.
+ *
+ * @retval This method returns one of the values from the
+ * @ref Objects_Name_or_id_lookup_errors enumeration to indicate
+ * successful or failure. On success @a id will contain the Id of
+ * the requested object.
+ */
+Objects_Name_or_id_lookup_errors _Objects_Name_to_id_string(
+ Objects_Information *information,
+ const char *name,
+ Objects_Id *id
+);
+#endif
+
+/**
+ * @brief Implements the common portion of the object Id to name directives.
+ *
+ * This function implements the common portion of the object Id
+ * to name directives. This function returns the name
+ * associated with object id.
+ *
+ * @param[in] id is the Id of the object whose name we are locating.
+ * @param[in] name will contain the name of the object, if found.
+ *
+ * @retval This method returns one of the values from the
+ * @ref Objects_Name_or_id_lookup_errors enumeration to indicate
+ * successful or failure. On success @a name will contain the name of
+ * the requested object.
+ *
+ * @note This function currently does not support string names.
+ */
+Objects_Name_or_id_lookup_errors _Objects_Id_to_name (
+ Objects_Id id,
+ Objects_Name *name
+);
+
+/**
+ * @brief Maps object ids to object control blocks.
+ *
+ * This function maps object ids to object control blocks.
+ * If id corresponds to a local object, then it returns
+ * the_object control pointer which maps to id and location
+ * is set to OBJECTS_LOCAL. If the object class supports global
+ * objects and the object id is global and resides on a remote
+ * node, then location is set to OBJECTS_REMOTE, and the_object
+ * is undefined. Otherwise, location is set to OBJECTS_ERROR
+ * and the_object is undefined.
+ *
+ * @param[in] information points to an object class information block.
+ * @param[in] id is the Id of the object whose name we are locating.
+ * @param[in] location will contain an indication of success or failure.
+ *
+ * @retval This method returns one of the values from the
+ * @ref Objects_Name_or_id_lookup_errors enumeration to indicate
+ * successful or failure. On success @a id will contain the Id of
+ * the requested object.
+ *
+ * @note _Objects_Get returns with dispatching disabled for
+ * local and remote objects. _Objects_Get_isr_disable returns with
+ * dispatching disabled for remote objects and interrupts for local
+ * objects.
+ */
+Objects_Control *_Objects_Get (
+ Objects_Information *information,
+ Objects_Id id,
+ Objects_Locations *location
+);
+
+/**
+ * @brief Maps object ids to object control blocks.
+ *
+ * This function maps object ids to object control blocks.
+ * If id corresponds to a local object, then it returns
+ * the_object control pointer which maps to id and location
+ * is set to OBJECTS_LOCAL. If the object class supports global
+ * objects and the object id is global and resides on a remote
+ * node, then location is set to OBJECTS_REMOTE, and the_object
+ * is undefined. Otherwise, location is set to OBJECTS_ERROR
+ * and the_object is undefined.
+ *
+ * @param[in] information points to an object class information block.
+ * @param[in] id is the Id of the object whose name we are locating.
+ * @param[in] location will contain an indication of success or failure.
+ * @param[in] level is the interrupt level being turned.
+ *
+ * @retval This method returns one of the values from the
+ * @ref Objects_Name_or_id_lookup_errors enumeration to indicate
+ * successful or failure. On success @a name will contain the name of
+ * the requested object.
+ *
+ * @note _Objects_Get returns with dispatching disabled for
+ * local and remote objects. _Objects_Get_isr_disable returns with
+ * dispatchng disabled for remote objects and interrupts for local
+ * objects.
+ */
+Objects_Control *_Objects_Get_isr_disable(
+ Objects_Information *information,
+ Objects_Id id,
+ Objects_Locations *location,
+ ISR_Level *level
+);
+
+/**
+ * @brief Maps object ids to object control blocks.
+ *
+ * This function maps object ids to object control blocks.
+ * If id corresponds to a local object, then it returns
+ * the_object control pointer which maps to id and location
+ * is set to OBJECTS_LOCAL. If the object class supports global
+ * objects and the object id is global and resides on a remote
+ * node, then location is set to OBJECTS_REMOTE, and the_object
+ * is undefined. Otherwise, location is set to OBJECTS_ERROR
+ * and the_object is undefined.
+ *
+ * @param[in] information points to an object class information block.
+ * @param[in] id is the Id of the object whose name we are locating.
+ * @param[in] location will contain an indication of success or failure.
+ *
+ * @retval This method returns one of the values from the
+ * @ref Objects_Name_or_id_lookup_errors enumeration to indicate
+ * successful or failure. On success @a id will contain the Id of
+ * the requested object.
+ *
+ * @note _Objects_Get returns with dispatching disabled for
+ * local and remote objects. _Objects_Get_isr_disable returns with
+ * dispatching disabled for remote objects and interrupts for local
+ * objects.
+ */
+Objects_Control *_Objects_Get_no_protection(
+ Objects_Information *information,
+ Objects_Id id,
+ Objects_Locations *location
+);
+
+/**
+ * Like @ref _Objects_Get, but is used to find "next" open object.
+ *
+ * @param[in] information points to an object class information block.
+ * @param[in] id is the Id of the object whose name we are locating.
+ * @param[in] location_p will contain an indication of success or failure.
+ * @param[in] next_id_p is the Id of the next object we will look at.
+ *
+ * @retval This method returns the pointer to the object located or
+ * NULL on error.
+ */
+Objects_Control *_Objects_Get_next(
+ Objects_Information *information,
+ Objects_Id id,
+ Objects_Locations *location_p,
+ Objects_Id *next_id_p
+);
+
+/**
+ * @brief Get object information.
+ *
+ * This function return the information structure given
+ * an the API and Class. This can be done independent of
+ * the existence of any objects created by the API.
+ *
+ * @param[in] the_api indicates the API for the information we want
+ * @param[in] the_class indicates the Class for the information we want
+ *
+ * @retval This method returns a pointer to the Object Information Table
+ * for the class of objects which corresponds to this object ID.
+ */
+Objects_Information *_Objects_Get_information(
+ Objects_APIs the_api,
+ uint16_t the_class
+);
+
+/**
+ * @brief Get information of an object from an ID.
+ *
+ * This function return the information structure given
+ * an @a id of an object.
+ *
+ * @param[in] id is the object ID to get the information from
+ *
+ * @retval This method returns a pointer to the Object Information Table
+ * for the class of objects which corresponds to this object ID.
+ */
+Objects_Information *_Objects_Get_information_id(
+ Objects_Id id
+);
+
+/**
+ * @brief Gets object name in the form of a C string.
+ *
+ * This method objects the name of an object and returns its name
+ * in the form of a C string. It attempts to be careful about
+ * overflowing the user's string and about returning unprintable characters.
+ *
+ * @param[in] id is the object to obtain the name of
+ * @param[in] length indicates the length of the caller's buffer
+ * @param[in] name points a string which will be filled in.
+ *
+ * @retval This method returns @a name or NULL on error. @a *name will
+ * contain the name if successful.
+ */
+char *_Objects_Get_name_as_string(
+ Objects_Id id,
+ size_t length,
+ char *name
+);
+
+/**
+ * @brief Set objects name.
+ *
+ * This method sets the object name to either a copy of a string
+ * or up to the first four characters of the string based upon
+ * whether this object class uses strings for names.
+ *
+ * @param[in] information points to the object information structure
+ * @param[in] the_object is the object to operate upon
+ * @param[in] name is a pointer to the name to use
+ *
+ * @retval If successful, true is returned. Otherwise false is returned.
+ */
+bool _Objects_Set_name(
+ Objects_Information *information,
+ Objects_Control *the_object,
+ const char *name
+);
+
+/**
+ * @brief Removes object from namespace.
+ *
+ * This function removes @a the_object from the namespace.
+ *
+ * @param[in] information points to an Object Information Table.
+ * @param[in] the_object is a pointer to an object.
+ */
+void _Objects_Namespace_remove(
+ Objects_Information *information,
+ Objects_Control *the_object
+);
+
+/**
+ * @brief Close object.
+ *
+ * This function removes the_object control pointer and object name
+ * in the Local Pointer and Local Name Tables.
+ *
+ * @param[in] information points to an Object Information Table
+ * @param[in] the_object is a pointer to an object
+ */
+void _Objects_Close(
+ Objects_Information *information,
+ Objects_Control *the_object
+);
+
+/**
+ * @brief Returns the count of active objects.
+ *
+ * @param[in] information The object information table.
+ *
+ * @retval The count of active objects.
+ */
+Objects_Maximum _Objects_Active_count(
+ const Objects_Information *information
+);
+
+/**
+ * This function returns true if the api is valid.
+ *
+ * @param[in] the_api is the api portion of an object ID.
+ *
+ * @return This method returns true if the specified api value is valid
+ * and false otherwise.
+ */
+RTEMS_INLINE_ROUTINE bool _Objects_Is_api_valid(
+ uint32_t the_api
+)
+{
+ if ( !the_api || the_api > OBJECTS_APIS_LAST )
+ return false;
+ return true;
+}
+
+/**
+ * This function returns true if the node is of the local object, and
+ * false otherwise.
+ *
+ * @param[in] node is the node number and corresponds to the node number
+ * portion of an object ID.
+ *
+ * @return This method returns true if the specified node is the local node
+ * and false otherwise.
+ */
+RTEMS_INLINE_ROUTINE bool _Objects_Is_local_node(
+ uint32_t node
+)
+{
+ return ( node == _Objects_Local_node );
+}
+
+/**
+ * This function returns true if the id is of a local object, and
+ * false otherwise.
+ *
+ * @param[in] id is an object ID
+ *
+ * @return This method returns true if the specified object Id is local
+ * and false otherwise.
+ *
+ * @note On a single processor configuration, this always returns true.
+ */
+RTEMS_INLINE_ROUTINE bool _Objects_Is_local_id(
+#if defined(RTEMS_MULTIPROCESSING)
+ Objects_Id id
+#else
+ Objects_Id id __attribute__((unused))
+#endif
+)
+{
+#if defined(RTEMS_MULTIPROCESSING)
+ return _Objects_Is_local_node( _Objects_Get_node(id) );
+#else
+ return true;
+#endif
+}
+
+/**
+ * This function returns true if left and right are equal,
+ * and false otherwise.
+ *
+ * @param[in] left is the Id on the left hand side of the comparison
+ * @param[in] right is the Id on the right hand side of the comparison
+ *
+ * @return This method returns true if the specified object IDs are equal
+ * and false otherwise.
+ */
+RTEMS_INLINE_ROUTINE bool _Objects_Are_ids_equal(
+ Objects_Id left,
+ Objects_Id right
+)
+{
+ return ( left == right );
+}
+
+/**
+ * This function returns a pointer to the local_table object
+ * referenced by the index.
+ *
+ * @param[in] information points to an Object Information Table
+ * @param[in] index is the index of the object the caller wants to access
+ *
+ * @return This method returns a pointer to a local object or NULL if the
+ * index is invalid and RTEMS_DEBUG is enabled.
+ */
+RTEMS_INLINE_ROUTINE Objects_Control *_Objects_Get_local_object(
+ Objects_Information *information,
+ uint16_t index
+)
+{
+ /*
+ * This routine is ONLY to be called from places in the code
+ * where the Id is known to be good. Therefore, this should NOT
+ * occur in normal situations.
+ */
+ #if defined(RTEMS_DEBUG)
+ if ( index > information->maximum )
+ return NULL;
+ #endif
+ return information->local_table[ index ];
+}
+
+/**
+ * This function sets the pointer to the local_table object
+ * referenced by the index.
+ *
+ * @param[in] information points to an Object Information Table
+ * @param[in] index is the index of the object the caller wants to access
+ * @param[in] the_object is the local object pointer
+ *
+ * @note This routine is ONLY to be called in places where the
+ * index portion of the Id is known to be good. This is
+ * OK since it is normally called from object create/init
+ * or delete/destroy operations.
+ */
+
+RTEMS_INLINE_ROUTINE void _Objects_Set_local_object(
+ Objects_Information *information,
+ uint32_t index,
+ Objects_Control *the_object
+)
+{
+ /*
+ * This routine is ONLY to be called from places in the code
+ * where the Id is known to be good. Therefore, this should NOT
+ * occur in normal situations.
+ */
+ #if defined(RTEMS_DEBUG)
+ if ( index > information->maximum )
+ return;
+ #endif
+
+ information->local_table[ index ] = the_object;
+}
+
+/**
+ * This function sets the pointer to the local_table object
+ * referenced by the index to a NULL so the object Id is invalid
+ * after this call.
+ *
+ * @param[in] information points to an Object Information Table
+ * @param[in] the_object is the local object pointer
+ *
+ * @note This routine is ONLY to be called in places where the
+ * index portion of the Id is known to be good. This is
+ * OK since it is normally called from object create/init
+ * or delete/destroy operations.
+ */
+
+RTEMS_INLINE_ROUTINE void _Objects_Invalidate_Id(
+ Objects_Information *information,
+ Objects_Control *the_object
+)
+{
+ _Objects_Set_local_object(
+ information,
+ _Objects_Get_index( the_object->id ),
+ NULL
+ );
+}
+
+/**
+ * This function places the_object control pointer and object name
+ * in the Local Pointer and Local Name Tables, respectively.
+ *
+ * @param[in] information points to an Object Information Table
+ * @param[in] the_object is a pointer to an object
+ * @param[in] name is the name of the object to make accessible
+ */
+RTEMS_INLINE_ROUTINE void _Objects_Open(
+ Objects_Information *information,
+ Objects_Control *the_object,
+ Objects_Name name
+)
+{
+ _Objects_Set_local_object(
+ information,
+ _Objects_Get_index( the_object->id ),
+ the_object
+ );
+
+ the_object->name = name;
+}
+
+/**
+ * This function places the_object control pointer and object name
+ * in the Local Pointer and Local Name Tables, respectively.
+ *
+ * @param[in] information points to an Object Information Table
+ * @param[in] the_object is a pointer to an object
+ * @param[in] name is the name of the object to make accessible
+ */
+RTEMS_INLINE_ROUTINE void _Objects_Open_u32(
+ Objects_Information *information,
+ Objects_Control *the_object,
+ uint32_t name
+)
+{
+ _Objects_Set_local_object(
+ information,
+ _Objects_Get_index( the_object->id ),
+ the_object
+ );
+
+ /* ASSERT: information->is_string == false */
+ the_object->name.name_u32 = name;
+}
+
+/**
+ * This function places the_object control pointer and object name
+ * in the Local Pointer and Local Name Tables, respectively.
+ *
+ * @param[in] information points to an Object Information Table
+ * @param[in] the_object is a pointer to an object
+ * @param[in] name is the name of the object to make accessible
+ */
+RTEMS_INLINE_ROUTINE void _Objects_Open_string(
+ Objects_Information *information,
+ Objects_Control *the_object,
+ const char *name
+)
+{
+ _Objects_Set_local_object(
+ information,
+ _Objects_Get_index( the_object->id ),
+ the_object
+ );
+
+ #if defined(RTEMS_SCORE_OBJECT_ENABLE_STRING_NAMES)
+ /* ASSERT: information->is_string */
+ the_object->name.name_p = name;
+ #endif
+}
+
+/**
+ * Returns if the object maximum specifies unlimited objects.
+ *
+ * @param[in] maximum The object maximum specification.
+ *
+ * @retval true Unlimited objects are available.
+ * @retval false The object count is fixed.
+ */
+RTEMS_INLINE_ROUTINE bool _Objects_Is_unlimited( uint32_t maximum )
+{
+ return (maximum & OBJECTS_UNLIMITED_OBJECTS) != 0;
+}
+
+/*
+ * We cannot use an inline function for this since it may be evaluated at
+ * compile time.
+ */
+#define _Objects_Maximum_per_allocation( maximum ) \
+ ((Objects_Maximum) ((maximum) & ~OBJECTS_UNLIMITED_OBJECTS))
+
+/**
+ * @brief Puts back an object obtained with _Objects_Get().
+ *
+ * This function decrements the thread dispatch disable level. The
+ * _Thread_Dispatch() is called if the level reaches zero.
+ */
+RTEMS_INLINE_ROUTINE void _Objects_Put(
+ Objects_Control *the_object
+)
+{
+ (void) the_object;
+ _Thread_Enable_dispatch();
+}
+
+/**
+ * @brief Puts back an object obtained with _Objects_Get().
+ *
+ * This function decrements the thread dispatch disable level. The
+ * _Thread_Dispatch() is not called if the level reaches zero, thus a thread
+ * dispatch will not take place immediately on the current processor.
+ */
+RTEMS_INLINE_ROUTINE void _Objects_Put_without_thread_dispatch(
+ Objects_Control *the_object
+)
+{
+ (void) the_object;
+ _Thread_Unnest_dispatch();
+}
+
+/**
+ * @brief Puts back an object obtained with _Objects_Get_isr_disable().
+ */
+RTEMS_INLINE_ROUTINE void _Objects_Put_for_get_isr_disable(
+ Objects_Control *the_object
+)
+{
+ (void) the_object;
+#if defined(RTEMS_SMP)
+ _Thread_Enable_dispatch();
+#endif
+}
+
+/** @} */
+
+#ifdef __cplusplus
+}
+#endif
+
+#if defined(RTEMS_MULTIPROCESSING)
+#include <rtems/score/objectmp.h>
+#endif
+
+
+#endif
+/* end of include file */
diff --git a/cpukit/score/include/rtems/score/schedulerpriorityimpl.h b/cpukit/score/include/rtems/score/schedulerpriorityimpl.h
index 6215015102..8a8917ca1b 100644
--- a/cpukit/score/include/rtems/score/schedulerpriorityimpl.h
+++ b/cpukit/score/include/rtems/score/schedulerpriorityimpl.h
@@ -23,6 +23,7 @@
#include <rtems/score/schedulerpriority.h>
#include <rtems/score/chainimpl.h>
#include <rtems/score/prioritybitmapimpl.h>
+#include <rtems/score/thread.h>
#include <rtems/score/wkspace.h>
#ifdef __cplusplus
diff --git a/cpukit/score/include/rtems/score/threadimpl.h b/cpukit/score/include/rtems/score/threadimpl.h
index 339ccd806e..0496a7a802 100644
--- a/cpukit/score/include/rtems/score/threadimpl.h
+++ b/cpukit/score/include/rtems/score/threadimpl.h
@@ -20,6 +20,7 @@
#define _RTEMS_SCORE_THREADIMPL_H
#include <rtems/score/thread.h>
+#include <rtems/score/objectimpl.h>
#include <rtems/score/statesimpl.h>
#ifdef __cplusplus
diff --git a/cpukit/score/inline/rtems/score/object.inl b/cpukit/score/inline/rtems/score/object.inl
deleted file mode 100644
index bab5f984e3..0000000000
--- a/cpukit/score/inline/rtems/score/object.inl
+++ /dev/null
@@ -1,421 +0,0 @@
-/**
- * @file
- *
- * @brief Inlined Routines in the Object Handler
- *
- * This include file contains the static inline implementation of all
- * of the inlined routines in the Object Handler.
- */
-
-/*
- * COPYRIGHT (c) 1989-2011.
- * On-Line Applications Research Corporation (OAR).
- *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.com/license/LICENSE.
- */
-
-#ifndef _RTEMS_SCORE_OBJECT_H
-# error "Never use <rtems/score/object.inl> directly; include <rtems/score/object.h> instead."
-#endif
-
-#ifndef _RTEMS_SCORE_OBJECT_INL
-#define _RTEMS_SCORE_OBJECT_INL
-
-#include <rtems/score/threaddispatch.h>
-
-/**
- * This function builds an object's id from the processor node and index
- * values specified.
- *
- * @param[in] the_api indicates the API associated with this Id.
- * @param[in] the_class indicates the class of object.
- * It is specific to @a the_api.
- * @param[in] node is the node where this object resides.
- * @param[in] index is the instance number of this object.
- *
- * @return This method returns an object Id constructed from the arguments.
- */
-RTEMS_INLINE_ROUTINE Objects_Id _Objects_Build_id(
- Objects_APIs the_api,
- uint32_t the_class,
- uint32_t node,
- uint32_t index
-)
-{
- return (( (Objects_Id) the_api ) << OBJECTS_API_START_BIT) |
- (( (Objects_Id) the_class ) << OBJECTS_CLASS_START_BIT) |
- #if !defined(RTEMS_USE_16_BIT_OBJECT)
- (( (Objects_Id) node ) << OBJECTS_NODE_START_BIT) |
- #endif
- (( (Objects_Id) index ) << OBJECTS_INDEX_START_BIT);
-}
-
-/**
- * This function returns the API portion of the ID.
- *
- * @param[in] id is the object Id to be processed.
- *
- * @return This method returns an object Id constructed from the arguments.
- */
-RTEMS_INLINE_ROUTINE Objects_APIs _Objects_Get_API(
- Objects_Id id
-)
-{
- return (Objects_APIs) ((id >> OBJECTS_API_START_BIT) & OBJECTS_API_VALID_BITS);
-}
-
-/**
- * This function returns the class portion of the ID.
- *
- * @param[in] id is the object Id to be processed
- */
-RTEMS_INLINE_ROUTINE uint32_t _Objects_Get_class(
- Objects_Id id
-)
-{
- return (uint32_t)
- ((id >> OBJECTS_CLASS_START_BIT) & OBJECTS_CLASS_VALID_BITS);
-}
-
-/**
- * This function returns the node portion of the ID.
- *
- * @param[in] id is the object Id to be processed
- *
- * @return This method returns the node portion of an object ID.
- */
-RTEMS_INLINE_ROUTINE uint32_t _Objects_Get_node(
- Objects_Id id
-)
-{
- /*
- * If using 16-bit Ids, then there is no node field and it MUST
- * be a single processor system.
- */
- #if defined(RTEMS_USE_16_BIT_OBJECT)
- return 1;
- #else
- return (id >> OBJECTS_NODE_START_BIT) & OBJECTS_NODE_VALID_BITS;
- #endif
-}
-
-/**
- * This function returns the index portion of the ID.
- *
- * @param[in] id is the Id to be processed
- *
- * @return This method returns the class portion of the specified object ID.
- */
-RTEMS_INLINE_ROUTINE Objects_Maximum _Objects_Get_index(
- Objects_Id id
-)
-{
- return
- (Objects_Maximum)((id >> OBJECTS_INDEX_START_BIT) &
- OBJECTS_INDEX_VALID_BITS);
-}
-
-/**
- * This function returns true if the api is valid.
- *
- * @param[in] the_api is the api portion of an object ID.
- *
- * @return This method returns true if the specified api value is valid
- * and false otherwise.
- */
-RTEMS_INLINE_ROUTINE bool _Objects_Is_api_valid(
- uint32_t the_api
-)
-{
- if ( !the_api || the_api > OBJECTS_APIS_LAST )
- return false;
- return true;
-}
-
-/**
- * This function returns true if the node is of the local object, and
- * false otherwise.
- *
- * @param[in] node is the node number and corresponds to the node number
- * portion of an object ID.
- *
- * @return This method returns true if the specified node is the local node
- * and false otherwise.
- */
-RTEMS_INLINE_ROUTINE bool _Objects_Is_local_node(
- uint32_t node
-)
-{
- return ( node == _Objects_Local_node );
-}
-
-/**
- * This function returns true if the id is of a local object, and
- * false otherwise.
- *
- * @param[in] id is an object ID
- *
- * @return This method returns true if the specified object Id is local
- * and false otherwise.
- *
- * @note On a single processor configuration, this always returns true.
- */
-RTEMS_INLINE_ROUTINE bool _Objects_Is_local_id(
-#if defined(RTEMS_MULTIPROCESSING)
- Objects_Id id
-#else
- Objects_Id id __attribute__((unused))
-#endif
-)
-{
-#if defined(RTEMS_MULTIPROCESSING)
- return _Objects_Is_local_node( _Objects_Get_node(id) );
-#else
- return true;
-#endif
-}
-
-/**
- * This function returns true if left and right are equal,
- * and false otherwise.
- *
- * @param[in] left is the Id on the left hand side of the comparison
- * @param[in] right is the Id on the right hand side of the comparison
- *
- * @return This method returns true if the specified object IDs are equal
- * and false otherwise.
- */
-RTEMS_INLINE_ROUTINE bool _Objects_Are_ids_equal(
- Objects_Id left,
- Objects_Id right
-)
-{
- return ( left == right );
-}
-
-/**
- * This function returns a pointer to the local_table object
- * referenced by the index.
- *
- * @param[in] information points to an Object Information Table
- * @param[in] index is the index of the object the caller wants to access
- *
- * @return This method returns a pointer to a local object or NULL if the
- * index is invalid and RTEMS_DEBUG is enabled.
- */
-RTEMS_INLINE_ROUTINE Objects_Control *_Objects_Get_local_object(
- Objects_Information *information,
- uint16_t index
-)
-{
- /*
- * This routine is ONLY to be called from places in the code
- * where the Id is known to be good. Therefore, this should NOT
- * occur in normal situations.
- */
- #if defined(RTEMS_DEBUG)
- if ( index > information->maximum )
- return NULL;
- #endif
- return information->local_table[ index ];
-}
-
-/**
- * This function sets the pointer to the local_table object
- * referenced by the index.
- *
- * @param[in] information points to an Object Information Table
- * @param[in] index is the index of the object the caller wants to access
- * @param[in] the_object is the local object pointer
- *
- * @note This routine is ONLY to be called in places where the
- * index portion of the Id is known to be good. This is
- * OK since it is normally called from object create/init
- * or delete/destroy operations.
- */
-
-RTEMS_INLINE_ROUTINE void _Objects_Set_local_object(
- Objects_Information *information,
- uint32_t index,
- Objects_Control *the_object
-)
-{
- /*
- * This routine is ONLY to be called from places in the code
- * where the Id is known to be good. Therefore, this should NOT
- * occur in normal situations.
- */
- #if defined(RTEMS_DEBUG)
- if ( index > information->maximum )
- return;
- #endif
-
- information->local_table[ index ] = the_object;
-}
-
-/**
- * This function sets the pointer to the local_table object
- * referenced by the index to a NULL so the object Id is invalid
- * after this call.
- *
- * @param[in] information points to an Object Information Table
- * @param[in] the_object is the local object pointer
- *
- * @note This routine is ONLY to be called in places where the
- * index portion of the Id is known to be good. This is
- * OK since it is normally called from object create/init
- * or delete/destroy operations.
- */
-
-RTEMS_INLINE_ROUTINE void _Objects_Invalidate_Id(
- Objects_Information *information,
- Objects_Control *the_object
-)
-{
- _Objects_Set_local_object(
- information,
- _Objects_Get_index( the_object->id ),
- NULL
- );
-}
-
-/**
- * This function places the_object control pointer and object name
- * in the Local Pointer and Local Name Tables, respectively.
- *
- * @param[in] information points to an Object Information Table
- * @param[in] the_object is a pointer to an object
- * @param[in] name is the name of the object to make accessible
- */
-RTEMS_INLINE_ROUTINE void _Objects_Open(
- Objects_Information *information,
- Objects_Control *the_object,
- Objects_Name name
-)
-{
- _Objects_Set_local_object(
- information,
- _Objects_Get_index( the_object->id ),
- the_object
- );
-
- the_object->name = name;
-}
-
-/**
- * This function places the_object control pointer and object name
- * in the Local Pointer and Local Name Tables, respectively.
- *
- * @param[in] information points to an Object Information Table
- * @param[in] the_object is a pointer to an object
- * @param[in] name is the name of the object to make accessible
- */
-RTEMS_INLINE_ROUTINE void _Objects_Open_u32(
- Objects_Information *information,
- Objects_Control *the_object,
- uint32_t name
-)
-{
- _Objects_Set_local_object(
- information,
- _Objects_Get_index( the_object->id ),
- the_object
- );
-
- /* ASSERT: information->is_string == false */
- the_object->name.name_u32 = name;
-}
-
-/**
- * This function places the_object control pointer and object name
- * in the Local Pointer and Local Name Tables, respectively.
- *
- * @param[in] information points to an Object Information Table
- * @param[in] the_object is a pointer to an object
- * @param[in] name is the name of the object to make accessible
- */
-RTEMS_INLINE_ROUTINE void _Objects_Open_string(
- Objects_Information *information,
- Objects_Control *the_object,
- const char *name
-)
-{
- _Objects_Set_local_object(
- information,
- _Objects_Get_index( the_object->id ),
- the_object
- );
-
- #if defined(RTEMS_SCORE_OBJECT_ENABLE_STRING_NAMES)
- /* ASSERT: information->is_string */
- the_object->name.name_p = name;
- #endif
-}
-
-/**
- * Returns if the object maximum specifies unlimited objects.
- *
- * @param[in] maximum The object maximum specification.
- *
- * @retval true Unlimited objects are available.
- * @retval false The object count is fixed.
- */
-RTEMS_INLINE_ROUTINE bool _Objects_Is_unlimited( uint32_t maximum )
-{
- return (maximum & OBJECTS_UNLIMITED_OBJECTS) != 0;
-}
-
-/*
- * We cannot use an inline function for this since it may be evaluated at
- * compile time.
- */
-#define _Objects_Maximum_per_allocation( maximum ) \
- ((Objects_Maximum) ((maximum) & ~OBJECTS_UNLIMITED_OBJECTS))
-
-#endif
-
-/**
- * @brief Puts back an object obtained with _Objects_Get().
- *
- * This function decrements the thread dispatch disable level. The
- * _Thread_Dispatch() is called if the level reaches zero.
- */
-RTEMS_INLINE_ROUTINE void _Objects_Put(
- Objects_Control *the_object
-)
-{
- (void) the_object;
- _Thread_Enable_dispatch();
-}
-
-/**
- * @brief Puts back an object obtained with _Objects_Get().
- *
- * This function decrements the thread dispatch disable level. The
- * _Thread_Dispatch() is not called if the level reaches zero, thus a thread
- * dispatch will not take place immediately on the current processor.
- */
-RTEMS_INLINE_ROUTINE void _Objects_Put_without_thread_dispatch(
- Objects_Control *the_object
-)
-{
- (void) the_object;
- _Thread_Unnest_dispatch();
-}
-
-/**
- * @brief Puts back an object obtained with _Objects_Get_isr_disable().
- */
-RTEMS_INLINE_ROUTINE void _Objects_Put_for_get_isr_disable(
- Objects_Control *the_object
-)
-{
- (void) the_object;
-#if defined(RTEMS_SMP)
- _Thread_Enable_dispatch();
-#endif
-}
-
-/* end of include file */
diff --git a/cpukit/score/preinstall.am b/cpukit/score/preinstall.am
index 2ba6c86f73..42e2dbf828 100644
--- a/cpukit/score/preinstall.am
+++ b/cpukit/score/preinstall.am
@@ -131,6 +131,10 @@ $(PROJECT_INCLUDE)/rtems/score/object.h: include/rtems/score/object.h $(PROJECT_
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/score/object.h
PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/score/object.h
+$(PROJECT_INCLUDE)/rtems/score/objectimpl.h: include/rtems/score/objectimpl.h $(PROJECT_INCLUDE)/rtems/score/$(dirstamp)
+ $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/score/objectimpl.h
+PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/score/objectimpl.h
+
$(PROJECT_INCLUDE)/rtems/score/percpu.h: include/rtems/score/percpu.h $(PROJECT_INCLUDE)/rtems/score/$(dirstamp)
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/score/percpu.h
PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/score/percpu.h
@@ -335,10 +339,6 @@ $(PROJECT_INCLUDE)/rtems/score/schedulersimplesmp.h: include/rtems/score/schedul
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/score/schedulersimplesmp.h
PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/score/schedulersimplesmp.h
endif
-$(PROJECT_INCLUDE)/rtems/score/object.inl: inline/rtems/score/object.inl $(PROJECT_INCLUDE)/rtems/score/$(dirstamp)
- $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/score/object.inl
-PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/score/object.inl
-
$(PROJECT_INCLUDE)/rtems/score/tod.inl: inline/rtems/score/tod.inl $(PROJECT_INCLUDE)/rtems/score/$(dirstamp)
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/score/tod.inl
PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/score/tod.inl
diff --git a/cpukit/score/src/apimutex.c b/cpukit/score/src/apimutex.c
index bc72c91e7c..555292d539 100644
--- a/cpukit/score/src/apimutex.c
+++ b/cpukit/score/src/apimutex.c
@@ -1,7 +1,7 @@
/**
* @file
- *
- * @brief Initialization for the API Mutexe Handler.
+ *
+ * @brief Initialization and Allocation for API Mutex Handler
*
* @ingroup ScoreAPIMutex
*/
@@ -19,8 +19,11 @@
#include "config.h"
#endif
-#include <rtems/system.h>
#include <rtems/score/apimutex.h>
+#include <rtems/score/coremuteximpl.h>
+#include <rtems/score/objectimpl.h>
+
+static Objects_Information _API_Mutex_Information;
void _API_Mutex_Initialization(
uint32_t maximum_mutexes
@@ -41,3 +44,25 @@ void _API_Mutex_Initialization(
#endif
);
}
+
+void _API_Mutex_Allocate(
+ API_Mutex_Control **the_mutex
+)
+{
+ API_Mutex_Control *mutex;
+
+ CORE_mutex_Attributes attr = {
+ CORE_MUTEX_NESTING_ACQUIRES,
+ false,
+ CORE_MUTEX_DISCIPLINES_PRIORITY_INHERIT,
+ 0
+ };
+
+ mutex = (API_Mutex_Control *) _Objects_Allocate( &_API_Mutex_Information );
+
+ _CORE_mutex_Initialize( &mutex->Mutex, NULL, &attr, CORE_MUTEX_UNLOCKED );
+
+ _Objects_Open_u32( &_API_Mutex_Information, &mutex->Object, 1 );
+
+ *the_mutex = mutex;
+}
diff --git a/cpukit/score/src/apimutexallocate.c b/cpukit/score/src/apimutexallocate.c
deleted file mode 100644
index c57cc66e6b..0000000000
--- a/cpukit/score/src/apimutexallocate.c
+++ /dev/null
@@ -1,45 +0,0 @@
-/**
- * @file
- *
- * @brief Allocates an API Mutex from the Inactive Set
- * @ingroup ScoreAPIMutex
- */
-
-/*
- * COPYRIGHT (c) 1989-2007.
- * On-Line Applications Research Corporation (OAR).
- *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.com/license/LICENSE.
- */
-
-#if HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include <rtems/system.h>
-#include <rtems/score/apimutex.h>
-#include <rtems/score/coremuteximpl.h>
-
-void _API_Mutex_Allocate(
- API_Mutex_Control **the_mutex
-)
-{
- API_Mutex_Control *mutex;
-
- CORE_mutex_Attributes attr = {
- CORE_MUTEX_NESTING_ACQUIRES,
- false,
- CORE_MUTEX_DISCIPLINES_PRIORITY_INHERIT,
- 0
- };
-
- mutex = (API_Mutex_Control *) _Objects_Allocate( &_API_Mutex_Information );
-
- _CORE_mutex_Initialize( &mutex->Mutex, NULL, &attr, CORE_MUTEX_UNLOCKED );
-
- _Objects_Open_u32( &_API_Mutex_Information, &mutex->Object, 1 );
-
- *the_mutex = mutex;
-}
diff --git a/cpukit/score/src/corebarrierrelease.c b/cpukit/score/src/corebarrierrelease.c
index 818d1718cb..f39e72d9fa 100644
--- a/cpukit/score/src/corebarrierrelease.c
+++ b/cpukit/score/src/corebarrierrelease.c
@@ -20,6 +20,7 @@
#endif
#include <rtems/score/corebarrierimpl.h>
+#include <rtems/score/objectimpl.h>
#include <rtems/score/threadqimpl.h>
uint32_t _CORE_barrier_Release(
diff --git a/cpukit/score/src/coremsgbroadcast.c b/cpukit/score/src/coremsgbroadcast.c
index d860eb11a8..595305cbb1 100644
--- a/cpukit/score/src/coremsgbroadcast.c
+++ b/cpukit/score/src/coremsgbroadcast.c
@@ -18,13 +18,9 @@
#include "config.h"
#endif
-#include <rtems/system.h>
-#include <rtems/score/chain.h>
-#include <rtems/score/isr.h>
-#include <rtems/score/object.h>
#include <rtems/score/coremsgimpl.h>
+#include <rtems/score/objectimpl.h>
#include <rtems/score/thread.h>
-#include <rtems/score/wkspace.h>
CORE_message_queue_Status _CORE_message_queue_Broadcast(
CORE_message_queue_Control *the_message_queue,
diff --git a/cpukit/score/src/coremsgclose.c b/cpukit/score/src/coremsgclose.c
index 946a4f5653..9f63e1314b 100644
--- a/cpukit/score/src/coremsgclose.c
+++ b/cpukit/score/src/coremsgclose.c
@@ -21,7 +21,6 @@
#include <rtems/system.h>
#include <rtems/score/chain.h>
#include <rtems/score/isr.h>
-#include <rtems/score/object.h>
#include <rtems/score/coremsgimpl.h>
#include <rtems/score/thread.h>
#include <rtems/score/wkspace.h>
diff --git a/cpukit/score/src/coremsgflush.c b/cpukit/score/src/coremsgflush.c
index 169b1472f7..c6aefeb166 100644
--- a/cpukit/score/src/coremsgflush.c
+++ b/cpukit/score/src/coremsgflush.c
@@ -21,7 +21,6 @@
#include <rtems/system.h>
#include <rtems/score/chain.h>
#include <rtems/score/isr.h>
-#include <rtems/score/object.h>
#include <rtems/score/coremsgimpl.h>
#include <rtems/score/thread.h>
#include <rtems/score/wkspace.h>
diff --git a/cpukit/score/src/coremsgflushsupp.c b/cpukit/score/src/coremsgflushsupp.c
index 436e77f2c6..0fb4718298 100644
--- a/cpukit/score/src/coremsgflushsupp.c
+++ b/cpukit/score/src/coremsgflushsupp.c
@@ -22,7 +22,6 @@
#include <rtems/system.h>
#include <rtems/score/chain.h>
#include <rtems/score/isr.h>
-#include <rtems/score/object.h>
#include <rtems/score/coremsgimpl.h>
#include <rtems/score/thread.h>
#include <rtems/score/wkspace.h>
diff --git a/cpukit/score/src/coremsgflushwait.c b/cpukit/score/src/coremsgflushwait.c
index 4355239497..ab238509b4 100644
--- a/cpukit/score/src/coremsgflushwait.c
+++ b/cpukit/score/src/coremsgflushwait.c
@@ -22,7 +22,6 @@
#include <rtems/system.h>
#include <rtems/score/chain.h>
#include <rtems/score/isr.h>
-#include <rtems/score/object.h>
#include <rtems/score/coremsgimpl.h>
#include <rtems/score/thread.h>
#include <rtems/score/wkspace.h>
diff --git a/cpukit/score/src/coremsginsert.c b/cpukit/score/src/coremsginsert.c
index fca5f07150..509512e0fd 100644
--- a/cpukit/score/src/coremsginsert.c
+++ b/cpukit/score/src/coremsginsert.c
@@ -21,7 +21,6 @@
#include <rtems/system.h>
#include <rtems/score/chain.h>
#include <rtems/score/isr.h>
-#include <rtems/score/object.h>
#include <rtems/score/coremsgimpl.h>
#include <rtems/score/thread.h>
#include <rtems/score/wkspace.h>
diff --git a/cpukit/score/src/coremsgseize.c b/cpukit/score/src/coremsgseize.c
index 24d6f573a2..b3280bf755 100644
--- a/cpukit/score/src/coremsgseize.c
+++ b/cpukit/score/src/coremsgseize.c
@@ -21,7 +21,6 @@
#include <rtems/system.h>
#include <rtems/score/chain.h>
#include <rtems/score/isr.h>
-#include <rtems/score/object.h>
#include <rtems/score/coremsgimpl.h>
#include <rtems/score/thread.h>
#include <rtems/score/wkspace.h>
diff --git a/cpukit/score/src/coremsgsubmit.c b/cpukit/score/src/coremsgsubmit.c
index 09982dc2a5..b0b4833640 100644
--- a/cpukit/score/src/coremsgsubmit.c
+++ b/cpukit/score/src/coremsgsubmit.c
@@ -19,12 +19,9 @@
#include "config.h"
#endif
-#include <rtems/system.h>
-#include <rtems/score/chain.h>
-#include <rtems/score/isr.h>
-#include <rtems/score/object.h>
#include <rtems/score/coremsgimpl.h>
-#include <rtems/score/thread.h>
+#include <rtems/score/objectimpl.h>
+#include <rtems/score/isr.h>
#include <rtems/score/wkspace.h>
CORE_message_queue_Status _CORE_message_queue_Submit(
diff --git a/cpukit/score/src/coresemsurrender.c b/cpukit/score/src/coresemsurrender.c
index 58a39299a2..caae4b15c9 100644
--- a/cpukit/score/src/coresemsurrender.c
+++ b/cpukit/score/src/coresemsurrender.c
@@ -19,10 +19,8 @@
#include "config.h"
#endif
-#include <rtems/system.h>
-#include <rtems/score/isr.h>
#include <rtems/score/coresemimpl.h>
-#include <rtems/score/thread.h>
+#include <rtems/score/objectimpl.h>
CORE_semaphore_Status _CORE_semaphore_Surrender(
CORE_semaphore_Control *the_semaphore,
diff --git a/cpukit/score/src/coretod.c b/cpukit/score/src/coretod.c
index 0cde95bbbe..2f664b4b45 100644
--- a/cpukit/score/src/coretod.c
+++ b/cpukit/score/src/coretod.c
@@ -19,7 +19,6 @@
#endif
#include <rtems/system.h>
-#include <rtems/score/object.h>
#include <rtems/score/thread.h>
#include <rtems/score/tod.h>
#include <rtems/score/watchdog.h>
diff --git a/cpukit/score/src/coretodset.c b/cpukit/score/src/coretodset.c
index 3bf5e52de5..5c5e9c452c 100644
--- a/cpukit/score/src/coretodset.c
+++ b/cpukit/score/src/coretodset.c
@@ -19,7 +19,6 @@
#endif
#include <rtems/system.h>
-#include <rtems/score/object.h>
#include <rtems/score/thread.h>
#include <rtems/score/threaddispatch.h>
#include <rtems/score/timestamp.h>
diff --git a/cpukit/score/src/coretodtickle.c b/cpukit/score/src/coretodtickle.c
index 4f53befe8d..d55c054a82 100644
--- a/cpukit/score/src/coretodtickle.c
+++ b/cpukit/score/src/coretodtickle.c
@@ -19,7 +19,6 @@
#endif
#include <rtems/system.h>
-#include <rtems/score/object.h>
#include <rtems/score/thread.h>
#include <rtems/score/timestamp.h>
#include <rtems/score/tod.h>
diff --git a/cpukit/score/src/iterateoverthreads.c b/cpukit/score/src/iterateoverthreads.c
index 78e769bb00..de2c5befde 100644
--- a/cpukit/score/src/iterateoverthreads.c
+++ b/cpukit/score/src/iterateoverthreads.c
@@ -18,8 +18,8 @@
#include "config.h"
#endif
-#include <rtems/system.h>
#include <rtems/score/thread.h>
+#include <rtems/score/objectimpl.h>
void rtems_iterate_over_all_threads(rtems_per_thread_routine routine)
{
diff --git a/cpukit/score/src/objectactivecount.c b/cpukit/score/src/objectactivecount.c
index 2cfa56aefb..3abc27fa9e 100644
--- a/cpukit/score/src/objectactivecount.c
+++ b/cpukit/score/src/objectactivecount.c
@@ -16,7 +16,7 @@
#include "config.h"
#endif
-#include <rtems/score/object.h>
+#include <rtems/score/objectimpl.h>
#include <rtems/score/chainimpl.h>
Objects_Maximum _Objects_Active_count(
diff --git a/cpukit/score/src/objectallocate.c b/cpukit/score/src/objectallocate.c
index 6d1818229d..d07b7b90e3 100644
--- a/cpukit/score/src/objectallocate.c
+++ b/cpukit/score/src/objectallocate.c
@@ -18,16 +18,8 @@
#include "config.h"
#endif
-#include <rtems/system.h>
-#include <rtems/score/address.h>
+#include <rtems/score/objectimpl.h>
#include <rtems/score/chainimpl.h>
-#include <rtems/score/object.h>
-#if defined(RTEMS_MULTIPROCESSING)
-#include <rtems/score/objectmp.h>
-#endif
-#include <rtems/score/thread.h>
-#include <rtems/score/wkspace.h>
-#include <rtems/score/isr.h>
/* #define RTEMS_DEBUG_OBJECT_ALLOCATION */
diff --git a/cpukit/score/src/objectapimaximumclass.c b/cpukit/score/src/objectapimaximumclass.c
index 4cd54d8efe..9d718fc576 100644
--- a/cpukit/score/src/objectapimaximumclass.c
+++ b/cpukit/score/src/objectapimaximumclass.c
@@ -18,8 +18,7 @@
#include "config.h"
#endif
-#include <rtems/system.h>
-#include <rtems/score/object.h>
+#include <rtems/score/objectimpl.h>
unsigned int _Objects_API_maximum_class(
uint32_t api
diff --git a/cpukit/score/src/objectclose.c b/cpukit/score/src/objectclose.c
index e669504782..55d76b0782 100644
--- a/cpukit/score/src/objectclose.c
+++ b/cpukit/score/src/objectclose.c
@@ -18,9 +18,7 @@
#include "config.h"
#endif
-#include <rtems/system.h>
-#include <rtems/score/object.h>
-#include <rtems/score/wkspace.h>
+#include <rtems/score/objectimpl.h>
void _Objects_Close(
Objects_Information *information,
diff --git a/cpukit/score/src/objectextendinformation.c b/cpukit/score/src/objectextendinformation.c
index 96b26f3f3a..c9f874ea89 100644
--- a/cpukit/score/src/objectextendinformation.c
+++ b/cpukit/score/src/objectextendinformation.c
@@ -18,16 +18,11 @@
#include "config.h"
#endif
-#include <rtems/system.h>
+#include <rtems/score/objectimpl.h>
#include <rtems/score/address.h>
#include <rtems/score/chainimpl.h>
-#include <rtems/score/object.h>
-#if defined(RTEMS_MULTIPROCESSING)
-#include <rtems/score/objectmp.h>
-#endif
-#include <rtems/score/thread.h>
+#include <rtems/score/isrlevel.h>
#include <rtems/score/wkspace.h>
-#include <rtems/score/isr.h>
#include <string.h> /* for memcpy() */
diff --git a/cpukit/score/src/objectfree.c b/cpukit/score/src/objectfree.c
index d6861118c9..0bfffb9d84 100644
--- a/cpukit/score/src/objectfree.c
+++ b/cpukit/score/src/objectfree.c
@@ -18,16 +18,8 @@
#include "config.h"
#endif
-#include <rtems/system.h>
-#include <rtems/score/address.h>
+#include <rtems/score/objectimpl.h>
#include <rtems/score/chainimpl.h>
-#include <rtems/score/object.h>
-#if defined(RTEMS_MULTIPROCESSING)
-#include <rtems/score/objectmp.h>
-#endif
-#include <rtems/score/thread.h>
-#include <rtems/score/wkspace.h>
-#include <rtems/score/isr.h>
void _Objects_Free(
Objects_Information *information,
diff --git a/cpukit/score/src/objectget.c b/cpukit/score/src/objectget.c
index 5d05cc83a2..2da1295697 100644
--- a/cpukit/score/src/objectget.c
+++ b/cpukit/score/src/objectget.c
@@ -18,16 +18,7 @@
#include "config.h"
#endif
-#include <rtems/system.h>
-#include <rtems/score/address.h>
-#include <rtems/score/chain.h>
-#include <rtems/score/object.h>
-#if defined(RTEMS_MULTIPROCESSING)
-#include <rtems/score/objectmp.h>
-#endif
-#include <rtems/score/thread.h>
-#include <rtems/score/wkspace.h>
-#include <rtems/score/isr.h>
+#include <rtems/score/objectimpl.h>
Objects_Control *_Objects_Get(
Objects_Information *information,
diff --git a/cpukit/score/src/objectgetinfo.c b/cpukit/score/src/objectgetinfo.c
index 3955acc3ca..8b4a26b07b 100644
--- a/cpukit/score/src/objectgetinfo.c
+++ b/cpukit/score/src/objectgetinfo.c
@@ -18,10 +18,7 @@
#include "config.h"
#endif
-#include <rtems/system.h>
-#include <rtems/score/object.h>
-#include <rtems/score/thread.h>
-#include <rtems/score/wkspace.h>
+#include <rtems/score/objectimpl.h>
Objects_Information *_Objects_Get_information(
Objects_APIs the_api,
diff --git a/cpukit/score/src/objectgetinfoid.c b/cpukit/score/src/objectgetinfoid.c
index b6b13534b4..29e02bcc0f 100644
--- a/cpukit/score/src/objectgetinfoid.c
+++ b/cpukit/score/src/objectgetinfoid.c
@@ -19,9 +19,7 @@
#include "config.h"
#endif
-#include <rtems/system.h>
-#include <rtems/score/object.h>
-#include <rtems/score/thread.h>
+#include <rtems/score/objectimpl.h>
Objects_Information *_Objects_Get_information_id(
Objects_Id id
diff --git a/cpukit/score/src/objectgetisr.c b/cpukit/score/src/objectgetisr.c
index a7073842ac..651037feda 100644
--- a/cpukit/score/src/objectgetisr.c
+++ b/cpukit/score/src/objectgetisr.c
@@ -18,16 +18,7 @@
#include "config.h"
#endif
-#include <rtems/system.h>
-#include <rtems/score/address.h>
-#include <rtems/score/chain.h>
-#include <rtems/score/object.h>
-#if defined(RTEMS_MULTIPROCESSING)
-#include <rtems/score/objectmp.h>
-#endif
-#include <rtems/score/thread.h>
-#include <rtems/score/wkspace.h>
-#include <rtems/score/isr.h>
+#include <rtems/score/objectimpl.h>
Objects_Control *_Objects_Get_isr_disable(
Objects_Information *information,
diff --git a/cpukit/score/src/objectgetnameasstring.c b/cpukit/score/src/objectgetnameasstring.c
index 2e2c18ee6b..c7906a08b6 100644
--- a/cpukit/score/src/objectgetnameasstring.c
+++ b/cpukit/score/src/objectgetnameasstring.c
@@ -19,7 +19,6 @@
#include "config.h"
#endif
-#include <rtems/score/object.h>
#include <rtems/score/threadimpl.h>
#include <ctype.h>
diff --git a/cpukit/score/src/objectgetnext.c b/cpukit/score/src/objectgetnext.c
index 2a0ef43488..1ea6a58950 100644
--- a/cpukit/score/src/objectgetnext.c
+++ b/cpukit/score/src/objectgetnext.c
@@ -18,16 +18,7 @@
#include "config.h"
#endif
-#include <rtems/system.h>
-#include <rtems/score/address.h>
-#include <rtems/score/chain.h>
-#include <rtems/score/object.h>
-#if defined(RTEMS_MULTIPROCESSING)
-#include <rtems/score/objectmp.h>
-#endif
-#include <rtems/score/thread.h>
-#include <rtems/score/wkspace.h>
-#include <rtems/score/isr.h>
+#include <rtems/score/objectimpl.h>
/*
* _Objects_Get_next
diff --git a/cpukit/score/src/objectgetnoprotection.c b/cpukit/score/src/objectgetnoprotection.c
index e2083b4d09..4d376cde97 100644
--- a/cpukit/score/src/objectgetnoprotection.c
+++ b/cpukit/score/src/objectgetnoprotection.c
@@ -18,16 +18,7 @@
#include "config.h"
#endif
-#include <rtems/system.h>
-#include <rtems/score/address.h>
-#include <rtems/score/chain.h>
-#include <rtems/score/object.h>
-#if defined(RTEMS_MULTIPROCESSING)
-#include <rtems/score/objectmp.h>
-#endif
-#include <rtems/score/thread.h>
-#include <rtems/score/wkspace.h>
-#include <rtems/score/isr.h>
+#include <rtems/score/objectimpl.h>
Objects_Control *_Objects_Get_no_protection(
Objects_Information *information,
diff --git a/cpukit/score/src/objectidtoname.c b/cpukit/score/src/objectidtoname.c
index 54e4228b28..9aa0f10496 100644
--- a/cpukit/score/src/objectidtoname.c
+++ b/cpukit/score/src/objectidtoname.c
@@ -18,7 +18,6 @@
#include "config.h"
#endif
-#include <rtems/score/object.h>
#include <rtems/score/threadimpl.h>
Objects_Name_or_id_lookup_errors _Objects_Id_to_name (
diff --git a/cpukit/score/src/objectinitializeinformation.c b/cpukit/score/src/objectinitializeinformation.c
index 82c488a13f..a791bd7220 100644
--- a/cpukit/score/src/objectinitializeinformation.c
+++ b/cpukit/score/src/objectinitializeinformation.c
@@ -18,17 +18,11 @@
#include "config.h"
#endif
-#include <rtems/system.h>
-#include <rtems/score/address.h>
+#include <rtems/score/objectimpl.h>
#include <rtems/score/chainimpl.h>
-#include <rtems/score/object.h>
-#if defined(RTEMS_MULTIPROCESSING)
-#include <rtems/score/objectmp.h>
-#endif
-#include <rtems/score/thread.h>
-#include <rtems/score/wkspace.h>
+#include <rtems/score/interr.h>
#include <rtems/score/sysstate.h>
-#include <rtems/score/isr.h>
+#include <rtems/score/wkspace.h>
void _Objects_Initialize_information(
Objects_Information *information,
diff --git a/cpukit/score/src/objectmp.c b/cpukit/score/src/objectmp.c
index 44319b9363..12daae6c91 100644
--- a/cpukit/score/src/objectmp.c
+++ b/cpukit/score/src/objectmp.c
@@ -18,12 +18,11 @@
#include "config.h"
#endif
-#include <rtems/system.h>
-#include <rtems/config.h>
+#include <rtems/score/objectimpl.h>
#include <rtems/score/interr.h>
-#include <rtems/score/object.h>
+#include <rtems/score/threaddispatch.h>
#include <rtems/score/wkspace.h>
-#include <rtems/score/thread.h>
+#include <rtems/config.h>
void _Objects_MP_Handler_early_initialization(void)
{
diff --git a/cpukit/score/src/objectnamespaceremove.c b/cpukit/score/src/objectnamespaceremove.c
index cd618457a4..3db39d7854 100644
--- a/cpukit/score/src/objectnamespaceremove.c
+++ b/cpukit/score/src/objectnamespaceremove.c
@@ -19,8 +19,7 @@
#include "config.h"
#endif
-#include <rtems/system.h>
-#include <rtems/score/object.h>
+#include <rtems/score/objectimpl.h>
#include <rtems/score/wkspace.h>
void _Objects_Namespace_remove(
diff --git a/cpukit/score/src/objectnametoid.c b/cpukit/score/src/objectnametoid.c
index bf3bb4c6d6..6d35e7cabe 100644
--- a/cpukit/score/src/objectnametoid.c
+++ b/cpukit/score/src/objectnametoid.c
@@ -18,16 +18,7 @@
#include "config.h"
#endif
-#include <rtems/system.h>
-#include <rtems/score/address.h>
-#include <rtems/score/chain.h>
-#include <rtems/score/object.h>
-#if defined(RTEMS_MULTIPROCESSING)
-#include <rtems/score/objectmp.h>
-#endif
-#include <rtems/score/thread.h>
-#include <rtems/score/wkspace.h>
-#include <rtems/score/isr.h>
+#include <rtems/score/objectimpl.h>
Objects_Name_or_id_lookup_errors _Objects_Name_to_id_u32(
Objects_Information *information,
diff --git a/cpukit/score/src/objectnametoidstring.c b/cpukit/score/src/objectnametoidstring.c
index 4023635855..b27ee8a724 100644
--- a/cpukit/score/src/objectnametoidstring.c
+++ b/cpukit/score/src/objectnametoidstring.c
@@ -18,18 +18,9 @@
#include "config.h"
#endif
-#include <string.h>
+#include <rtems/score/objectimpl.h>
-#include <rtems/system.h>
-#include <rtems/score/address.h>
-#include <rtems/score/chain.h>
-#include <rtems/score/object.h>
-#if defined(RTEMS_MULTIPROCESSING)
-#include <rtems/score/objectmp.h>
-#endif
-#include <rtems/score/thread.h>
-#include <rtems/score/wkspace.h>
-#include <rtems/score/isr.h>
+#include <string.h>
#if defined(RTEMS_SCORE_OBJECT_ENABLE_STRING_NAMES)
Objects_Name_or_id_lookup_errors _Objects_Name_to_id_string(
diff --git a/cpukit/score/src/objectsetname.c b/cpukit/score/src/objectsetname.c
index 2bc86cf553..995fa80bff 100644
--- a/cpukit/score/src/objectsetname.c
+++ b/cpukit/score/src/objectsetname.c
@@ -18,13 +18,9 @@
#include "config.h"
#endif
-#include <rtems/system.h>
-#include <rtems/score/object.h>
-#include <rtems/score/thread.h>
+#include <rtems/score/objectimpl.h>
#include <rtems/score/wkspace.h>
-#include <stdlib.h>
-#include <ctype.h>
-#include <inttypes.h>
+
#include <string.h>
bool _Objects_Set_name(
diff --git a/cpukit/score/src/objectshrinkinformation.c b/cpukit/score/src/objectshrinkinformation.c
index 686d0f2a5c..453c76c10f 100644
--- a/cpukit/score/src/objectshrinkinformation.c
+++ b/cpukit/score/src/objectshrinkinformation.c
@@ -18,16 +18,9 @@
#include "config.h"
#endif
-#include <rtems/system.h>
-#include <rtems/score/address.h>
+#include <rtems/score/objectimpl.h>
#include <rtems/score/chainimpl.h>
-#include <rtems/score/object.h>
-#if defined(RTEMS_MULTIPROCESSING)
-#include <rtems/score/objectmp.h>
-#endif
-#include <rtems/score/thread.h>
#include <rtems/score/wkspace.h>
-#include <rtems/score/isr.h>
void _Objects_Shrink_information(
Objects_Information *information
diff --git a/cpukit/score/src/threaddispatchdisablelevel.c b/cpukit/score/src/threaddispatchdisablelevel.c
index d15f4b1862..f1c971e33f 100644
--- a/cpukit/score/src/threaddispatchdisablelevel.c
+++ b/cpukit/score/src/threaddispatchdisablelevel.c
@@ -20,7 +20,6 @@
#include <rtems/score/context.h>
#include <rtems/score/interr.h>
#include <rtems/score/isr.h>
-#include <rtems/score/object.h>
#include <rtems/score/priority.h>
#include <rtems/score/threaddispatch.h>
diff --git a/cpukit/score/src/threadqextractwithproxy.c b/cpukit/score/src/threadqextractwithproxy.c
index 6a3e891acf..221fd71706 100644
--- a/cpukit/score/src/threadqextractwithproxy.c
+++ b/cpukit/score/src/threadqextractwithproxy.c
@@ -24,6 +24,7 @@
#endif
#include <rtems/score/threadqimpl.h>
+#include <rtems/score/objectimpl.h>
#include <rtems/score/statesimpl.h>
bool _Thread_queue_Extract_with_proxy(
diff --git a/cpukit/score/src/threadqflush.c b/cpukit/score/src/threadqflush.c
index a8288afc6c..1e1501e7b8 100644
--- a/cpukit/score/src/threadqflush.c
+++ b/cpukit/score/src/threadqflush.c
@@ -19,7 +19,7 @@
#endif
#include <rtems/score/threadqimpl.h>
-#include <rtems/score/object.h>
+#include <rtems/score/objectimpl.h>
void _Thread_queue_Flush(
Thread_queue_Control *the_thread_queue,
diff --git a/testsuites/psxtests/psxobj01/init.c b/testsuites/psxtests/psxobj01/init.c
index 6bddee753b..b3f4e85209 100644
--- a/testsuites/psxtests/psxobj01/init.c
+++ b/testsuites/psxtests/psxobj01/init.c
@@ -16,9 +16,10 @@
#include "config.h"
#endif
-#define __RTEMS_VIOLATE_KERNEL_VISIBILITY__
#include <tmacros.h>
+#include <rtems/score/objectimpl.h>
+
/* forward declarations to avoid warnings */
rtems_task Init(rtems_task_argument ignored);
diff --git a/testsuites/samples/unlimited/test1.c b/testsuites/samples/unlimited/test1.c
index 1d0c9bd104..2102285526 100644
--- a/testsuites/samples/unlimited/test1.c
+++ b/testsuites/samples/unlimited/test1.c
@@ -25,7 +25,6 @@
#include "system.h"
#include "tmacros.h"
-#include <rtems/score/object.h>
void test1()
{
diff --git a/testsuites/sptests/sp41/init.c b/testsuites/sptests/sp41/init.c
index cadf7d58b6..9aa007a6f5 100644
--- a/testsuites/sptests/sp41/init.c
+++ b/testsuites/sptests/sp41/init.c
@@ -11,9 +11,10 @@
#include "config.h"
#endif
-#define __RTEMS_VIOLATE_KERNEL_VISIBILITY__
#include <tmacros.h>
+#include <rtems/score/objectimpl.h>
+
/* forward declarations to avoid warnings */
rtems_task Init(rtems_task_argument argument);
void iterator(Thread_Control *thread);