From 67ebbcf72df5a6ebf02a075237559e3783878a09 Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Wed, 30 Aug 2000 07:54:26 +0000 Subject: 2000-08-30 Joel Sherrill * taskstart.c: Added 1st cut at rtems_task_start_main_style. --- c/src/exec/rtems/ChangeLog | 4 ++++ c/src/exec/rtems/src/taskstart.c | 43 +++++++++++++++++++++++++++++++++++----- cpukit/rtems/ChangeLog | 4 ++++ cpukit/rtems/src/taskstart.c | 43 +++++++++++++++++++++++++++++++++++----- 4 files changed, 84 insertions(+), 10 deletions(-) diff --git a/c/src/exec/rtems/ChangeLog b/c/src/exec/rtems/ChangeLog index 101734ce64..6b3c637492 100644 --- a/c/src/exec/rtems/ChangeLog +++ b/c/src/exec/rtems/ChangeLog @@ -1,3 +1,7 @@ +2000-08-30 Joel Sherrill + + * taskstart.c: Added 1st cut at rtems_task_start_main_style. + 2000-08-10 Joel Sherrill * ChangeLog: New file. diff --git a/c/src/exec/rtems/src/taskstart.c b/c/src/exec/rtems/src/taskstart.c index 6764333d87..ab31e4599e 100644 --- a/c/src/exec/rtems/src/taskstart.c +++ b/c/src/exec/rtems/src/taskstart.c @@ -46,10 +46,12 @@ * error code - if unsuccessful */ -rtems_status_code rtems_task_start( - rtems_id id, - rtems_task_entry entry_point, - unsigned32 argument +rtems_status_code rtems_task_start_support( + rtems_id id, + rtems_task_entry entry_point, + Thread_Start_types arg_style, + unsigned32 u32_arg, + void *void_arg ) { register Thread_Control *the_thread; @@ -72,7 +74,7 @@ rtems_status_code rtems_task_start( case OBJECTS_LOCAL: if ( _Thread_Start( - the_thread, THREAD_START_NUMERIC, entry_point, NULL, argument ) ) { + the_thread, arg_style, entry_point, void_arg, u32_arg ) ) { _Thread_Enable_dispatch(); return RTEMS_SUCCESSFUL; } @@ -82,3 +84,34 @@ rtems_status_code rtems_task_start( return RTEMS_INTERNAL_ERROR; /* unreached - only to remove warnings */ } + +rtems_status_code rtems_task_start( + rtems_id id, + rtems_task_entry entry_point, + unsigned32 argument +) +{ + return rtems_task_start_support( + id, + entry_point, + THREAD_START_NUMERIC, + argument, + NULL + ); +} + +rtems_status_code rtems_task_start_main_style( + rtems_id id, + rtems_task (*entry_point)(int, char **), + int argc, + char **argv +) +{ + return rtems_task_start_support( + id, + (rtems_task_entry) entry_point, + THREAD_START_BOTH_NUMERIC_FIRST, + argc, + argv + ); +} diff --git a/cpukit/rtems/ChangeLog b/cpukit/rtems/ChangeLog index 101734ce64..6b3c637492 100644 --- a/cpukit/rtems/ChangeLog +++ b/cpukit/rtems/ChangeLog @@ -1,3 +1,7 @@ +2000-08-30 Joel Sherrill + + * taskstart.c: Added 1st cut at rtems_task_start_main_style. + 2000-08-10 Joel Sherrill * ChangeLog: New file. diff --git a/cpukit/rtems/src/taskstart.c b/cpukit/rtems/src/taskstart.c index 6764333d87..ab31e4599e 100644 --- a/cpukit/rtems/src/taskstart.c +++ b/cpukit/rtems/src/taskstart.c @@ -46,10 +46,12 @@ * error code - if unsuccessful */ -rtems_status_code rtems_task_start( - rtems_id id, - rtems_task_entry entry_point, - unsigned32 argument +rtems_status_code rtems_task_start_support( + rtems_id id, + rtems_task_entry entry_point, + Thread_Start_types arg_style, + unsigned32 u32_arg, + void *void_arg ) { register Thread_Control *the_thread; @@ -72,7 +74,7 @@ rtems_status_code rtems_task_start( case OBJECTS_LOCAL: if ( _Thread_Start( - the_thread, THREAD_START_NUMERIC, entry_point, NULL, argument ) ) { + the_thread, arg_style, entry_point, void_arg, u32_arg ) ) { _Thread_Enable_dispatch(); return RTEMS_SUCCESSFUL; } @@ -82,3 +84,34 @@ rtems_status_code rtems_task_start( return RTEMS_INTERNAL_ERROR; /* unreached - only to remove warnings */ } + +rtems_status_code rtems_task_start( + rtems_id id, + rtems_task_entry entry_point, + unsigned32 argument +) +{ + return rtems_task_start_support( + id, + entry_point, + THREAD_START_NUMERIC, + argument, + NULL + ); +} + +rtems_status_code rtems_task_start_main_style( + rtems_id id, + rtems_task (*entry_point)(int, char **), + int argc, + char **argv +) +{ + return rtems_task_start_support( + id, + (rtems_task_entry) entry_point, + THREAD_START_BOTH_NUMERIC_FIRST, + argc, + argv + ); +} -- cgit v1.2.3