[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 | |
---|
[7bb1884] | 54 | @findex rtems_context |
---|
[de8e187] | 55 | @item @code{@value{DIRPREFIX}context} is the CPU dependent |
---|
| 56 | data structure used to manage the integer and system |
---|
| 57 | register portion of each task's context. |
---|
| 58 | |
---|
[7bb1884] | 59 | @findex rtems_context_fp |
---|
[de8e187] | 60 | @item @code{@value{DIRPREFIX}context_fp} is the CPU dependent |
---|
| 61 | data structure used to manage the floating point portion of |
---|
| 62 | each task's context. |
---|
| 63 | |
---|
[7bb1884] | 64 | @findex rtems_device_driver |
---|
[de8e187] | 65 | @item @code{@value{DIRPREFIX}device_driver} is the |
---|
| 66 | return type for a RTEMS device driver routine. |
---|
| 67 | |
---|
[7bb1884] | 68 | @findex rtems_device_driver_entry |
---|
[de8e187] | 69 | @item @code{@value{DIRPREFIX}device_driver_entry} is the |
---|
| 70 | entry point to a RTEMS device driver routine. |
---|
| 71 | |
---|
[7bb1884] | 72 | @findex rtems_device_major_number |
---|
[de8e187] | 73 | @item @code{@value{DIRPREFIX}device_major_number} is the |
---|
| 74 | data type used to manage device major numbers. |
---|
| 75 | |
---|
[7bb1884] | 76 | @findex rtems_device_minor_number |
---|
[de8e187] | 77 | @item @code{@value{DIRPREFIX}device_minor_number} is the |
---|
| 78 | data type used to manage device minor numbers. |
---|
| 79 | |
---|
[7bb1884] | 80 | @findex rtems_double |
---|
[de8e187] | 81 | @item @code{@value{DIRPREFIX}double} is the RTEMS data |
---|
| 82 | type that corresponds to double precision floating point |
---|
| 83 | on the target hardware. |
---|
| 84 | |
---|
[7bb1884] | 85 | @findex rtems_event_set |
---|
[de8e187] | 86 | @item @code{@value{DIRPREFIX}event_set} is the data |
---|
| 87 | type used to manage and manipulate RTEMS event sets |
---|
| 88 | with the Event Manager. |
---|
| 89 | |
---|
[7bb1884] | 90 | @findex rtems_extension |
---|
[de8e187] | 91 | @item @code{@value{DIRPREFIX}extension} is the return type |
---|
| 92 | for RTEMS user extension routines. |
---|
| 93 | |
---|
[7bb1884] | 94 | @findex rtems_fatal_extension |
---|
[de8e187] | 95 | @item @code{@value{DIRPREFIX}fatal_extension} is the |
---|
| 96 | entry point for a fatal error user extension handler routine. |
---|
| 97 | |
---|
[7bb1884] | 98 | @findex rtems_id |
---|
[de8e187] | 99 | @item @code{@value{DIRPREFIX}id} is the data type used |
---|
| 100 | to manage and manipulate RTEMS object IDs. |
---|
| 101 | |
---|
[7bb1884] | 102 | @findex rtems_interrupt_frame |
---|
[de8e187] | 103 | @item @code{@value{DIRPREFIX}interrupt_frame} is the |
---|
| 104 | data structure that defines the format of the interrupt |
---|
| 105 | stack frame as it appears to a user ISR. This data |
---|
| 106 | structure may not be defined on all ports. |
---|
| 107 | |
---|
[7bb1884] | 108 | @findex rtems_interrupt_level |
---|
[de8e187] | 109 | @item @code{@value{DIRPREFIX}interrupt_level} is the |
---|
| 110 | data structure used with the @code{@value{DIRPREFIX}interrupt_disable}, |
---|
| 111 | @code{@value{DIRPREFIX}interrupt_enable}, and |
---|
| 112 | @code{@value{DIRPREFIX}interrupt_flash} routines. This |
---|
| 113 | data type is CPU dependent and usually corresponds to |
---|
| 114 | the contents of the processor register containing |
---|
| 115 | the interrupt mask level. |
---|
| 116 | |
---|
[7bb1884] | 117 | @findex rtems_interval |
---|
[de8e187] | 118 | @item @code{@value{DIRPREFIX}interval} is the data |
---|
| 119 | type used to manage and manipulate time intervals. |
---|
[7bb1884] | 120 | Intervals are non-negative integers used to measure |
---|
| 121 | the length of time in clock ticks. |
---|
[de8e187] | 122 | |
---|
[7bb1884] | 123 | @findex rtems_isr |
---|
[de8e187] | 124 | @item @code{@value{DIRPREFIX}isr} is the return type |
---|
| 125 | of a function implementing an RTEMS ISR. |
---|
| 126 | |
---|
[7bb1884] | 127 | @findex rtems_isr_entry |
---|
[de8e187] | 128 | @item @code{@value{DIRPREFIX}isr_entry} is the address of |
---|
| 129 | the entry point to an RTEMS ISR. It is equivalent to the |
---|
| 130 | entry point of the function implementing the ISR. |
---|
| 131 | |
---|
[7bb1884] | 132 | @findex rtems_mp_packet_classes |
---|
[de8e187] | 133 | @item @code{@value{DIRPREFIX}mp_packet_classes} is the |
---|
[7bb1884] | 134 | enumerated type which specifies the categories of |
---|
| 135 | multiprocessing messages. For example, one of the |
---|
| 136 | classes is for messages that must be processed by |
---|
| 137 | the Task Manager. |
---|
| 138 | |
---|
| 139 | @findex rtems_mode |
---|
| 140 | @item @code{@value{DIRPREFIX}mode} is the data type |
---|
| 141 | used to manage and dynamically manipulate the execution |
---|
| 142 | mode of an RTEMS task. |
---|
| 143 | |
---|
| 144 | @findex rtems_mpci_entry |
---|
[de8e187] | 145 | @item @code{@value{DIRPREFIX}mpci_entry} is the return type |
---|
| 146 | of an RTEMS MPCI routine. |
---|
| 147 | |
---|
[7bb1884] | 148 | @findex rtems_mpci_get_packet_entry |
---|
[de8e187] | 149 | @item @code{@value{DIRPREFIX}mpci_get_packet_entry} is the address of |
---|
| 150 | the entry point to the get packet routine for an MPCI implementation. |
---|
| 151 | |
---|
[7bb1884] | 152 | @findex rtems_mpci_initialization_entry |
---|
[de8e187] | 153 | @item @code{@value{DIRPREFIX}mpci_initialization_entry} is the address of |
---|
| 154 | the entry point to the initialization routine for an MPCI implementation. |
---|
| 155 | |
---|
[7bb1884] | 156 | @findex rtems_mpci_receive_packet_entry |
---|
[de8e187] | 157 | @item @code{@value{DIRPREFIX}mpci_receive_packet_entry} is the address of |
---|
| 158 | the entry point to the receive packet routine for an MPCI implementation. |
---|
| 159 | |
---|
[7bb1884] | 160 | @findex rtems_mpci_return_packet_entry |
---|
[de8e187] | 161 | @item @code{@value{DIRPREFIX}mpci_return_packet_entry} is the address of |
---|
| 162 | the entry point to the return packet routine for an MPCI implementation. |
---|
| 163 | |
---|
[7bb1884] | 164 | @findex rtems_mpci_send_packet_entry |
---|
[de8e187] | 165 | @item @code{@value{DIRPREFIX}mpci_send_packet_entry} is the address of |
---|
| 166 | the entry point to the send packet routine for an MPCI implementation. |
---|
| 167 | |
---|
[7bb1884] | 168 | @findex rtems_mpci_table |
---|
[de8e187] | 169 | @item @code{@value{DIRPREFIX}mpci_table} is the data structure |
---|
| 170 | containing the configuration information for an MPCI. |
---|
| 171 | |
---|
[6676f1d] | 172 | @findex rtems_name |
---|
| 173 | @item @code{@value{DIRPREFIX}name} is the data type used to |
---|
| 174 | contain the name of a Classic API object. It is an unsigned |
---|
| 175 | thirty-two bit integer which can be treated as a numeric |
---|
| 176 | value or initialized using @code{@value{DIRPREFIX}build_name} to |
---|
| 177 | contain four ASCII characters. |
---|
| 178 | |
---|
[7bb1884] | 179 | @findex rtems_option |
---|
[de8e187] | 180 | @item @code{@value{DIRPREFIX}option} is the data type |
---|
| 181 | used to specify which behavioral options the caller desires. |
---|
| 182 | It is commonly used with potentially blocking directives to specify |
---|
| 183 | whether the caller is willing to block or return immediately with an error |
---|
| 184 | indicating that the resource was not available. |
---|
| 185 | |
---|
[7bb1884] | 186 | @findex rtems_packet_prefix |
---|
[de8e187] | 187 | @item @code{@value{DIRPREFIX}packet_prefix} is the data structure |
---|
| 188 | that defines the first bytes in every packet sent between nodes |
---|
| 189 | in an RTEMS multiprocessor system. It contains routing information |
---|
| 190 | that is expected to be used by the MPCI layer. |
---|
| 191 | |
---|
[7bb1884] | 192 | @findex rtems_signal_set |
---|
[de8e187] | 193 | @item @code{@value{DIRPREFIX}signal_set} is the data |
---|
| 194 | type used to manage and manipulate RTEMS signal sets |
---|
| 195 | with the Signal Manager. |
---|
| 196 | |
---|
[7bb1884] | 197 | @findex rtems_signed8 |
---|
[de8e187] | 198 | @item @code{@value{DIRPREFIX}signed8} is the data |
---|
| 199 | type that corresponds to signed eight bit integers. |
---|
| 200 | This data type is defined by RTEMS in a manner that |
---|
| 201 | ensures it is portable across different target processors. |
---|
| 202 | |
---|
[7bb1884] | 203 | @findex rtems_signed16 |
---|
[de8e187] | 204 | @item @code{@value{DIRPREFIX}signed16} is the data |
---|
| 205 | type that corresponds to signed sixteen bit integers. |
---|
| 206 | This data type is defined by RTEMS in a manner that |
---|
| 207 | ensures it is portable across different target processors. |
---|
| 208 | |
---|
[7bb1884] | 209 | @findex rtems_signed32 |
---|
[de8e187] | 210 | @item @code{@value{DIRPREFIX}signed32} is the data |
---|
| 211 | type that corresponds to signed thirty-two bit integers. |
---|
| 212 | This data type is defined by RTEMS in a manner that |
---|
| 213 | ensures it is portable across different target processors. |
---|
| 214 | |
---|
[7bb1884] | 215 | @findex rtems_signed64 |
---|
[de8e187] | 216 | @item @code{@value{DIRPREFIX}signed64} is the data |
---|
| 217 | type that corresponds to signed sixty-four bit integers. |
---|
| 218 | This data type is defined by RTEMS in a manner that |
---|
| 219 | ensures it is portable across different target processors. |
---|
| 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 | |
---|
[7bb1884] | 226 | @findex rtems_status_codes |
---|
[de8e187] | 227 | @item @code{@value{DIRPREFIX}status_codes} is the |
---|
[7bb1884] | 228 | @findex rtems_task |
---|
[de8e187] | 229 | @item @code{@value{DIRPREFIX}task} is the return type for an |
---|
| 230 | RTEMS Task. |
---|
| 231 | |
---|
[7bb1884] | 232 | @findex rtems_task_argument |
---|
[de8e187] | 233 | @item @code{@value{DIRPREFIX}task_argument} is the data |
---|
[6676f1d] | 234 | type for the argument passed to each RTEMS task. In RTEMS 4.7 |
---|
| 235 | and older, this is an unsigned thirty-two bit integer. In |
---|
| 236 | RTEMS 4.8 and newer, this is based upon the C99 type @code{uintptr_t} |
---|
| 237 | which is guaranteed to be an integer large enough to hold a |
---|
| 238 | pointer on the target architecture. |
---|
[de8e187] | 239 | |
---|
[7bb1884] | 240 | @findex rtems_task_begin_extension |
---|
[de8e187] | 241 | @item @code{@value{DIRPREFIX}task_begin_extension} is the |
---|
| 242 | entry point for a task beginning execution user extension handler routine. |
---|
| 243 | |
---|
[7bb1884] | 244 | @findex rtems_task_create_extension |
---|
[de8e187] | 245 | @item @code{@value{DIRPREFIX}task_create_extension} is the |
---|
| 246 | entry point for a task creation execution user extension handler routine. |
---|
| 247 | |
---|
[7bb1884] | 248 | @findex rtems_task_delete_extension |
---|
[de8e187] | 249 | @item @code{@value{DIRPREFIX}task_delete_extension} is the |
---|
| 250 | entry point for a task deletion user extension handler routine. |
---|
| 251 | |
---|
[7bb1884] | 252 | @findex rtems_task_entry |
---|
[de8e187] | 253 | @item @code{@value{DIRPREFIX}task_entry} is the address of |
---|
| 254 | the entry point to an RTEMS ASR. It is equivalent to the |
---|
| 255 | entry point of the function implementing the ASR. |
---|
| 256 | |
---|
[7bb1884] | 257 | @findex rtems_task_exitted_extension |
---|
[de8e187] | 258 | @item @code{@value{DIRPREFIX}task_exitted_extension} is the |
---|
| 259 | entry point for a task exitted user extension handler routine. |
---|
| 260 | |
---|
[7bb1884] | 261 | @findex rtems_task_priority |
---|
[de8e187] | 262 | @item @code{@value{DIRPREFIX}task_priority} is the data type |
---|
| 263 | used to manage and manipulate task priorities. |
---|
| 264 | |
---|
[7bb1884] | 265 | @findex rtems_task_restart_extension |
---|
[de8e187] | 266 | @item @code{@value{DIRPREFIX}task_restart_extension} is the |
---|
| 267 | entry point for a task restart user extension handler routine. |
---|
| 268 | |
---|
[7bb1884] | 269 | @findex rtems_task_start_extension |
---|
[de8e187] | 270 | @item @code{@value{DIRPREFIX}task_start_extension} is the |
---|
| 271 | entry point for a task start user extension handler routine. |
---|
| 272 | |
---|
[7bb1884] | 273 | @findex rtems_task_switch_extension |
---|
[de8e187] | 274 | @item @code{@value{DIRPREFIX}task_switch_extension} is the |
---|
| 275 | entry point for a task context switch user extension handler routine. |
---|
| 276 | |
---|
[7bb1884] | 277 | @findex rtems_tcb |
---|
[de8e187] | 278 | @item @code{@value{DIRPREFIX}tcb} is the data structure associated |
---|
| 279 | with each task in an RTEMS system. |
---|
| 280 | |
---|
[7bb1884] | 281 | @findex rtems_time_of_day |
---|
[de8e187] | 282 | @item @code{@value{DIRPREFIX}time_of_day} is the data structure |
---|
| 283 | used to manage and manipulate calendar time in RTEMS. |
---|
| 284 | |
---|
[7bb1884] | 285 | @findex rtems_timer_service_routine |
---|
[de8e187] | 286 | @item @code{@value{DIRPREFIX}timer_service_routine} is the |
---|
| 287 | return type for an RTEMS Timer Service Routine. |
---|
| 288 | |
---|
[7bb1884] | 289 | @findex rtems_timer_service_routine_entry |
---|
[de8e187] | 290 | @item @code{@value{DIRPREFIX}timer_service_routine_entry} is the address of |
---|
| 291 | the entry point to an RTEMS TSR. It is equivalent to the |
---|
| 292 | entry point of the function implementing the TSR. |
---|
| 293 | |
---|
[7bb1884] | 294 | @findex rtems_vector_number |
---|
[de8e187] | 295 | @item @code{@value{DIRPREFIX}vector_number} is the data |
---|
| 296 | type used to manage and manipulate interrupt vector numbers. |
---|
[7bb1884] | 297 | |
---|
| 298 | @end itemize |
---|