From b8d3f6b3b7fd03102f8a06aaaec330a0293c95d2 Mon Sep 17 00:00:00 2001 From: Chris Johns Date: Sun, 24 Jan 2016 21:37:53 +1100 Subject: C user guide clean up. Up to timer manager. --- c_user/rtems_data_types.rst | 487 ++++++++++++++++++++++---------------------- 1 file changed, 247 insertions(+), 240 deletions(-) (limited to 'c_user/rtems_data_types.rst') diff --git a/c_user/rtems_data_types.rst b/c_user/rtems_data_types.rst index 83e9fe2..65d336f 100644 --- a/c_user/rtems_data_types.rst +++ b/c_user/rtems_data_types.rst @@ -1,379 +1,386 @@ +.. COMMENT: COPYRIGHT (c) 1988-2008. +.. COMMENT: On-Line Applications Research Corporation (OAR). +.. COMMENT: All rights reserved. + RTEMS Data Types ################ Introduction ============ -This chapter contains a complete list of the RTEMS primitive -data types in alphabetical order. This is intended to be -an overview and the user is encouraged to look at the appropriate -chapters in the manual for more information about the -usage of the various data types. +This chapter contains a complete list of the RTEMS primitive data types in +alphabetical order. This is intended to be an overview and the user is +encouraged to look at the appropriate chapters in the manual for more +information about the usage of the various data types. List of Data Types ================== -The following is a complete list of the RTEMS primitive -data types in alphabetical order: +The following is a complete list of the RTEMS primitive data types in +alphabetical order: -- .. index:: rtems_address +.. index:: rtems_address - ``rtems_address`` is the data type used to manage - addresses. It is equivalent to - a "void \*" pointer. +``rtems_address`` + The data type used to manage addresses. It is equivalent to a ``void *`` + pointer. -- .. index:: rtems_asr +.. index:: rtems_asr - ``rtems_asr`` is the return type for an - RTEMS ASR. +``rtems_asr`` + The return type for an RTEMS ASR. -- .. index:: rtems_asr_entry +.. index:: rtems_asr_entry - ``rtems_asr_entry`` is the address of - the entry point to an RTEMS ASR. +``rtems_asr_entry`` + The address of the entry point to an RTEMS ASR. -- .. index:: rtems_attribute + .. index:: rtems_attribute - ``rtems_attribute`` is the data type used - to manage the attributes for RTEMS objects. It is primarily - used as an argument to object create routines to specify +``rtems_attribute`` + The data type used to manage the attributes for RTEMS objects. It is + primarily used as an argument to object create routines to specify characteristics of the new object. -- .. index:: rtems_boolean +.. index:: rtems_boolean - ``rtems_boolean`` may only take on the - values of ``TRUE`` and ``FALSE``. - This type is deprecated. Use "bool" instead. +``rtems_boolean`` + May only take on the values of ``TRUE`` and ``FALSE``. This type is + deprecated. Use ``bool`` instead. -- .. index:: rtems_context +.. index:: rtems_context - ``rtems_context`` is the CPU dependent - data structure used to manage the integer and system +``rtems_context`` + The CPU dependent data structure used to manage the integer and system register portion of each task's context. -- .. index:: rtems_context_fp +.. index:: rtems_context_fp - ``rtems_context_fp`` is the CPU dependent - data structure used to manage the floating point portion of +``rtems_context_fp`` + The CPU dependent data structure used to manage the floating point portion of each task's context. -- .. index:: rtems_device_driver +.. index:: rtems_device_driver - ``rtems_device_driver`` is the - return type for a RTEMS device driver routine. +``rtems_device_driver`` + The return type for a RTEMS device driver routine. -- .. index:: rtems_device_driver_entry +.. index:: rtems_device_driver_entry - ``rtems_device_driver_entry`` is the - entry point to a RTEMS device driver routine. +``rtems_device_driver_entry`` + The entry point to a RTEMS device driver routine. -- .. index:: rtems_device_major_number +.. index:: rtems_device_major_number - ``rtems_device_major_number`` is the - data type used to manage device major numbers. +``rtems_device_major_number`` + The data type used to manage device major numbers. -- .. index:: rtems_device_minor_number +.. index:: rtems_device_minor_number - ``rtems_device_minor_number`` is the - data type used to manage device minor numbers. +``rtems_device_minor_number`` + The data type used to manage device minor numbers. -- .. index:: rtems_double +.. index:: rtems_double - ``rtems_double`` is the RTEMS data - type that corresponds to double precision floating point - on the target hardware. - This type is deprecated. Use "double" instead. +``rtems_double`` + The RTEMS data type that corresponds to double precision floating point on + the target hardware. This type is deprecated. Use ``double`` instead. -- .. index:: rtems_event_set +.. index:: rtems_event_set - ``rtems_event_set`` is the data - type used to manage and manipulate RTEMS event sets - with the Event Manager. +``rtems_event_set`` + The data type used to manage and manipulate RTEMS event sets with the Event + Manager. -- .. index:: rtems_extension +.. index:: rtems_extension - ``rtems_extension`` is the return type - for RTEMS user extension routines. +``rtems_extension`` + The return type for RTEMS user extension routines. -- .. index:: rtems_fatal_extension +.. index:: rtems_fatal_extension - ``rtems_fatal_extension`` is the - entry point for a fatal error user extension handler routine. +``rtems_fatal_extension`` -- .. index:: rtems_id + The entry point for a fatal error user extension handler routine. - ``rtems_id`` is the data type used - to manage and manipulate RTEMS object IDs. +.. index:: rtems_id -- .. index:: rtems_interrupt_frame +``rtems_id`` + The data type used to manage and manipulate RTEMS object IDs. - ``rtems_interrupt_frame`` is the - data structure that defines the format of the interrupt - stack frame as it appears to a user ISR. This data - structure may not be defined on all ports. +.. index:: rtems_interrupt_frame -- .. index:: rtems_interrupt_level +``rtems_interrupt_frame`` + The data structure that defines the format of the interrupt stack frame as it + appears to a user ISR. This data structure may not be defined on all ports. - ``rtems_interrupt_level`` is the - data structure used with the ``rtems_interrupt_disable``,``rtems_interrupt_enable``, and``rtems_interrupt_flash`` routines. This - data type is CPU dependent and usually corresponds to - the contents of the processor register containing - the interrupt mask level. +.. index:: rtems_interrupt_level -- .. index:: rtems_interval +``rtems_interrupt_level`` - ``rtems_interval`` is the data - type used to manage and manipulate time intervals. - Intervals are non-negative integers used to measure - the length of time in clock ticks. + The data structure used with the ``rtems_interrupt_disable``, + ``rtems_interrupt_enable``, and ``rtems_interrupt_flash`` routines. This + data type is CPU dependent and usually corresponds to the contents of the + processor register containing the interrupt mask level. -- .. index:: rtems_isr +.. index:: rtems_interval - ``rtems_isr`` is the return type - of a function implementing an RTEMS ISR. +``rtems_interval`` + The data type used to manage and manipulate time intervals. Intervals are + non-negative integers used to measure the length of time in clock ticks. -- .. index:: rtems_isr_entry +.. index:: rtems_isr - ``rtems_isr_entry`` is the address of - the entry point to an RTEMS ISR. It is equivalent to the +``rtems_isr`` + The return type of a function implementing an RTEMS ISR. + +.. index:: rtems_isr_entry + +``rtems_isr_entry`` + The address of the entry point to an RTEMS ISR. It is equivalent to the entry point of the function implementing the ISR. -- .. index:: rtems_mp_packet_classes +.. index:: rtems_mp_packet_classes - ``rtems_mp_packet_classes`` is the - enumerated type which specifies the categories of - multiprocessing messages. For example, one of the - classes is for messages that must be processed by - the Task Manager. +``rtems_mp_packet_classes`` + The enumerated type which specifies the categories of multiprocessing + messages. For example, one of the classes is for messages that must be + processed by the Task Manager. -- .. index:: rtems_mode +.. index:: rtems_mode - ``rtems_mode`` is the data type - used to manage and dynamically manipulate the execution - mode of an RTEMS task. +``rtems_mode`` + The data type used to manage and dynamically manipulate the execution mode of + an RTEMS task. -- .. index:: rtems_mpci_entry +.. index:: rtems_mpci_entry - ``rtems_mpci_entry`` is the return type - of an RTEMS MPCI routine. +``rtems_mpci_entry`` + The return type of an RTEMS MPCI routine. -- .. index:: rtems_mpci_get_packet_entry +.. index:: rtems_mpci_get_packet_entry - ``rtems_mpci_get_packet_entry`` is the address of - the entry point to the get packet routine for an MPCI implementation. +``rtems_mpci_get_packet_entry`` + The address of the entry point to the get packet routine for an MPCI + implementation. -- .. index:: rtems_mpci_initialization_entry +.. index:: rtems_mpci_initialization_entry - ``rtems_mpci_initialization_entry`` is the address of - the entry point to the initialization routine for an MPCI implementation. +``rtems_mpci_initialization_entry`` + The address of the entry point to the initialization routine for an MPCI + implementation. -- .. index:: rtems_mpci_receive_packet_entry +.. index:: rtems_mpci_receive_packet_entry - ``rtems_mpci_receive_packet_entry`` is the address of - the entry point to the receive packet routine for an MPCI implementation. +``rtems_mpci_receive_packet_entry`` + The address of the entry point to the receive packet routine for an MPCI + implementation. -- .. index:: rtems_mpci_return_packet_entry +.. index:: rtems_mpci_return_packet_entry - ``rtems_mpci_return_packet_entry`` is the address of - the entry point to the return packet routine for an MPCI implementation. +``rtems_mpci_return_packet_entry`` + The address of the entry point to the return packet routine for an MPCI + implementation. -- .. index:: rtems_mpci_send_packet_entry +.. index:: rtems_mpci_send_packet_entry - ``rtems_mpci_send_packet_entry`` is the address of - the entry point to the send packet routine for an MPCI implementation. +``rtems_mpci_send_packet_entry`` + The address of the entry point to the send packet routine for an MPCI + implementation. -- .. index:: rtems_mpci_table +.. index:: rtems_mpci_table - ``rtems_mpci_table`` is the data structure - containing the configuration information for an MPCI. +``rtems_mpci_table`` + The data structure containing the configuration information for an MPCI. -- .. index:: rtems_name +.. index:: rtems_name - ``rtems_name`` is the data type used to - contain the name of a Classic API object. It is an unsigned - thirty-two bit integer which can be treated as a numeric - value or initialized using ``rtems_build_name`` to - contain four ASCII characters. +``rtems_name`` + The data type used to contain the name of a Classic API object. It is an + unsigned thirty-two bit integer which can be treated as a numeric value or + initialized using ``rtems_build_name`` to contain four ASCII characters. -- .. index:: rtems_option +.. index:: rtems_option - ``rtems_option`` is the data type - used to specify which behavioral options the caller desires. - It is commonly used with potentially blocking directives to specify - whether the caller is willing to block or return immediately with an error - indicating that the resource was not available. +``rtems_option`` + The data type used to specify which behavioral options the caller desires. + It is commonly used with potentially blocking directives to specify whether + the caller is willing to block or return immediately with an error indicating + that the resource was not available. -- .. index:: rtems_packet_prefix +.. index:: rtems_packet_prefix - ``rtems_packet_prefix`` is the data structure - that defines the first bytes in every packet sent between nodes - in an RTEMS multiprocessor system. It contains routing information +``rtems_packet_prefix`` + The data structure that defines the first bytes in every packet sent between + nodes in an RTEMS multiprocessor system. It contains routing information that is expected to be used by the MPCI layer. -- .. index:: rtems_signal_set +.. index:: rtems_signal_set - ``rtems_signal_set`` is the data - type used to manage and manipulate RTEMS signal sets - with the Signal Manager. +``rtems_signal_set`` + The data type used to manage and manipulate RTEMS signal sets with the Signal + Manager. -- .. index:: int8_t +.. index:: int8_t - ``int8_t`` is the C99 data type that corresponds to signed eight - bit integers. This data type is defined by RTEMS in a manner that - ensures it is portable across different target processors. +``int8_t`` + The C99 data type that corresponds to signed eight bit integers. This data + type is defined by RTEMS in a manner that ensures it is portable across + different target processors. -- .. index:: int16_t +.. index:: int16_t - ``int16_t`` is the C99 data type that corresponds to signed - sixteen bit integers. This data type is defined by RTEMS in a manner - that ensures it is portable across different target processors. +``int16_t`` + The C99 data type that corresponds to signed sixteen bit integers. This data + type is defined by RTEMS in a manner that ensures it is portable across + different target processors. -- .. index:: int32_t +.. index:: int32_t - ``int32_t`` is the C99 data type that corresponds to signed - thirty-two bit integers. This data type is defined by RTEMS in a manner - that ensures it is portable across different target processors. +``int32_t`` + The C99 data type that corresponds to signed thirty-two bit integers. This + data type is defined by RTEMS in a manner that ensures it is portable across + different target processors. -- .. index:: int64_t +.. index:: int64_t - ``int64_t`` is the C99 data type that corresponds to signed - sixty-four bit integers. This data type is defined by RTEMS in a manner - that ensures it is portable across different target processors. +``int64_t`` + The C99 data type that corresponds to signed sixty-four bit integers. This + data type is defined by RTEMS in a manner that ensures it is portable across + different target processors. -- .. index:: rtems_single +.. index:: rtems_single - ``rtems_single`` is the RTEMS data - type that corresponds to single precision floating point - on the target hardware. - This type is deprecated. Use "float" instead. +``rtems_single`` + The RTEMS data type that corresponds to single precision floating point on + the target hardware. This type is deprecated. Use ``float`` instead. -- .. index:: rtems_status_codes +.. index:: rtems_status_codes - ``rtems_status_codes`` is the return type for most - RTEMS services. This is an enumerated type of approximately twenty-five - values. In general, when a service returns a particular status code, it - indicates that a very specific error condition has occurred. +``rtems_status_codes`` + The return type for most RTEMS services. This is an enumerated type of + approximately twenty-five values. In general, when a service returns a + particular status code, it indicates that a very specific error condition has + occurred. -- .. index:: rtems_task +.. index:: rtems_task - ``rtems_task`` is the return type for an - RTEMS Task. +``rtems_task`` + The return type for an RTEMS Task. -- .. index:: rtems_task_argument +.. index:: rtems_task_argument - ``rtems_task_argument`` is the data - type for the argument passed to each RTEMS task. In RTEMS 4.7 - and older, this is an unsigned thirty-two bit integer. In - RTEMS 4.8 and newer, this is based upon the C99 type ``uintptr_t`` - which is guaranteed to be an integer large enough to hold a - pointer on the target architecture. +``rtems_task_argument`` + The data type for the argument passed to each RTEMS task. In RTEMS 4.7 and + older, this is an unsigned thirty-two bit integer. In RTEMS 4.8 and newer, + this is based upon the C99 type ``uintptr_t`` which is guaranteed to be an + integer large enough to hold a pointer on the target architecture. -- .. index:: rtems_task_begin_extension +.. index:: rtems_task_begin_extension - ``rtems_task_begin_extension`` is the - entry point for a task beginning execution user extension handler routine. +``rtems_task_begin_extension`` + The entry point for a task beginning execution user extension handler + routine. -- .. index:: rtems_task_create_extension +.. index:: rtems_task_create_extension - ``rtems_task_create_extension`` is the - entry point for a task creation execution user extension handler routine. +``rtems_task_create_extension`` + The entry point for a task creation execution user extension handler routine. -- .. index:: rtems_task_delete_extension +.. index:: rtems_task_delete_extension - ``rtems_task_delete_extension`` is the - entry point for a task deletion user extension handler routine. +``rtems_task_delete_extension`` + The entry point for a task deletion user extension handler routine. -- .. index:: rtems_task_entry +.. index:: rtems_task_entry - ``rtems_task_entry`` is the address of - the entry point to an RTEMS ASR. It is equivalent to the +``rtems_task_entry`` + The address of the entry point to an RTEMS ASR. It is equivalent to the entry point of the function implementing the ASR. -- .. index:: rtems_task_exitted_extension +.. index:: rtems_task_exitted_extension - ``rtems_task_exitted_extension`` is the - entry point for a task exitted user extension handler routine. +``rtems_task_exitted_extension`` + The entry point for a task exitted user extension handler routine. -- .. index:: rtems_task_priority +.. index:: rtems_task_priority - ``rtems_task_priority`` is the data type - used to manage and manipulate task priorities. +``rtems_task_priority`` + The data type used to manage and manipulate task priorities. -- .. index:: rtems_task_restart_extension +.. index:: rtems_task_restart_extension - ``rtems_task_restart_extension`` is the - entry point for a task restart user extension handler routine. +``rtems_task_restart_extension`` + The entry point for a task restart user extension handler routine. -- .. index:: rtems_task_start_extension +.. index:: rtems_task_start_extension - ``rtems_task_start_extension`` is the - entry point for a task start user extension handler routine. +``rtems_task_start_extension`` + The entry point for a task start user extension handler routine. -- .. index:: rtems_task_switch_extension +.. index:: rtems_task_switch_extension - ``rtems_task_switch_extension`` is the - entry point for a task context switch user extension handler routine. +``rtems_task_switch_extension`` + The entry point for a task context switch user extension handler routine. -- .. index:: rtems_tcb +.. index:: rtems_tcb - ``rtems_tcb`` is the data structure associated - with each task in an RTEMS system. +``rtems_tcb`` + The data structure associated with each task in an RTEMS system. -- .. index:: rtems_time_of_day +.. index:: rtems_time_of_day - ``rtems_time_of_day`` is the data structure - used to manage and manipulate calendar time in RTEMS. +``rtems_time_of_day`` + The data structure used to manage and manipulate calendar time in RTEMS. -- .. index:: rtems_timer_service_routine +.. index:: rtems_timer_service_routine - ``rtems_timer_service_routine`` is the - return type for an RTEMS Timer Service Routine. +``rtems_timer_service_routine`` + The return type for an RTEMS Timer Service Routine. -- .. index:: rtems_timer_service_routine_entry +.. index:: rtems_timer_service_routine_entry - ``rtems_timer_service_routine_entry`` is the address of - the entry point to an RTEMS TSR. It is equivalent to the +``rtems_timer_service_routine_entry`` + The address of the entry point to an RTEMS TSR. It is equivalent to the entry point of the function implementing the TSR. -- .. index:: rtems_vector_number - - ``rtems_vector_number`` is the data - type used to manage and manipulate interrupt vector numbers. +.. index:: rtems_vector_number -- .. index:: uint8_t +``rtems_vector_number`` + The data type used to manage and manipulate interrupt vector numbers. - ``uint8_t`` is the C99 data type that corresponds to unsigned - eight bit integers. This data type is defined by RTEMS in a manner that - ensures it is portable across different target processors. +.. index:: uint8_t -- .. index:: uint16_t +``uint8_t`` + The C99 data type that corresponds to unsigned eight bit integers. This data + type is defined by RTEMS in a manner that ensures it is portable across + different target processors. - ``uint16_t`` is the C99 data type that corresponds to unsigned - sixteen bit integers. This data type is defined by RTEMS in a manner - that ensures it is portable across different target processors. +.. index:: uint16_t -- .. index:: uint32_t +``uint16_t`` + The C99 data type that corresponds to unsigned sixteen bit integers. This + data type is defined by RTEMS in a manner that ensures it is portable across + different target processors. - ``uint32_t`` is the C99 data type that corresponds to unsigned - thirty-two bit integers. This data type is defined by RTEMS in a manner - that ensures it is portable across different target processors. +.. index:: uint32_t -- .. index:: uint64_t +``uint32_t`` + The C99 data type that corresponds to unsigned thirty-two bit integers. This + data type is defined by RTEMS in a manner that ensures it is portable across + different target processors. - ``uint64_t`` is the C99 data type that corresponds to unsigned - sixty-four bit integers. This data type is defined by RTEMS in a manner - that ensures it is portable across different target processors. +.. index:: uint64_t -- .. index:: uintptr_t +``uint64_t`` + The C99 data type that corresponds to unsigned sixty-four bit integers. This + data type is defined by RTEMS in a manner that ensures it is portable across + different target processors. - ``uintptr_t`` is the C99 data type that corresponds to the - unsigned integer type that is of sufficient size to represent addresses - as unsigned integers. This data type is defined by RTEMS in a manner - that ensures it is portable across different target processors. - -.. COMMENT: COPYRIGHT (c) 1988-2011. - -.. COMMENT: On-Line Applications Research Corporation (OAR). - -.. COMMENT: All rights reserved. +.. index:: uintptr_t +``uintptr_t`` + The C99 data type that corresponds to the unsigned integer type that is of + sufficient size to represent addresses as unsigned integers. This data type + is defined by RTEMS in a manner that ensures it is portable across different + target processors. -- cgit v1.2.3