summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--c/src/exec/posix/include/rtems/posix/Makefile.am2
-rw-r--r--c/src/exec/posix/include/rtems/posix/timer.h25
-rw-r--r--c/src/exec/posix/src/ptimer.c33
-rw-r--r--c/src/exec/posix/src/ptimer1.c46
-rw-r--r--cpukit/posix/include/rtems/posix/timer.h25
-rw-r--r--cpukit/posix/src/ptimer.c33
-rw-r--r--cpukit/posix/src/ptimer1.c46
7 files changed, 117 insertions, 93 deletions
diff --git a/c/src/exec/posix/include/rtems/posix/Makefile.am b/c/src/exec/posix/include/rtems/posix/Makefile.am
index 02b812179a..accf79b5ed 100644
--- a/c/src/exec/posix/include/rtems/posix/Makefile.am
+++ b/c/src/exec/posix/include/rtems/posix/Makefile.am
@@ -10,7 +10,7 @@ MP_H_PIECES = $(MP_H_PIECES_$(HAS_MP)_V)
H_PIECES = cancel.h cond.h config.h key.h mqueue.h mutex.h posixapi.h \
priority.h psignal.h pthread.h ptimer.h semaphore.h seterr.h threadsup.h \
- time.h $(MP_H_PIECES)
+ time.h timer.h $(MP_H_PIECES)
#H_PIECES= intr.h threadsup.h time.h
noinst_HEADERS = $(H_PIECES)
diff --git a/c/src/exec/posix/include/rtems/posix/timer.h b/c/src/exec/posix/include/rtems/posix/timer.h
index 264a172d23..f8cbe48b73 100644
--- a/c/src/exec/posix/include/rtems/posix/timer.h
+++ b/c/src/exec/posix/include/rtems/posix/timer.h
@@ -5,6 +5,31 @@
#ifndef __RTEMS_POSIX_TIMERS_h
#define __RTEMS_POSIX_TIMERS_h
+/* ************
+ * Constants
+ * ************/
+
+#define STATE_FREE_C 0x01 /* Free position of the table of timers */
+#define STATE_CREATE_NEW_C 0x02 /* Created timer but not running */
+#define STATE_CREATE_RUN_C 0x03 /* Created timer and running */
+#define STATE_CREATE_STOP_C 0x04 /* Created, ran and stopped timer */
+#define MAX_NSEC_C 1000000000 /* Maximum number of nsec allowed */
+#define MIN_NSEC_C 0 /* Minimum number of nsec allowew */
+#define TIMER_RELATIVE_C 0 /* Indicates that the fire time is
+ * relative to the current one */
+#define SEC_TO_TICKS_C _TOD_Ticks_per_second /* Number of ticks in a second*/
+#define NSEC_PER_SEC_C 1000000000 /* Nanoseconds in a second */
+
+#define NO_MORE_TIMERS_C 11 /* There is not available timers */
+#define BAD_TIMER_C 11 /* The timer does not exist in the table */
+
+#define SECONDS_PER_YEAR_C ( 360 * 24 * 60 * 60 )
+#define SECONDS_PER_MONTH_C ( 30 * 24 * 60 * 60 )
+#define SECONDS_PER_DAY_C ( 24 * 60 * 60 )
+#define SECONDS_PER_HOUR_C ( 60 * 60 )
+#define SECONDS_PER_MINUTE_C ( 60 )
+
+
/*
* Data for a timer
*/
diff --git a/c/src/exec/posix/src/ptimer.c b/c/src/exec/posix/src/ptimer.c
index 72fd7939a2..d8733e8bfa 100644
--- a/c/src/exec/posix/src/ptimer.c
+++ b/c/src/exec/posix/src/ptimer.c
@@ -35,13 +35,44 @@
#include <rtems/posix/timer.h>
/* ***************************************************************************
+ * TIMER_INITIALIZE_S
+ *
+ * Description: Initialize the data of a timer
+ * ***************************************************************************/
+
+void TIMER_INITIALIZE_S ( int timer_pos )
+{
+
+ /*
+ * Indicates that the position in the table is free
+ */
+
+ timer_struct[timer_pos].state = STATE_FREE_C;
+
+ /*
+ * The initial data of timing are set with null value
+ */
+
+ timer_struct[timer_pos].timer_data.it_value.tv_sec = 0;
+ timer_struct[timer_pos].timer_data.it_value.tv_nsec = 0;
+ timer_struct[timer_pos].timer_data.it_interval.tv_sec = 0;
+ timer_struct[timer_pos].timer_data.it_interval.tv_nsec = 0;
+
+ /*
+ * The count of expirations is 0
+ */
+
+ timer_struct[timer_pos].overrun = 0;
+
+}
+
+/* ***************************************************************************
* _POSIX_Timer_Manager_initialization
*
* Description: Initialize the internal structure in which the data of all
* the timers are stored
* ***************************************************************************/
-extern void TIMER_INITIALIZE_S( int );
int timer_max;
timer_alive_t *timer_struct;
diff --git a/c/src/exec/posix/src/ptimer1.c b/c/src/exec/posix/src/ptimer1.c
index d42d3dc522..b29654e6d5 100644
--- a/c/src/exec/posix/src/ptimer1.c
+++ b/c/src/exec/posix/src/ptimer1.c
@@ -38,26 +38,6 @@
* Constants
* ************/
-#define STATE_FREE_C 0x01 /* Free position of the table of timers */
-#define STATE_CREATE_NEW_C 0x02 /* Created timer but not running */
-#define STATE_CREATE_RUN_C 0x03 /* Created timer and running */
-#define STATE_CREATE_STOP_C 0x04 /* Created, ran and stopped timer */
-#define MAX_NSEC_C 1000000000 /* Maximum number of nsec allowed */
-#define MIN_NSEC_C 0 /* Minimum number of nsec allowew */
-#define TIMER_RELATIVE_C 0 /* Indicates that the fire time is
- * relative to the current one */
-#define SEC_TO_TICKS_C _TOD_Ticks_per_second /* Number of ticks in a second*/
-#define NSEC_PER_SEC_C 1000000000 /* Nanoseconds in a second */
-
-#define NO_MORE_TIMERS_C 11 /* There is not available timers */
-#define BAD_TIMER_C 11 /* The timer does not exist in the table */
-
-#define SECONDS_PER_YEAR_C ( 360 * 24 * 60 * 60 )
-#define SECONDS_PER_MONTH_C ( 30 * 24 * 60 * 60 )
-#define SECONDS_PER_DAY_C ( 24 * 60 * 60 )
-#define SECONDS_PER_HOUR_C ( 60 * 60 )
-#define SECONDS_PER_MINUTE_C ( 60 )
-
/*
#define DEBUG_MESSAGES
*/
@@ -121,31 +101,7 @@ static void PRINT_ERRNO_S ()
* Description: Initialize the data of a timer
* ***************************************************************************/
-void TIMER_INITIALIZE_S ( int timer_pos )
-{
-
- /*
- * Indicates that the position in the table is free
- */
-
- timer_struct[timer_pos].state = STATE_FREE_C;
-
- /*
- * The initial data of timing are set with null value
- */
-
- timer_struct[timer_pos].timer_data.it_value.tv_sec = 0;
- timer_struct[timer_pos].timer_data.it_value.tv_nsec = 0;
- timer_struct[timer_pos].timer_data.it_interval.tv_sec = 0;
- timer_struct[timer_pos].timer_data.it_interval.tv_nsec = 0;
-
- /*
- * The count of expirations is 0
- */
-
- timer_struct[timer_pos].overrun = 0;
-
-}
+extern void TIMER_INITIALIZE_S ( int timer_pos );
/* ***************************************************************************
* _POSIX_Timer_Manager_initialization
diff --git a/cpukit/posix/include/rtems/posix/timer.h b/cpukit/posix/include/rtems/posix/timer.h
index 264a172d23..f8cbe48b73 100644
--- a/cpukit/posix/include/rtems/posix/timer.h
+++ b/cpukit/posix/include/rtems/posix/timer.h
@@ -5,6 +5,31 @@
#ifndef __RTEMS_POSIX_TIMERS_h
#define __RTEMS_POSIX_TIMERS_h
+/* ************
+ * Constants
+ * ************/
+
+#define STATE_FREE_C 0x01 /* Free position of the table of timers */
+#define STATE_CREATE_NEW_C 0x02 /* Created timer but not running */
+#define STATE_CREATE_RUN_C 0x03 /* Created timer and running */
+#define STATE_CREATE_STOP_C 0x04 /* Created, ran and stopped timer */
+#define MAX_NSEC_C 1000000000 /* Maximum number of nsec allowed */
+#define MIN_NSEC_C 0 /* Minimum number of nsec allowew */
+#define TIMER_RELATIVE_C 0 /* Indicates that the fire time is
+ * relative to the current one */
+#define SEC_TO_TICKS_C _TOD_Ticks_per_second /* Number of ticks in a second*/
+#define NSEC_PER_SEC_C 1000000000 /* Nanoseconds in a second */
+
+#define NO_MORE_TIMERS_C 11 /* There is not available timers */
+#define BAD_TIMER_C 11 /* The timer does not exist in the table */
+
+#define SECONDS_PER_YEAR_C ( 360 * 24 * 60 * 60 )
+#define SECONDS_PER_MONTH_C ( 30 * 24 * 60 * 60 )
+#define SECONDS_PER_DAY_C ( 24 * 60 * 60 )
+#define SECONDS_PER_HOUR_C ( 60 * 60 )
+#define SECONDS_PER_MINUTE_C ( 60 )
+
+
/*
* Data for a timer
*/
diff --git a/cpukit/posix/src/ptimer.c b/cpukit/posix/src/ptimer.c
index 72fd7939a2..d8733e8bfa 100644
--- a/cpukit/posix/src/ptimer.c
+++ b/cpukit/posix/src/ptimer.c
@@ -35,13 +35,44 @@
#include <rtems/posix/timer.h>
/* ***************************************************************************
+ * TIMER_INITIALIZE_S
+ *
+ * Description: Initialize the data of a timer
+ * ***************************************************************************/
+
+void TIMER_INITIALIZE_S ( int timer_pos )
+{
+
+ /*
+ * Indicates that the position in the table is free
+ */
+
+ timer_struct[timer_pos].state = STATE_FREE_C;
+
+ /*
+ * The initial data of timing are set with null value
+ */
+
+ timer_struct[timer_pos].timer_data.it_value.tv_sec = 0;
+ timer_struct[timer_pos].timer_data.it_value.tv_nsec = 0;
+ timer_struct[timer_pos].timer_data.it_interval.tv_sec = 0;
+ timer_struct[timer_pos].timer_data.it_interval.tv_nsec = 0;
+
+ /*
+ * The count of expirations is 0
+ */
+
+ timer_struct[timer_pos].overrun = 0;
+
+}
+
+/* ***************************************************************************
* _POSIX_Timer_Manager_initialization
*
* Description: Initialize the internal structure in which the data of all
* the timers are stored
* ***************************************************************************/
-extern void TIMER_INITIALIZE_S( int );
int timer_max;
timer_alive_t *timer_struct;
diff --git a/cpukit/posix/src/ptimer1.c b/cpukit/posix/src/ptimer1.c
index d42d3dc522..b29654e6d5 100644
--- a/cpukit/posix/src/ptimer1.c
+++ b/cpukit/posix/src/ptimer1.c
@@ -38,26 +38,6 @@
* Constants
* ************/
-#define STATE_FREE_C 0x01 /* Free position of the table of timers */
-#define STATE_CREATE_NEW_C 0x02 /* Created timer but not running */
-#define STATE_CREATE_RUN_C 0x03 /* Created timer and running */
-#define STATE_CREATE_STOP_C 0x04 /* Created, ran and stopped timer */
-#define MAX_NSEC_C 1000000000 /* Maximum number of nsec allowed */
-#define MIN_NSEC_C 0 /* Minimum number of nsec allowew */
-#define TIMER_RELATIVE_C 0 /* Indicates that the fire time is
- * relative to the current one */
-#define SEC_TO_TICKS_C _TOD_Ticks_per_second /* Number of ticks in a second*/
-#define NSEC_PER_SEC_C 1000000000 /* Nanoseconds in a second */
-
-#define NO_MORE_TIMERS_C 11 /* There is not available timers */
-#define BAD_TIMER_C 11 /* The timer does not exist in the table */
-
-#define SECONDS_PER_YEAR_C ( 360 * 24 * 60 * 60 )
-#define SECONDS_PER_MONTH_C ( 30 * 24 * 60 * 60 )
-#define SECONDS_PER_DAY_C ( 24 * 60 * 60 )
-#define SECONDS_PER_HOUR_C ( 60 * 60 )
-#define SECONDS_PER_MINUTE_C ( 60 )
-
/*
#define DEBUG_MESSAGES
*/
@@ -121,31 +101,7 @@ static void PRINT_ERRNO_S ()
* Description: Initialize the data of a timer
* ***************************************************************************/
-void TIMER_INITIALIZE_S ( int timer_pos )
-{
-
- /*
- * Indicates that the position in the table is free
- */
-
- timer_struct[timer_pos].state = STATE_FREE_C;
-
- /*
- * The initial data of timing are set with null value
- */
-
- timer_struct[timer_pos].timer_data.it_value.tv_sec = 0;
- timer_struct[timer_pos].timer_data.it_value.tv_nsec = 0;
- timer_struct[timer_pos].timer_data.it_interval.tv_sec = 0;
- timer_struct[timer_pos].timer_data.it_interval.tv_nsec = 0;
-
- /*
- * The count of expirations is 0
- */
-
- timer_struct[timer_pos].overrun = 0;
-
-}
+extern void TIMER_INITIALIZE_S ( int timer_pos );
/* ***************************************************************************
* _POSIX_Timer_Manager_initialization