summaryrefslogtreecommitdiffstats
path: root/cpukit/include/rtems/score/userextdata.h
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2018-11-12 09:28:49 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2018-11-12 13:25:42 +0100
commit963c6c2ac467705410aa86a0276a00ece716789a (patch)
tree15501ead9320711b0aa4c22613234852a5facb38 /cpukit/include/rtems/score/userextdata.h
parentscore: Includes in <rtems/score/smplockstats.h> (diff)
downloadrtems-963c6c2ac467705410aa86a0276a00ece716789a.tar.bz2
score: Move internal structures to userextdata.h
Update #3598.
Diffstat (limited to 'cpukit/include/rtems/score/userextdata.h')
-rw-r--r--cpukit/include/rtems/score/userextdata.h63
1 files changed, 63 insertions, 0 deletions
diff --git a/cpukit/include/rtems/score/userextdata.h b/cpukit/include/rtems/score/userextdata.h
new file mode 100644
index 0000000000..100ae21647
--- /dev/null
+++ b/cpukit/include/rtems/score/userextdata.h
@@ -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 */