summaryrefslogtreecommitdiffstats
path: root/c-user/rtems_data_types.rst
diff options
context:
space:
mode:
authorChris Johns <chrisj@rtems.org>2016-11-03 16:58:08 +1100
committerChris Johns <chrisj@rtems.org>2016-11-03 16:58:08 +1100
commit72a62ad88f82fe1ffee50024db4dd0f3fa5806f7 (patch)
tree6b0e527e67141f8126ba56b8a3c1eb90aeed5849 /c-user/rtems_data_types.rst
parentwaf: Use separate doctrees so avoid sphinx clashes. (diff)
downloadrtems-docs-72a62ad88f82fe1ffee50024db4dd0f3fa5806f7.tar.bz2
Rename all manuals with an _ to have a -. It helps released naming of files.
Diffstat (limited to 'c-user/rtems_data_types.rst')
-rw-r--r--c-user/rtems_data_types.rst386
1 files changed, 386 insertions, 0 deletions
diff --git a/c-user/rtems_data_types.rst b/c-user/rtems_data_types.rst
new file mode 100644
index 0000000..015901d
--- /dev/null
+++ b/c-user/rtems_data_types.rst
@@ -0,0 +1,386 @@
+.. comment SPDX-License-Identifier: CC-BY-SA-4.0
+
+.. 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.
+
+List of Data Types
+==================
+
+The following is a complete list of the RTEMS primitive data types in
+alphabetical order:
+
+.. index:: rtems_address
+
+``rtems_address``
+ The data type used to manage addresses. It is equivalent to a ``void *``
+ pointer.
+
+.. index:: rtems_asr
+
+``rtems_asr``
+ The return type for an RTEMS ASR.
+
+.. index:: rtems_asr_entry
+
+``rtems_asr_entry``
+ The address of the entry point to an RTEMS ASR.
+
+ .. index:: rtems_attribute
+
+``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
+
+``rtems_boolean``
+ May only take on the values of ``TRUE`` and ``FALSE``. This type is
+ deprecated. Use ``bool`` instead.
+
+.. index:: rtems_context
+
+``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
+
+``rtems_context_fp``
+ The CPU dependent data structure used to manage the floating point portion of
+ each task's context.
+
+.. index:: rtems_device_driver
+
+``rtems_device_driver``
+ The return type for a RTEMS device driver routine.
+
+.. index:: rtems_device_driver_entry
+
+``rtems_device_driver_entry``
+ The entry point to a RTEMS device driver routine.
+
+.. index:: rtems_device_major_number
+
+``rtems_device_major_number``
+ The data type used to manage device major numbers.
+
+.. index:: rtems_device_minor_number
+
+``rtems_device_minor_number``
+ The data type used to manage device minor numbers.
+
+.. index:: rtems_double
+
+``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
+
+``rtems_event_set``
+ The data type used to manage and manipulate RTEMS event sets with the Event
+ Manager.
+
+.. index:: rtems_extension
+
+``rtems_extension``
+ The return type for RTEMS user extension routines.
+
+.. index:: rtems_fatal_extension
+
+``rtems_fatal_extension``
+ The entry point for a fatal error user extension handler routine.
+
+.. index:: rtems_id
+
+``rtems_id``
+ The data type used to manage and manipulate RTEMS object IDs.
+
+.. index:: rtems_interrupt_frame
+
+``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.
+
+.. index:: rtems_interrupt_level
+
+``rtems_interrupt_level``
+ 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_interval
+
+``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
+
+``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
+
+``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
+
+``rtems_mode``
+ The data type used to manage and dynamically manipulate the execution mode of
+ an RTEMS task.
+
+.. index:: rtems_mpci_entry
+
+``rtems_mpci_entry``
+ The return type of an RTEMS MPCI routine.
+
+.. index:: rtems_mpci_get_packet_entry
+
+``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
+
+``rtems_mpci_initialization_entry``
+ The address of the entry point to the initialization routine for an MPCI
+ implementation.
+
+.. index:: rtems_mpci_receive_packet_entry
+
+``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
+
+``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
+
+``rtems_mpci_send_packet_entry``
+ The address of the entry point to the send packet routine for an MPCI
+ implementation.
+
+.. index:: rtems_mpci_table
+
+``rtems_mpci_table``
+ The data structure containing the configuration information for an MPCI.
+
+.. index:: rtems_name
+
+``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
+
+``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
+
+``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
+
+``rtems_signal_set``
+ The data type used to manage and manipulate RTEMS signal sets with the Signal
+ Manager.
+
+.. index:: int8_t
+
+``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
+
+``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
+
+``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
+
+``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
+
+``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
+
+``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
+
+``rtems_task``
+ The return type for an RTEMS Task.
+
+.. index:: rtems_task_argument
+
+``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
+
+``rtems_task_begin_extension``
+ The entry point for a task beginning execution user extension handler
+ routine.
+
+.. index:: rtems_task_create_extension
+
+``rtems_task_create_extension``
+ The entry point for a task creation execution user extension handler routine.
+
+.. index:: rtems_task_delete_extension
+
+``rtems_task_delete_extension``
+ The entry point for a task deletion user extension handler routine.
+
+.. index:: rtems_task_entry
+
+``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
+
+``rtems_task_exitted_extension``
+ The entry point for a task exitted user extension handler routine.
+
+.. index:: rtems_task_priority
+
+``rtems_task_priority``
+ The data type used to manage and manipulate task priorities.
+
+.. index:: rtems_task_restart_extension
+
+``rtems_task_restart_extension``
+ The entry point for a task restart user extension handler routine.
+
+.. index:: rtems_task_start_extension
+
+``rtems_task_start_extension``
+ The entry point for a task start user extension handler routine.
+
+.. index:: rtems_task_switch_extension
+
+``rtems_task_switch_extension``
+ The entry point for a task context switch user extension handler routine.
+
+.. index:: rtems_tcb
+
+``rtems_tcb``
+ The data structure associated with each task in an RTEMS system.
+
+.. index:: rtems_time_of_day
+
+``rtems_time_of_day``
+ The data structure used to manage and manipulate calendar time in RTEMS.
+
+.. index:: rtems_timer_service_routine
+
+``rtems_timer_service_routine``
+ The return type for an RTEMS Timer Service Routine.
+
+.. index:: rtems_timer_service_routine_entry
+
+``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``
+ The data type used to manage and manipulate interrupt vector numbers.
+
+.. index:: uint8_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.
+
+.. index:: uint16_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.
+
+.. index:: uint32_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.
+
+.. index:: uint64_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.
+
+.. 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.