summaryrefslogtreecommitdiffstats
path: root/cpukit/score/include/rtems
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>1995-09-26 19:27:15 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>1995-09-26 19:27:15 +0000
commit5e9b32b439627068a0292370fe595220dbfc95a0 (patch)
tree3740b62de3aaa10140867de33adad9a1fcc15b26 /cpukit/score/include/rtems
parentfixed Id strings (diff)
downloadrtems-5e9b32b439627068a0292370fe595220dbfc95a0.tar.bz2
posix support initially added
Diffstat (limited to 'cpukit/score/include/rtems')
-rw-r--r--cpukit/score/include/rtems/score/address.h2
-rw-r--r--cpukit/score/include/rtems/score/apiext.h2
-rw-r--r--cpukit/score/include/rtems/score/chain.h4
-rw-r--r--cpukit/score/include/rtems/score/context.h2
-rw-r--r--cpukit/score/include/rtems/score/coremsg.h66
-rw-r--r--cpukit/score/include/rtems/score/coremutex.h10
-rw-r--r--cpukit/score/include/rtems/score/coresem.h10
-rw-r--r--cpukit/score/include/rtems/score/heap.h2
-rw-r--r--cpukit/score/include/rtems/score/isr.h9
-rw-r--r--cpukit/score/include/rtems/score/mpci.h14
-rw-r--r--cpukit/score/include/rtems/score/mppkt.h8
-rw-r--r--cpukit/score/include/rtems/score/object.h48
-rw-r--r--cpukit/score/include/rtems/score/objectmp.h2
-rw-r--r--cpukit/score/include/rtems/score/priority.h2
-rw-r--r--cpukit/score/include/rtems/score/stack.h2
-rw-r--r--cpukit/score/include/rtems/score/states.h44
-rw-r--r--cpukit/score/include/rtems/score/sysstate.h2
-rw-r--r--cpukit/score/include/rtems/score/thread.h29
-rw-r--r--cpukit/score/include/rtems/score/threadmp.h2
-rw-r--r--cpukit/score/include/rtems/score/threadq.h14
-rw-r--r--cpukit/score/include/rtems/score/tod.h8
-rw-r--r--cpukit/score/include/rtems/score/tqdata.h9
-rw-r--r--cpukit/score/include/rtems/score/userext.h8
-rw-r--r--cpukit/score/include/rtems/score/watchdog.h4
-rw-r--r--cpukit/score/include/rtems/score/wkspace.h6
-rw-r--r--cpukit/score/include/rtems/system.h2
26 files changed, 188 insertions, 123 deletions
diff --git a/cpukit/score/include/rtems/score/address.h b/cpukit/score/include/rtems/score/address.h
index 4877206801..be056f220a 100644
--- a/cpukit/score/include/rtems/score/address.h
+++ b/cpukit/score/include/rtems/score/address.h
@@ -97,7 +97,7 @@ STATIC INLINE boolean _Addresses_Is_in_range (
void *limit
);
-#include <rtems/core/address.inl>
+#include <rtems/score/address.inl>
#ifdef __cplusplus
}
diff --git a/cpukit/score/include/rtems/score/apiext.h b/cpukit/score/include/rtems/score/apiext.h
index 07ac4b4a93..594c71d25c 100644
--- a/cpukit/score/include/rtems/score/apiext.h
+++ b/cpukit/score/include/rtems/score/apiext.h
@@ -17,7 +17,7 @@
#ifndef __API_EXTENSIONS_h
#define __API_EXTENSIONS_h
-#include <rtems/core/chain.h>
+#include <rtems/score/chain.h>
/*
* The control structure which defines the points at which an API
diff --git a/cpukit/score/include/rtems/score/chain.h b/cpukit/score/include/rtems/score/chain.h
index 35ac4dfa80..1d6c8f1db4 100644
--- a/cpukit/score/include/rtems/score/chain.h
+++ b/cpukit/score/include/rtems/score/chain.h
@@ -21,7 +21,7 @@
extern "C" {
#endif
-#include <rtems/core/address.h>
+#include <rtems/score/address.h>
/*
* This is used to manage each element (node) which is placed
@@ -422,7 +422,7 @@ STATIC INLINE boolean _Chain_Is_null_node(
Chain_Node *the_node
);
-#include <rtems/core/chain.inl>
+#include <rtems/score/chain.inl>
#ifdef __cplusplus
}
diff --git a/cpukit/score/include/rtems/score/context.h b/cpukit/score/include/rtems/score/context.h
index 58e497ae88..b3a423bb47 100644
--- a/cpukit/score/include/rtems/score/context.h
+++ b/cpukit/score/include/rtems/score/context.h
@@ -20,7 +20,7 @@
extern "C" {
#endif
-#include <rtems/core/cpu.h>
+#include <rtems/score/cpu.h>
/*
* The following constant defines the number of bytes required
diff --git a/cpukit/score/include/rtems/score/coremsg.h b/cpukit/score/include/rtems/score/coremsg.h
index 109d792c78..737004aeb8 100644
--- a/cpukit/score/include/rtems/score/coremsg.h
+++ b/cpukit/score/include/rtems/score/coremsg.h
@@ -21,10 +21,10 @@
extern "C" {
#endif
-#include <rtems/core/thread.h>
-#include <rtems/core/threadq.h>
-#include <rtems/core/priority.h>
-#include <rtems/core/watchdog.h>
+#include <rtems/score/thread.h>
+#include <rtems/score/threadq.h>
+#include <rtems/score/priority.h>
+#include <rtems/score/watchdog.h>
/*
* The following type defines the callout which the API provides
@@ -110,19 +110,29 @@ typedef struct {
} CORE_message_queue_Attributes;
/*
+ * The following defines the type for a Notification handler. A notification
+ * handler is invoked when the message queue makes a 0->1 transition on
+ * pending messages.
+ */
+
+typedef void (*CORE_message_queue_Notify_Handler)( void * );
+
+/*
* The following defines the control block used to manage each
* counting message_queue.
*/
typedef struct {
- Thread_queue_Control Wait_queue;
- CORE_message_queue_Attributes Attributes;
- unsigned32 maximum_pending_messages;
- unsigned32 number_of_pending_messages;
- unsigned32 maximum_message_size;
- Chain_Control Pending_messages;
- CORE_message_queue_Buffer *message_buffers;
- Chain_Control Inactive_messages;
+ Thread_queue_Control Wait_queue;
+ CORE_message_queue_Attributes Attributes;
+ unsigned32 maximum_pending_messages;
+ unsigned32 number_of_pending_messages;
+ unsigned32 maximum_message_size;
+ Chain_Control Pending_messages;
+ CORE_message_queue_Buffer *message_buffers;
+ CORE_message_queue_Notify_Handler notify_handler;
+ void *notify_argument;
+ Chain_Control Inactive_messages;
} CORE_message_queue_Control;
/*
@@ -389,15 +399,41 @@ STATIC INLINE void _CORE_message_queue_Prepend (
*
* DESCRIPTION:
*
- * This function places the_message at the rear of the outstanding
- * messages on the_message_queue.
+ * This function returns TRUE if the_message_queue is TRUE and FALSE otherwise.
*/
STATIC INLINE boolean _CORE_message_queue_Is_null (
CORE_message_queue_Control *the_message_queue
);
-#include <rtems/core/coremsg.inl>
+/*
+ * _CORE_message_queue_Is_notify_enabled
+ *
+ * DESCRIPTION:
+ *
+ * This function returns TRUE if notification is enabled on this message
+ * queue and FALSE otherwise.
+ */
+
+STATIC INLINE boolean _CORE_message_queue_Is_notify_enabled (
+ CORE_message_queue_Control *the_message_queue
+);
+
+/*
+ * _CORE_message_queue_Set_notify
+ *
+ * DESCRIPTION:
+ *
+ * This routine initializes the notification information for the_message_queue.
+ */
+
+STATIC INLINE void _CORE_message_queue_Set_notify (
+ CORE_message_queue_Control *the_message_queue,
+ CORE_message_queue_Notify_Handler the_handler,
+ void *the_argument
+);
+
+#include <rtems/score/coremsg.inl>
#ifdef __cplusplus
}
diff --git a/cpukit/score/include/rtems/score/coremutex.h b/cpukit/score/include/rtems/score/coremutex.h
index 0682bbc1ea..2e8d16a0c1 100644
--- a/cpukit/score/include/rtems/score/coremutex.h
+++ b/cpukit/score/include/rtems/score/coremutex.h
@@ -23,10 +23,10 @@
extern "C" {
#endif
-#include <rtems/core/thread.h>
-#include <rtems/core/threadq.h>
-#include <rtems/core/priority.h>
-#include <rtems/core/watchdog.h>
+#include <rtems/score/thread.h>
+#include <rtems/score/threadq.h>
+#include <rtems/score/priority.h>
+#include <rtems/score/watchdog.h>
/*
* The following type defines the callout which the API provides
@@ -236,7 +236,7 @@ STATIC INLINE boolean _CORE_mutex_Is_nesting_allowed(
CORE_mutex_Attributes *the_attribute
);
-#include <rtems/core/coremutex.inl>
+#include <rtems/score/coremutex.inl>
#ifdef __cplusplus
}
diff --git a/cpukit/score/include/rtems/score/coresem.h b/cpukit/score/include/rtems/score/coresem.h
index 0fcd8cd0b9..cf40da4783 100644
--- a/cpukit/score/include/rtems/score/coresem.h
+++ b/cpukit/score/include/rtems/score/coresem.h
@@ -23,10 +23,10 @@
extern "C" {
#endif
-#include <rtems/core/thread.h>
-#include <rtems/core/threadq.h>
-#include <rtems/core/priority.h>
-#include <rtems/core/watchdog.h>
+#include <rtems/score/thread.h>
+#include <rtems/score/threadq.h>
+#include <rtems/score/priority.h>
+#include <rtems/score/watchdog.h>
/*
* The following type defines the callout which the API provides
@@ -168,7 +168,7 @@ STATIC INLINE boolean _CORE_semaphore_Is_priority(
CORE_semaphore_Attributes *the_attribute
);
-#include <rtems/core/coresem.inl>
+#include <rtems/score/coresem.inl>
#ifdef __cplusplus
}
diff --git a/cpukit/score/include/rtems/score/heap.h b/cpukit/score/include/rtems/score/heap.h
index b0a2d57f39..affd52cd73 100644
--- a/cpukit/score/include/rtems/score/heap.h
+++ b/cpukit/score/include/rtems/score/heap.h
@@ -396,7 +396,7 @@ STATIC INLINE unsigned32 _Heap_Build_flag (
unsigned32 in_use_flag
);
-#include <rtems/core/heap.inl>
+#include <rtems/score/heap.inl>
#ifdef __cplusplus
}
diff --git a/cpukit/score/include/rtems/score/isr.h b/cpukit/score/include/rtems/score/isr.h
index 4bbc3c7aff..2409ed394a 100644
--- a/cpukit/score/include/rtems/score/isr.h
+++ b/cpukit/score/include/rtems/score/isr.h
@@ -50,6 +50,13 @@ typedef ISR_Handler ( *ISR_Handler_entry )(
ISR_Vector_number
);
/*
+ * This constant promotes out the number of vectors supported by
+ * the current CPU being used.
+ */
+
+#define ISR_NUMBER_OF_VECTORS CPU_INTERRUPT_NUMBER_OF_VECTORS
+
+/*
* The following is TRUE if signals have been sent to the currently
* executing thread by an ISR handler.
*/
@@ -239,7 +246,7 @@ void _ISR_Handler( void );
void _ISR_Dispatch( void );
-#include <rtems/core/isr.inl>
+#include <rtems/score/isr.inl>
#ifdef __cplusplus
}
diff --git a/cpukit/score/include/rtems/score/mpci.h b/cpukit/score/include/rtems/score/mpci.h
index 67246d8d46..8f115e8fba 100644
--- a/cpukit/score/include/rtems/score/mpci.h
+++ b/cpukit/score/include/rtems/score/mpci.h
@@ -21,13 +21,13 @@
extern "C" {
#endif
-#include <rtems/core/mppkt.h>
-#include <rtems/core/states.h>
-#include <rtems/core/thread.h>
-#include <rtems/core/threadq.h>
-#include <rtems/core/tqdata.h>
-#include <rtems/core/watchdog.h>
-#include <rtems/core/coresem.h>
+#include <rtems/score/mppkt.h>
+#include <rtems/score/states.h>
+#include <rtems/score/thread.h>
+#include <rtems/score/threadq.h>
+#include <rtems/score/tqdata.h>
+#include <rtems/score/watchdog.h>
+#include <rtems/score/coresem.h>
/*
* The following defines the node number used when a broadcast is desired.
diff --git a/cpukit/score/include/rtems/score/mppkt.h b/cpukit/score/include/rtems/score/mppkt.h
index 32cbc7e0e9..8ed1ab1fab 100644
--- a/cpukit/score/include/rtems/score/mppkt.h
+++ b/cpukit/score/include/rtems/score/mppkt.h
@@ -25,9 +25,9 @@
extern "C" {
#endif
-#include <rtems/core/object.h>
-#include <rtems/core/priority.h>
-#include <rtems/core/watchdog.h>
+#include <rtems/score/object.h>
+#include <rtems/score/priority.h>
+#include <rtems/score/watchdog.h>
/*
* The following enumerated type defines the packet classes.
@@ -114,7 +114,7 @@ STATIC INLINE boolean _Mp_packet_Is_null (
MP_packet_Prefix *the_packet
);
-#include <rtems/core/mppkt.inl>
+#include <rtems/score/mppkt.inl>
#ifdef __cplusplus
}
diff --git a/cpukit/score/include/rtems/score/object.h b/cpukit/score/include/rtems/score/object.h
index c64b15d786..4366eb1b88 100644
--- a/cpukit/score/include/rtems/score/object.h
+++ b/cpukit/score/include/rtems/score/object.h
@@ -23,7 +23,7 @@
extern "C" {
#endif
-#include <rtems/core/chain.h>
+#include <rtems/score/chain.h>
/*
* The following type defines the control block used to manage
@@ -78,21 +78,30 @@ typedef unsigned32 Objects_Id;
*/
typedef enum {
- OBJECTS_NO_CLASS = 0,
- OBJECTS_INTERNAL_THREADS = 1,
- OBJECTS_RTEMS_TASKS = 2,
- OBJECTS_RTEMS_TIMERS = 3,
- OBJECTS_RTEMS_SEMAPHORES = 4,
- OBJECTS_RTEMS_MESSAGE_QUEUES = 5,
- OBJECTS_RTEMS_PARTITIONS = 6,
- OBJECTS_RTEMS_REGIONS = 7,
- OBJECTS_RTEMS_PORTS = 8,
- OBJECTS_RTEMS_PERIODS = 9,
- OBJECTS_RTEMS_EXTENSIONS = 10
+ OBJECTS_NO_CLASS = 0,
+ OBJECTS_INTERNAL_THREADS = 1,
+ OBJECTS_RTEMS_TASKS = 2,
+ OBJECTS_POSIX_THREADS = 3,
+ OBJECTS_RTEMS_TIMERS = 4,
+ OBJECTS_RTEMS_SEMAPHORES = 5,
+ OBJECTS_RTEMS_MESSAGE_QUEUES = 6,
+ OBJECTS_RTEMS_PARTITIONS = 7,
+ OBJECTS_RTEMS_REGIONS = 8,
+ OBJECTS_RTEMS_PORTS = 9,
+ OBJECTS_RTEMS_PERIODS = 10,
+ OBJECTS_RTEMS_EXTENSIONS = 11,
+ OBJECTS_POSIX_KEYS = 12,
+ OBJECTS_POSIX_INTERRUPTS = 13,
+ OBJECTS_POSIX_MESSAGE_QUEUES = 14,
+ OBJECTS_POSIX_MUTEXES = 15,
+ OBJECTS_POSIX_SEMAPHORES = 16,
+ OBJECTS_POSIX_CONDITION_VARIABLES = 17
} Objects_Classes;
-
-#define OBJECTS_CLASSES_FIRST OBJECTS_NO_CLASS
-#define OBJECTS_CLASSES_LAST OBJECTS_RTEMS_EXTENSIONS
+
+#define OBJECTS_CLASSES_FIRST OBJECTS_NO_CLASS
+#define OBJECTS_CLASSES_LAST OBJECTS_POSIX_CONDITION_VARIABLES
+#define OBJECTS_CLASSES_FIRST_THREAD_CLASS OBJECTS_INTERNAL_THREADS
+#define OBJECTS_CLASSES_LAST_THREAD_CLASS OBJECTS_POSIX_THREADS
/*
* This enumerated type lists the locations which may be returned
@@ -208,8 +217,9 @@ void _Objects_Handler_initialization(
* 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.
- *
+ * 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.
*/
void _Objects_Initialize_information (
@@ -544,8 +554,8 @@ STATIC INLINE void _Objects_Close(
Objects_Control *the_object
);
-#include <rtems/core/object.inl>
-#include <rtems/core/objectmp.h>
+#include <rtems/score/object.inl>
+#include <rtems/score/objectmp.h>
#ifdef __cplusplus
}
diff --git a/cpukit/score/include/rtems/score/objectmp.h b/cpukit/score/include/rtems/score/objectmp.h
index 324cc59472..dbd468e169 100644
--- a/cpukit/score/include/rtems/score/objectmp.h
+++ b/cpukit/score/include/rtems/score/objectmp.h
@@ -176,7 +176,7 @@ void _Objects_MP_Is_remote (
EXTERN unsigned32 _Objects_MP_Maximum_global_objects;
EXTERN Chain_Control _Objects_MP_Inactive_global_objects;
-#include <rtems/core/objectmp.inl>
+#include <rtems/score/objectmp.inl>
#ifdef __cplusplus
}
diff --git a/cpukit/score/include/rtems/score/priority.h b/cpukit/score/include/rtems/score/priority.h
index 8f681c0ce1..6639d56e0a 100644
--- a/cpukit/score/include/rtems/score/priority.h
+++ b/cpukit/score/include/rtems/score/priority.h
@@ -179,7 +179,7 @@ STATIC INLINE boolean _Priority_Is_group_empty (
Priority_Control the_priority
);
-#include <rtems/core/priority.inl>
+#include <rtems/score/priority.inl>
#ifdef __cplusplus
}
diff --git a/cpukit/score/include/rtems/score/stack.h b/cpukit/score/include/rtems/score/stack.h
index 2a41bcf89f..a054dae3df 100644
--- a/cpukit/score/include/rtems/score/stack.h
+++ b/cpukit/score/include/rtems/score/stack.h
@@ -85,7 +85,7 @@ STATIC INLINE unsigned32 _Stack_Adjust_size (
unsigned32 size
);
-#include <rtems/core/stack.inl>
+#include <rtems/score/stack.inl>
#ifdef __cplusplus
}
diff --git a/cpukit/score/include/rtems/score/states.h b/cpukit/score/include/rtems/score/states.h
index 3f7c4a7e99..a120cadae3 100644
--- a/cpukit/score/include/rtems/score/states.h
+++ b/cpukit/score/include/rtems/score/states.h
@@ -32,26 +32,28 @@ typedef unsigned32 States_Control;
* be used to compose and manipulate a thread's state.
*/
-#define STATES_ALL_SET 0xffff /* all states */
-#define STATES_READY 0x0000 /* ready to run */
-#define STATES_DORMANT 0x0001 /* created but not started */
-#define STATES_SUSPENDED 0x0002 /* waiting to be resumed */
-#define STATES_TRANSIENT 0x0004 /* thread in transition */
-#define STATES_DELAYING 0x0008 /* wait for timeout */
-#define STATES_WAITING_FOR_BUFFER 0x0010 /* wait for partition buffer */
-#define STATES_WAITING_FOR_SEGMENT 0x0020 /* wait for region segment */
-#define STATES_WAITING_FOR_MESSAGE 0x0040 /* wait for message */
-#define STATES_WAITING_FOR_EVENT 0x0080 /* wait for event */
-#define STATES_WAITING_FOR_SEMAPHORE 0x0100 /* wait for semaphore */
-#define STATES_WAITING_FOR_MUTEX 0x0200 /* wait for mutex */
-#define STATES_WAITING_FOR_TIME 0x0400 /* wait for specific TOD */
-#define STATES_WAITING_FOR_RPC_REPLY 0x0800 /* wait for rpc reply */
-#define STATES_WAITING_FOR_PERIOD 0x1000 /* rate monotonic delay */
-
-#define STATES_LOCALLY_BLOCKED ( STATES_WAITING_FOR_BUFFER | \
- STATES_WAITING_FOR_SEGMENT | \
- STATES_WAITING_FOR_MESSAGE | \
- STATES_WAITING_FOR_MUTEX | \
+#define STATES_ALL_SET 0xffff /* all states */
+#define STATES_READY 0x0000 /* ready to run */
+#define STATES_DORMANT 0x0001 /* created not started */
+#define STATES_SUSPENDED 0x0002 /* waiting for resume */
+#define STATES_TRANSIENT 0x0004 /* thread in transition */
+#define STATES_DELAYING 0x0008 /* wait for timeout */
+#define STATES_WAITING_FOR_TIME 0x0010 /* wait for TOD */
+#define STATES_WAITING_FOR_BUFFER 0x0020
+#define STATES_WAITING_FOR_SEGMENT 0x0040
+#define STATES_WAITING_FOR_MESSAGE 0x0080
+#define STATES_WAITING_FOR_EVENT 0x0100
+#define STATES_WAITING_FOR_SEMAPHORE 0x0200
+#define STATES_WAITING_FOR_MUTEX 0x0400
+#define STATES_WAITING_FOR_CONDITION_VARIABLE 0x0800
+#define STATES_WAITING_FOR_RPC_REPLY 0x1000
+#define STATES_WAITING_FOR_PERIOD 0x2000
+
+#define STATES_LOCALLY_BLOCKED ( STATES_WAITING_FOR_BUFFER | \
+ STATES_WAITING_FOR_SEGMENT | \
+ STATES_WAITING_FOR_MESSAGE | \
+ STATES_WAITING_FOR_MUTEX | \
+ STATES_WAITING_FOR_CONDITION_VARIABLE | \
STATES_WAITING_FOR_SEMAPHORE )
#define STATES_WAITING_ON_THREAD_QUEUE \
@@ -342,7 +344,7 @@ STATIC INLINE boolean _States_Are_set (
States_Control mask
);
-#include <rtems/core/states.inl>
+#include <rtems/score/states.inl>
#ifdef __cplusplus
}
diff --git a/cpukit/score/include/rtems/score/sysstate.h b/cpukit/score/include/rtems/score/sysstate.h
index 59d6c955e9..11b5018705 100644
--- a/cpukit/score/include/rtems/score/sysstate.h
+++ b/cpukit/score/include/rtems/score/sysstate.h
@@ -152,7 +152,7 @@ STATIC INLINE boolean _System_state_Is_failed (
System_state_Codes state
);
-#include <rtems/core/sysstate.inl>
+#include <rtems/score/sysstate.inl>
#ifdef __cplusplus
}
diff --git a/cpukit/score/include/rtems/score/thread.h b/cpukit/score/include/rtems/score/thread.h
index 823a4e6760..c485671e75 100644
--- a/cpukit/score/include/rtems/score/thread.h
+++ b/cpukit/score/include/rtems/score/thread.h
@@ -21,16 +21,16 @@
extern "C" {
#endif
-#include <rtems/core/context.h>
-#include <rtems/core/cpu.h>
-#include <rtems/core/mppkt.h>
-#include <rtems/core/object.h>
-#include <rtems/core/priority.h>
-#include <rtems/core/stack.h>
-#include <rtems/core/states.h>
-#include <rtems/core/tod.h>
-#include <rtems/core/tqdata.h>
-#include <rtems/core/watchdog.h>
+#include <rtems/score/context.h>
+#include <rtems/score/cpu.h>
+#include <rtems/score/mppkt.h>
+#include <rtems/score/object.h>
+#include <rtems/score/priority.h>
+#include <rtems/score/stack.h>
+#include <rtems/score/states.h>
+#include <rtems/score/tod.h>
+#include <rtems/score/tqdata.h>
+#include <rtems/score/watchdog.h>
/*
* The following defines the "return type" of a thread.
@@ -130,11 +130,12 @@ typedef struct {
*/
typedef enum {
- THREAD_API_RTEMS
+ THREAD_API_RTEMS,
+ THREAD_API_POSIX,
} Thread_APIs;
#define THREAD_API_FIRST THREAD_API_RTEMS
-#define THREAD_API_LAST THREAD_API_RTEMS
+#define THREAD_API_LAST THREAD_API_POSIX
typedef struct {
Objects_Control Object;
@@ -757,8 +758,8 @@ STATIC INLINE boolean _Thread_Is_proxy_blocking (
unsigned32 code
);
-#include <rtems/core/thread.inl>
-#include <rtems/core/threadmp.h>
+#include <rtems/score/thread.inl>
+#include <rtems/score/threadmp.h>
#ifdef __cplusplus
}
diff --git a/cpukit/score/include/rtems/score/threadmp.h b/cpukit/score/include/rtems/score/threadmp.h
index 89b8e3d597..4afc965381 100644
--- a/cpukit/score/include/rtems/score/threadmp.h
+++ b/cpukit/score/include/rtems/score/threadmp.h
@@ -104,7 +104,7 @@ EXTERN Thread_Control *_Thread_MP_Receive;
EXTERN Chain_Control _Thread_MP_Active_proxies;
EXTERN Chain_Control _Thread_MP_Inactive_proxies;
-#include <rtems/core/threadmp.inl>
+#include <rtems/score/threadmp.inl>
#ifdef __cplusplus
}
diff --git a/cpukit/score/include/rtems/score/threadq.h b/cpukit/score/include/rtems/score/threadq.h
index a9fb29bb57..6a074daf16 100644
--- a/cpukit/score/include/rtems/score/threadq.h
+++ b/cpukit/score/include/rtems/score/threadq.h
@@ -21,11 +21,17 @@
extern "C" {
#endif
-#include <rtems/core/tqdata.h>
+#include <rtems/score/tqdata.h>
-#include <rtems/core/object.h>
-#include <rtems/core/thread.h>
-#include <rtems/core/watchdog.h>
+#include <rtems/score/object.h>
+#include <rtems/score/thread.h>
+#include <rtems/score/watchdog.h>
+
+/*
+ * Constant for indefinite wait.
+ */
+
+#define THREAD_QUEUE_WAIT_FOREVER WATCHDOG_NO_TIMEOUT
/*
* The following type defines the callout used when a remote task
diff --git a/cpukit/score/include/rtems/score/tod.h b/cpukit/score/include/rtems/score/tod.h
index 6c2882a3c5..89ff118c33 100644
--- a/cpukit/score/include/rtems/score/tod.h
+++ b/cpukit/score/include/rtems/score/tod.h
@@ -21,8 +21,8 @@
extern "C" {
#endif
-#include <rtems/core/object.h>
-#include <rtems/core/watchdog.h>
+#include <rtems/score/object.h>
+#include <rtems/score/watchdog.h>
/*
* The following constants are related to the time of day.
@@ -37,6 +37,8 @@ extern "C" {
TOD_MINUTES_PER_HOUR * \
TOD_HOURS_PER_DAY)
+#define TOD_SECONDS_PER_NON_LEAP_YEAR (365 * TOD_SECONDS_PER_DAY)
+
#define TOD_MICROSECONDS_PER_SECOND 1000000
#define TOD_MILLISECONDS_PER_SECOND 1000
@@ -290,7 +292,7 @@ void _TOD_Tickle(
#define TOD_MILLISECONDS_TO_TICKS(_ms) \
(TOD_MILLISECONDS_TO_MICROSECONDS(_ms) / _TOD_Microseconds_per_tick)
-#include <rtems/core/tod.inl>
+#include <rtems/score/tod.inl>
#ifdef __cplusplus
}
diff --git a/cpukit/score/include/rtems/score/tqdata.h b/cpukit/score/include/rtems/score/tqdata.h
index 128c4183a3..790f31e317 100644
--- a/cpukit/score/include/rtems/score/tqdata.h
+++ b/cpukit/score/include/rtems/score/tqdata.h
@@ -21,9 +21,9 @@
extern "C" {
#endif
-#include <rtems/core/chain.h>
-#include <rtems/core/priority.h>
-#include <rtems/core/states.h>
+#include <rtems/score/chain.h>
+#include <rtems/score/priority.h>
+#include <rtems/score/states.h>
/*
* The following enumerated type details all of the disciplines
@@ -52,6 +52,7 @@ typedef struct {
Thread_queue_Disciplines discipline; /* queue discipline */
States_Control state; /* state of threads on Thread_q */
unsigned32 timeout_status;
+ unsigned32 count;
} Thread_queue_Control;
/*
@@ -81,7 +82,7 @@ STATIC INLINE boolean _Thread_queue_Is_reverse_search (
Priority_Control the_priority
);
-#include <rtems/core/tqdata.inl>
+#include <rtems/score/tqdata.inl>
#ifdef __cplusplus
}
diff --git a/cpukit/score/include/rtems/score/userext.h b/cpukit/score/include/rtems/score/userext.h
index 2808b3566e..424871e895 100644
--- a/cpukit/score/include/rtems/score/userext.h
+++ b/cpukit/score/include/rtems/score/userext.h
@@ -22,9 +22,9 @@
extern "C" {
#endif
-#include <rtems/core/interr.h>
-#include <rtems/core/chain.h>
-#include <rtems/core/thread.h>
+#include <rtems/score/interr.h>
+#include <rtems/score/chain.h>
+#include <rtems/score/thread.h>
/*
* The following records defines the User Extension Table.
@@ -285,7 +285,7 @@ void _User_extensions_Fatal (
unsigned32 the_error
);
-#include <rtems/core/userext.inl>
+#include <rtems/score/userext.inl>
#ifdef __cplusplus
}
diff --git a/cpukit/score/include/rtems/score/watchdog.h b/cpukit/score/include/rtems/score/watchdog.h
index 7e871c8881..4fc2849343 100644
--- a/cpukit/score/include/rtems/score/watchdog.h
+++ b/cpukit/score/include/rtems/score/watchdog.h
@@ -22,7 +22,7 @@
extern "C" {
#endif
-#include <rtems/core/object.h>
+#include <rtems/score/object.h>
/*
* The following type defines the control block used to manage
@@ -408,7 +408,7 @@ void _Watchdog_Tickle (
Chain_Control *header
);
-#include <rtems/core/watchdog.inl>
+#include <rtems/score/watchdog.inl>
#ifdef __cplusplus
}
diff --git a/cpukit/score/include/rtems/score/wkspace.h b/cpukit/score/include/rtems/score/wkspace.h
index a262761d68..ee2eb2d04f 100644
--- a/cpukit/score/include/rtems/score/wkspace.h
+++ b/cpukit/score/include/rtems/score/wkspace.h
@@ -22,8 +22,8 @@
extern "C" {
#endif
-#include <rtems/core/heap.h>
-#include <rtems/core/interr.h>
+#include <rtems/score/heap.h>
+#include <rtems/score/interr.h>
/*
* The following is used to manage the Workspace.
@@ -87,7 +87,7 @@ STATIC INLINE boolean _Workspace_Free(
void *block
);
-#include <rtems/core/wkspace.inl>
+#include <rtems/score/wkspace.inl>
#ifdef __cplusplus
}
diff --git a/cpukit/score/include/rtems/system.h b/cpukit/score/include/rtems/system.h
index 037fe93e66..22ae606342 100644
--- a/cpukit/score/include/rtems/system.h
+++ b/cpukit/score/include/rtems/system.h
@@ -76,7 +76,7 @@ extern "C" {
typedef void * proc_ptr;
-#include <rtems/core/cpu.h> /* processor specific information */
+#include <rtems/score/cpu.h> /* processor specific information */
/*
* Define NULL