Index: cpukit/headers.am
===================================================================
--- cpukit/headers.am	(revision 356b07e68f47d4e4391fb26ed467780867bb40c2)
+++ cpukit/headers.am	(revision 963c6c2ac467705410aa86a0276a00ece716789a)
@@ -394,4 +394,5 @@
 include_rtems_score_HEADERS += include/rtems/score/todimpl.h
 include_rtems_score_HEADERS += include/rtems/score/userext.h
+include_rtems_score_HEADERS += include/rtems/score/userextdata.h
 include_rtems_score_HEADERS += include/rtems/score/userextimpl.h
 include_rtems_score_HEADERS += include/rtems/score/watchdog.h
Index: cpukit/include/rtems/extensiondata.h
===================================================================
--- cpukit/include/rtems/extensiondata.h	(revision 356b07e68f47d4e4391fb26ed467780867bb40c2)
+++ cpukit/include/rtems/extensiondata.h	(revision 963c6c2ac467705410aa86a0276a00ece716789a)
@@ -21,4 +21,5 @@
 #include <rtems/extension.h>
 #include <rtems/score/objectdata.h>
+#include <rtems/score/userextdata.h>
 
 #ifdef __cplusplus
Index: cpukit/include/rtems/score/userext.h
===================================================================
--- cpukit/include/rtems/score/userext.h	(revision 356b07e68f47d4e4391fb26ed467780867bb40c2)
+++ cpukit/include/rtems/score/userext.h	(revision 963c6c2ac467705410aa86a0276a00ece716789a)
@@ -20,5 +20,4 @@
 
 #include <rtems/score/interr.h>
-#include <rtems/score/chain.h>
 
 #ifdef __cplusplus
@@ -243,26 +242,4 @@
 }   User_extensions_Table;
 
-/**
- * @brief Manages the switch callouts.
- *
- * They are managed separately from other extensions for performance reasons.
- */
-typedef struct {
-  Chain_Node                              Node;
-  User_extensions_thread_switch_extension thread_switch;
-}   User_extensions_Switch_control;
-
-/**
- * @brief Manages each user extension set.
- *
- * The switch control is part of the extensions control even if not used due to
- * the extension not having a switch handler.
- */
-typedef struct {
-  Chain_Node                     Node;
-  User_extensions_Switch_control Switch;
-  User_extensions_Table          Callouts;
-}   User_extensions_Control;
-
 /** @} */
 
Index: cpukit/include/rtems/score/userextdata.h
===================================================================
--- cpukit/include/rtems/score/userextdata.h	(revision 963c6c2ac467705410aa86a0276a00ece716789a)
+++ cpukit/include/rtems/score/userextdata.h	(revision 963c6c2ac467705410aa86a0276a00ece716789a)
@@ -0,0 +1,63 @@
+/**
+ * @file
+ *
+ * @ingroup ScoreUserExt
+ *
+ * @brief User Extension Handler Data Structures
+ */
+
+/*
+ *  COPYRIGHT (c) 1989-2009.
+ *  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.org/license/LICENSE.
+ */
+
+#ifndef _RTEMS_SCORE_USEREXTDATA_H
+#define _RTEMS_SCORE_USEREXTDATA_H
+
+#include <rtems/score/userext.h>
+#include <rtems/score/chain.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/**
+ * @addtogroup ScoreUserExt
+ *
+ * @{
+ */
+
+/**
+ * @brief Manages the switch callouts.
+ *
+ * They are managed separately from other extensions for performance reasons.
+ */
+typedef struct {
+  Chain_Node                              Node;
+  User_extensions_thread_switch_extension thread_switch;
+}   User_extensions_Switch_control;
+
+/**
+ * @brief Manages each user extension set.
+ *
+ * The switch control is part of the extensions control even if not used due to
+ * the extension not having a switch handler.
+ */
+typedef struct {
+  Chain_Node                     Node;
+  User_extensions_Switch_control Switch;
+  User_extensions_Table          Callouts;
+}   User_extensions_Control;
+
+/** @} */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
+/* end of include file */
Index: cpukit/include/rtems/score/userextimpl.h
===================================================================
--- cpukit/include/rtems/score/userextimpl.h	(revision 356b07e68f47d4e4391fb26ed467780867bb40c2)
+++ cpukit/include/rtems/score/userextimpl.h	(revision 963c6c2ac467705410aa86a0276a00ece716789a)
@@ -19,5 +19,5 @@
 #define _RTEMS_SCORE_USEREXTIMPL_H
 
-#include <rtems/score/userext.h>
+#include <rtems/score/userextdata.h>
 #include <rtems/score/chainimpl.h>
 #include <rtems/score/isrlock.h>
