[f65b3668] | 1 | @c |
---|
[6449498] | 2 | @c COPYRIGHT (c) 1988-2002. |
---|
[de8e187] | 3 | @c On-Line Applications Research Corporation (OAR). |
---|
| 4 | @c All rights reserved. |
---|
| 5 | @c |
---|
| 6 | @c $Id$ |
---|
| 7 | @c |
---|
| 8 | |
---|
| 9 | @chapter RTEMS Data Types |
---|
| 10 | |
---|
[7bb1884] | 11 | @section Introduction |
---|
| 12 | |
---|
[de8e187] | 13 | This chapter contains a complete list of the RTEMS primitive |
---|
| 14 | data types in alphabetical order. This is intended to be |
---|
| 15 | an overview and the user is encouraged to look at the appropriate |
---|
| 16 | chapters in the manual for more information about the |
---|
| 17 | usage of the various data types. |
---|
| 18 | |
---|
[7bb1884] | 19 | @section List of Data Types |
---|
| 20 | |
---|
| 21 | The following is a complete list of the RTEMS primitive |
---|
| 22 | data types in alphabetical order: |
---|
| 23 | |
---|
| 24 | @itemize @bullet |
---|
| 25 | |
---|
| 26 | @findex rtems_address |
---|
[de8e187] | 27 | @item @code{@value{DIRPREFIX}address} is the data type used to manage |
---|
| 28 | addresses. It is equivalent to |
---|
| 29 | @ifset is-C |
---|
| 30 | a "void *" pointer. |
---|
[7bb1884] | 31 | @end ifset |
---|
[de8e187] | 32 | @ifset is-Ada |
---|
| 33 | the System.Address data type. |
---|
[7bb1884] | 34 | @end ifset |
---|
[de8e187] | 35 | |
---|
[7bb1884] | 36 | @findex rtems_asr |
---|
[de8e187] | 37 | @item @code{@value{DIRPREFIX}asr} is the return type for an |
---|
| 38 | RTEMS ASR. |
---|
| 39 | |
---|
[7bb1884] | 40 | @findex rtems_asr_entry |
---|
[de8e187] | 41 | @item @code{@value{DIRPREFIX}asr_entry} is the address of |
---|
| 42 | the entry point to an RTEMS ASR. |
---|
| 43 | |
---|
[7bb1884] | 44 | @findex rtems_attribute |
---|
[de8e187] | 45 | @item @code{@value{DIRPREFIX}attribute} is the data type used |
---|
| 46 | to manage the attributes for RTEMS objects. It is primarily |
---|
[7bb1884] | 47 | used as an argument to object create routines to specify |
---|
| 48 | characteristics of the new object. |
---|
[de8e187] | 49 | |
---|
[7bb1884] | 50 | @findex rtems_boolean |
---|
[de8e187] | 51 | @item @code{@value{DIRPREFIX}boolean} may only take on the |
---|
| 52 | values of @code{TRUE} and @code{FALSE}. |
---|
| 53 | |
---|
[a4a422a0] | 54 | This type is deprecated. Use "bool" instead. |
---|
| 55 | |
---|
[7bb1884] | 56 | @findex rtems_context |
---|
[de8e187] | 57 | @item @code{@value{DIRPREFIX}context} is the CPU dependent |
---|
| 58 | data structure used to manage the integer and system |
---|
| 59 | register portion of each task's context. |
---|
| 60 | |
---|
[7bb1884] | 61 | @findex rtems_context_fp |
---|
[de8e187] | 62 | @item @code{@value{DIRPREFIX}context_fp} is the CPU dependent |
---|
| 63 | data structure used to manage the floating point portion of |
---|
| 64 | each task's context. |
---|
| 65 | |
---|
[7bb1884] | 66 | @findex rtems_device_driver |
---|
[de8e187] | 67 | @item @code{@value{DIRPREFIX}device_driver} is the |
---|
| 68 | return type for a RTEMS device driver routine. |
---|
| 69 | |
---|
[7bb1884] | 70 | @findex rtems_device_driver_entry |
---|
[de8e187] | 71 | @item @code{@value{DIRPREFIX}device_driver_entry} is the |
---|
| 72 | entry point to a RTEMS device driver routine. |
---|
| 73 | |
---|
[7bb1884] | 74 | @findex rtems_device_major_number |
---|
[de8e187] | 75 | @item @code{@value{DIRPREFIX}device_major_number} is the |
---|
| 76 | data type used to manage device major numbers. |
---|
| 77 | |
---|
[7bb1884] | 78 | @findex rtems_device_minor_number |
---|
[de8e187] | 79 | @item @code{@value{DIRPREFIX}device_minor_number} is the |
---|
| 80 | data type used to manage device minor numbers. |
---|
| 81 | |
---|
[7bb1884] | 82 | @findex rtems_double |
---|
[de8e187] | 83 | @item @code{@value{DIRPREFIX}double} is the RTEMS data |
---|
| 84 | type that corresponds to double precision floating point |
---|
| 85 | on the target hardware. |
---|
| 86 | |
---|
[a4a422a0] | 87 | This type is deprecated. Use "double" instead. |
---|
| 88 | |
---|
[7bb1884] | 89 | @findex rtems_event_set |
---|
[de8e187] | 90 | @item @code{@value{DIRPREFIX}event_set} is the data |
---|
| 91 | type used to manage and manipulate RTEMS event sets |
---|
| 92 | with the Event Manager. |
---|
| 93 | |
---|
[7bb1884] | 94 | @findex rtems_extension |
---|
[de8e187] | 95 | @item @code{@value{DIRPREFIX}extension} is the return type |
---|
| 96 | for RTEMS user extension routines. |
---|
| 97 | |
---|
[7bb1884] | 98 | @findex rtems_fatal_extension |
---|
[de8e187] | 99 | @item @code{@value{DIRPREFIX}fatal_extension} is the |
---|
| 100 | entry point for a fatal error user extension handler routine. |
---|
| 101 | |
---|
[7bb1884] | 102 | @findex rtems_id |
---|
[de8e187] | 103 | @item @code{@value{DIRPREFIX}id} is the data type used |
---|
| 104 | to manage and manipulate RTEMS object IDs. |
---|
| 105 | |
---|
[7bb1884] | 106 | @findex rtems_interrupt_frame |
---|
[de8e187] | 107 | @item @code{@value{DIRPREFIX}interrupt_frame} is the |
---|
| 108 | data structure that defines the format of the interrupt |
---|
| 109 | stack frame as it appears to a user ISR. This data |
---|
| 110 | structure may not be defined on all ports. |
---|
| 111 | |
---|
[7bb1884] | 112 | @findex rtems_interrupt_level |
---|
[de8e187] | 113 | @item @code{@value{DIRPREFIX}interrupt_level} is the |
---|
| 114 | data structure used with the @code{@value{DIRPREFIX}interrupt_disable}, |
---|
| 115 | @code{@value{DIRPREFIX}interrupt_enable}, and |
---|
| 116 | @code{@value{DIRPREFIX}interrupt_flash} routines. This |
---|
| 117 | data type is CPU dependent and usually corresponds to |
---|
| 118 | the contents of the processor register containing |
---|
| 119 | the interrupt mask level. |
---|
| 120 | |
---|
[7bb1884] | 121 | @findex rtems_interval |
---|
[de8e187] | 122 | @item @code{@value{DIRPREFIX}interval} is the data |
---|
| 123 | type used to manage and manipulate time intervals. |
---|
[7bb1884] | 124 | Intervals are non-negative integers used to measure |
---|
| 125 | the length of time in clock ticks. |
---|
[de8e187] | 126 | |
---|
[7bb1884] | 127 | @findex rtems_isr |
---|
[de8e187] | 128 | @item @code{@value{DIRPREFIX}isr} is the return type |
---|
| 129 | of a function implementing an RTEMS ISR. |
---|
| 130 | |
---|
[7bb1884] | 131 | @findex rtems_isr_entry |
---|
[de8e187] | 132 | @item @code{@value{DIRPREFIX}isr_entry} is the address of |
---|
| 133 | the entry point to an RTEMS ISR. It is equivalent to the |
---|
| 134 | entry point of the function implementing the ISR. |
---|
| 135 | |
---|
[7bb1884] | 136 | @findex rtems_mp_packet_classes |
---|
[de8e187] | 137 | @item @code{@value{DIRPREFIX}mp_packet_classes} is the |
---|
[7bb1884] | 138 | enumerated type which specifies the categories of |
---|
| 139 | multiprocessing messages. For example, one of the |
---|
| 140 | classes is for messages that must be processed by |
---|
| 141 | the Task Manager. |
---|
| 142 | |
---|
| 143 | @findex rtems_mode |
---|
| 144 | @item @code{@value{DIRPREFIX}mode} is the data type |
---|
| 145 | used to manage and dynamically manipulate the execution |
---|
| 146 | mode of an RTEMS task. |
---|
| 147 | |
---|
| 148 | @findex rtems_mpci_entry |
---|
[de8e187] | 149 | @item @code{@value{DIRPREFIX}mpci_entry} is the return type |
---|
| 150 | of an RTEMS MPCI routine. |
---|
| 151 | |
---|
[7bb1884] | 152 | @findex rtems_mpci_get_packet_entry |
---|
[de8e187] | 153 | @item @code{@value{DIRPREFIX}mpci_get_packet_entry} is the address of |
---|
| 154 | the entry point to the get packet routine for an MPCI implementation. |
---|
| 155 | |
---|
[7bb1884] | 156 | @findex rtems_mpci_initialization_entry |
---|
[de8e187] | 157 | @item @code{@value{DIRPREFIX}mpci_initialization_entry} is the address of |
---|
| 158 | the entry point to the initialization routine for an MPCI implementation. |
---|
| 159 | |
---|
[7bb1884] | 160 | @findex rtems_mpci_receive_packet_entry |
---|
[de8e187] | 161 | @item @code{@value{DIRPREFIX}mpci_receive_packet_entry} is the address of |
---|
| 162 | the entry point to the receive packet routine for an MPCI implementation. |
---|
| 163 | |
---|
[7bb1884] | 164 | @findex rtems_mpci_return_packet_entry |
---|
[de8e187] | 165 | @item @code{@value{DIRPREFIX}mpci_return_packet_entry} is the address of |
---|
| 166 | the entry point to the return packet routine for an MPCI implementation. |
---|
| 167 | |
---|
[7bb1884] | 168 | @findex rtems_mpci_send_packet_entry |
---|
[de8e187] | 169 | @item @code{@value{DIRPREFIX}mpci_send_packet_entry} is the address of |
---|
| 170 | the entry point to the send packet routine for an MPCI implementation. |
---|
| 171 | |
---|
[7bb1884] | 172 | @findex rtems_mpci_table |
---|
[de8e187] | 173 | @item @code{@value{DIRPREFIX}mpci_table} is the data structure |
---|
| 174 | containing the configuration information for an MPCI. |
---|
| 175 | |
---|
[94fb30d4] | 176 | @findex rtems_name |
---|
| 177 | @item @code{@value{DIRPREFIX}name} is the data type used to |
---|
| 178 | contain the name of a Classic API object. It is an unsigned |
---|
| 179 | thirty-two bit integer which can be treated as a numeric |
---|
| 180 | value or initialized using @code{@value{DIRPREFIX}build_name} to |
---|
| 181 | contain four ASCII characters. |
---|
| 182 | |
---|
[7bb1884] | 183 | @findex rtems_option |
---|
[de8e187] | 184 | @item @code{@value{DIRPREFIX}option} is the data type |
---|
| 185 | used to specify which behavioral options the caller desires. |
---|
| 186 | It is commonly used with potentially blocking directives to specify |
---|
| 187 | whether the caller is willing to block or return immediately with an error |
---|
| 188 | indicating that the resource was not available. |
---|
| 189 | |
---|
[7bb1884] | 190 | @findex rtems_packet_prefix |
---|
[de8e187] | 191 | @item @code{@value{DIRPREFIX}packet_prefix} is the data structure |
---|
| 192 | that defines the first bytes in every packet sent between nodes |
---|
| 193 | in an RTEMS multiprocessor system. It contains routing information |
---|
| 194 | that is expected to be used by the MPCI layer. |
---|
| 195 | |
---|
[7bb1884] | 196 | @findex rtems_signal_set |
---|
[de8e187] | 197 | @item @code{@value{DIRPREFIX}signal_set} is the data |
---|
| 198 | type used to manage and manipulate RTEMS signal sets |
---|
| 199 | with the Signal Manager. |
---|
| 200 | |
---|
[2a517327] | 201 | @findex int8_t |
---|
| 202 | @item @code{int8_t} is the C99 data type that corresponds to signed eight |
---|
| 203 | bit integers. This data type is defined by RTEMS in a manner that |
---|
[de8e187] | 204 | ensures it is portable across different target processors. |
---|
| 205 | |
---|
[2a517327] | 206 | @findex int16_t |
---|
| 207 | @item @code{int16_t} is the C99 data type that corresponds to signed |
---|
| 208 | sixteen bit integers. This data type is defined by RTEMS in a manner |
---|
| 209 | that ensures it is portable across different target processors. |
---|
[de8e187] | 210 | |
---|
[2a517327] | 211 | @findex int32_t |
---|
| 212 | @item @code{int32_t} is the C99 data type that corresponds to signed |
---|
| 213 | thirty-two bit integers. This data type is defined by RTEMS in a manner |
---|
| 214 | that ensures it is portable across different target processors. |
---|
[de8e187] | 215 | |
---|
[2a517327] | 216 | @findex int64_t |
---|
| 217 | @item @code{int64_t} is the C99 data type that corresponds to signed |
---|
| 218 | sixty-four bit integers. This data type is defined by RTEMS in a manner |
---|
| 219 | that ensures it is portable across different target processors. |
---|
[de8e187] | 220 | |
---|
[7bb1884] | 221 | @findex rtems_single |
---|
[de8e187] | 222 | @item @code{@value{DIRPREFIX}single} is the RTEMS data |
---|
| 223 | type that corresponds to single precision floating point |
---|
| 224 | on the target hardware. |
---|
| 225 | |
---|
[a4a422a0] | 226 | This type is deprecated. Use "float" instead. |
---|
| 227 | |
---|
[7bb1884] | 228 | @findex rtems_status_codes |
---|
[de8e187] | 229 | @item @code{@value{DIRPREFIX}status_codes} is the |
---|
[7bb1884] | 230 | @findex rtems_task |
---|
[de8e187] | 231 | @item @code{@value{DIRPREFIX}task} is the return type for an |
---|
| 232 | RTEMS Task. |
---|
| 233 | |
---|
[7bb1884] | 234 | @findex rtems_task_argument |
---|
[de8e187] | 235 | @item @code{@value{DIRPREFIX}task_argument} is the data |
---|
[94fb30d4] | 236 | type for the argument passed to each RTEMS task. In RTEMS 4.7 |
---|
| 237 | and older, this is an unsigned thirty-two bit integer. In |
---|
| 238 | RTEMS 4.8 and newer, this is based upon the C99 type @code{uintptr_t} |
---|
| 239 | which is guaranteed to be an integer large enough to hold a |
---|
| 240 | pointer on the target architecture. |
---|
[de8e187] | 241 | |
---|
[7bb1884] | 242 | @findex rtems_task_begin_extension |
---|
[de8e187] | 243 | @item @code{@value{DIRPREFIX}task_begin_extension} is the |
---|
| 244 | entry point for a task beginning execution user extension handler routine. |
---|
| 245 | |
---|
[7bb1884] | 246 | @findex rtems_task_create_extension |
---|
[de8e187] | 247 | @item @code{@value{DIRPREFIX}task_create_extension} is the |
---|
| 248 | entry point for a task creation execution user extension handler routine. |
---|
| 249 | |
---|
[7bb1884] | 250 | @findex rtems_task_delete_extension |
---|
[de8e187] | 251 | @item @code{@value{DIRPREFIX}task_delete_extension} is the |
---|
| 252 | entry point for a task deletion user extension handler routine. |
---|
| 253 | |
---|
[7bb1884] | 254 | @findex rtems_task_entry |
---|
[de8e187] | 255 | @item @code{@value{DIRPREFIX}task_entry} is the address of |
---|
| 256 | the entry point to an RTEMS ASR. It is equivalent to the |
---|
| 257 | entry point of the function implementing the ASR. |
---|
| 258 | |
---|
[7bb1884] | 259 | @findex rtems_task_exitted_extension |
---|
[de8e187] | 260 | @item @code{@value{DIRPREFIX}task_exitted_extension} is the |
---|
| 261 | entry point for a task exitted user extension handler routine. |
---|
| 262 | |
---|
[7bb1884] | 263 | @findex rtems_task_priority |
---|
[de8e187] | 264 | @item @code{@value{DIRPREFIX}task_priority} is the data type |
---|
| 265 | used to manage and manipulate task priorities. |
---|
| 266 | |
---|
[7bb1884] | 267 | @findex rtems_task_restart_extension |
---|
[de8e187] | 268 | @item @code{@value{DIRPREFIX}task_restart_extension} is the |
---|
| 269 | entry point for a task restart user extension handler routine. |
---|
| 270 | |
---|
[7bb1884] | 271 | @findex rtems_task_start_extension |
---|
[de8e187] | 272 | @item @code{@value{DIRPREFIX}task_start_extension} is the |
---|
| 273 | entry point for a task start user extension handler routine. |
---|
| 274 | |
---|
[7bb1884] | 275 | @findex rtems_task_switch_extension |
---|
[de8e187] | 276 | @item @code{@value{DIRPREFIX}task_switch_extension} is the |
---|
| 277 | entry point for a task context switch user extension handler routine. |
---|
| 278 | |
---|
[7bb1884] | 279 | @findex rtems_tcb |
---|
[de8e187] | 280 | @item @code{@value{DIRPREFIX}tcb} is the data structure associated |
---|
| 281 | with each task in an RTEMS system. |
---|
| 282 | |
---|
[7bb1884] | 283 | @findex rtems_time_of_day |
---|
[de8e187] | 284 | @item @code{@value{DIRPREFIX}time_of_day} is the data structure |
---|
| 285 | used to manage and manipulate calendar time in RTEMS. |
---|
| 286 | |
---|
[7bb1884] | 287 | @findex rtems_timer_service_routine |
---|
[de8e187] | 288 | @item @code{@value{DIRPREFIX}timer_service_routine} is the |
---|
| 289 | return type for an RTEMS Timer Service Routine. |
---|
| 290 | |
---|
[7bb1884] | 291 | @findex rtems_timer_service_routine_entry |
---|
[de8e187] | 292 | @item @code{@value{DIRPREFIX}timer_service_routine_entry} is the address of |
---|
| 293 | the entry point to an RTEMS TSR. It is equivalent to the |
---|
| 294 | entry point of the function implementing the TSR. |
---|
| 295 | |
---|
[7bb1884] | 296 | @findex rtems_vector_number |
---|
[de8e187] | 297 | @item @code{@value{DIRPREFIX}vector_number} is the data |
---|
| 298 | type used to manage and manipulate interrupt vector numbers. |
---|
[7bb1884] | 299 | |
---|
| 300 | @end itemize |
---|