From 2e711f2b4b59398a18d21ea34bdb064c459fdd45 Mon Sep 17 00:00:00 2001 From: Martin Erik Werner Date: Tue, 3 Sep 2019 01:48:28 +0200 Subject: Address several issues from compiling examples Compiling the code from examples "code-block:: c" along with public includes and a bsp exposed a few issues amongst a lot of false positives. Address some of these: * Terminate struct declarations with ';'. Mainly for pedantic correctness. * Show ptrdiff_t instead of size_t for the sbrk() prototype, matching the current argument type in rtems. * Replace some occurrences of unsigned16 with uint16_t. * Fix odd type declaration, "uint8_t char*" -> "char*". * Use appropriate helper to get chain head instead of invalid access to nonexistent struct member. * Remove several excess '\' escapes. * Use RTEMS_SELF instead of undefined SELF. * Use rtems_task instead of void for task functions. * Add missing stack size parameter in task creation. * Use rtems_interrupt_level instead of undefined rtems_interrupt. * Correct return value format for rtems_object_id_get_api() rtems_object_id_get_index() (enum and uint16_t) and also fix corresponding print formatting. * Correct return value documentation for rtems_object_id_get_class(), rtems_object_id_get_node() and rtems_object_id_get_index() int -> uint32_t. * Use RTEMS_SUCCESSFUL instead of undefined RTEMS_STATUS_SUCCESSFUL and fix return value variable name in rate monotonic examples. * Use RTEMS_TIMEOUT instead of undefined TIMEOUT and RTEMS_PERIOD_STATUS instead of undefined STATUS. * Add missing fields to ftpd configuration. * Correct parameter types in ftpd hook prototype, unsigned char * -> void *. * Fix various code-block:: attributes, c -> makefile and c -> shell. * Add missing parenthesis in socket buffer memory calculation example. * Remove typedef in declaration of mq_attr since it is defiend without typedef in reality. * Update siginfo_t declaration to match current reality. * Update shell user command definition example to include mode, uid and gid. --- c-user/rate_monotonic_manager.rst | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) (limited to 'c-user/rate_monotonic_manager.rst') diff --git a/c-user/rate_monotonic_manager.rst b/c-user/rate_monotonic_manager.rst index 927042b..1cc55fe 100644 --- a/c-user/rate_monotonic_manager.rst +++ b/c-user/rate_monotonic_manager.rst @@ -522,8 +522,8 @@ executes every 100 clock ticks. rtems_status_code status; name = rtems_build_name( 'P', 'E', 'R', 'D' ); status = rtems_rate_monotonic_create( name, &period ); - if ( status != RTEMS_STATUS_SUCCESSFUL ) { - printf( "rtems_monotonic_create failed with status of %d.\n", rc ); + if ( status != RTEMS_SUCCESSFUL ) { + printf( "rtems_monotonic_create failed with status of %d.\n", status ); exit( 1 ); } while ( 1 ) { @@ -533,11 +533,11 @@ executes every 100 clock ticks. } /* missed period so delete period and SELF */ status = rtems_rate_monotonic_delete( period ); - if ( status != RTEMS_STATUS_SUCCESSFUL ) { + if ( status != RTEMS_SUCCESSFUL ) { printf( "rtems_rate_monotonic_delete failed with status of %d.\n", status ); exit( 1 ); } - status = rtems_task_delete( SELF ); /* should not return */ + status = rtems_task_delete( RTEMS_SELF ); /* should not return */ printf( "rtems_task_delete returned with status of %d.\n", status ); exit( 1 ); } @@ -568,21 +568,20 @@ ticks. The last thirty clock ticks are not used by this task. { rtems_name name_1, name_2; rtems_id period_1, period_2; - rtems_status_code status; name_1 = rtems_build_name( 'P', 'E', 'R', '1' ); name_2 = rtems_build_name( 'P', 'E', 'R', '2' ); (void ) rtems_rate_monotonic_create( name_1, &period_1 ); (void ) rtems_rate_monotonic_create( name_2, &period_2 ); while ( 1 ) { - if ( rtems_rate_monotonic_period( period_1, 100 ) == TIMEOUT ) + if ( rtems_rate_monotonic_period( period_1, 100 ) == RTEMS_TIMEOUT ) break; - if ( rtems_rate_monotonic_period( period_2, 40 ) == TIMEOUT ) + if ( rtems_rate_monotonic_period( period_2, 40 ) == RTEMS_TIMEOUT ) break; /* * Perform first set of actions between clock * ticks 0 and 39 of every 100 ticks. */ - if ( rtems_rate_monotonic_period( period_2, 30 ) == TIMEOUT ) + if ( rtems_rate_monotonic_period( period_2, 30 ) == RTEMS_TIMEOUT ) break; /* * Perform second set of actions between clock 40 and 69 @@ -590,14 +589,14 @@ ticks. The last thirty clock ticks are not used by this task. * * Check to make sure we didn't miss the period_2 period. */ - if ( rtems_rate_monotonic_period( period_2, STATUS ) == TIMEOUT ) + if ( rtems_rate_monotonic_period( period_2, RTEMS_PERIOD_STATUS ) == RTEMS_TIMEOUT ) break; (void) rtems_rate_monotonic_cancel( period_2 ); } /* missed period so delete period and SELF */ (void ) rtems_rate_monotonic_delete( period_1 ); (void ) rtems_rate_monotonic_delete( period_2 ); - (void ) task_delete( SELF ); + (void ) rtems_task_delete( RTEMS_SELF ); } The above task creates two rate monotonic periods as part of its -- cgit v1.2.3