source: rtems-docs/c_user/rtems_data_types.rst @ 1a72a98

4.115
Last change on this file since 1a72a98 was 1a72a98, checked in by Chris Johns <chrisj@…>, on 01/26/16 at 22:38:16

Cleanups.

  • Property mode set to 100644
File size: 10.9 KB
Line 
1.. COMMENT: COPYRIGHT (c) 1988-2008.
2.. COMMENT: On-Line Applications Research Corporation (OAR).
3.. COMMENT: All rights reserved.
4
5RTEMS Data Types
6################
7
8Introduction
9============
10
11This chapter contains a complete list of the RTEMS primitive data types in
12alphabetical order.  This is intended to be an overview and the user is
13encouraged to look at the appropriate chapters in the manual for more
14information about the usage of the various data types.
15
16List of Data Types
17==================
18
19The following is a complete list of the RTEMS primitive data types in
20alphabetical order:
21
22.. index:: rtems_address
23
24``rtems_address``
25  The data type used to manage addresses.  It is equivalent to a ``void *``
26  pointer.
27
28.. index:: rtems_asr
29
30``rtems_asr``
31  The return type for an RTEMS ASR.
32
33.. index:: rtems_asr_entry
34
35``rtems_asr_entry``
36  The address of the entry point to an RTEMS ASR.
37
38 .. index:: rtems_attribute
39
40``rtems_attribute``
41  The data type used to manage the attributes for RTEMS objects.  It is
42  primarily used as an argument to object create routines to specify
43  characteristics of the new object.
44
45.. index:: rtems_boolean
46
47``rtems_boolean``
48  May only take on the values of ``TRUE`` and ``FALSE``.  This type is
49  deprecated. Use ``bool`` instead.
50
51.. index:: rtems_context
52
53``rtems_context``
54  The CPU dependent data structure used to manage the integer and system
55  register portion of each task's context.
56
57.. index:: rtems_context_fp
58
59``rtems_context_fp``
60  The CPU dependent data structure used to manage the floating point portion of
61  each task's context.
62
63.. index:: rtems_device_driver
64
65``rtems_device_driver``
66  The return type for a RTEMS device driver routine.
67
68.. index:: rtems_device_driver_entry
69
70``rtems_device_driver_entry``
71  The entry point to a RTEMS device driver routine.
72
73.. index:: rtems_device_major_number
74
75``rtems_device_major_number``
76  The data type used to manage device major numbers.
77
78.. index:: rtems_device_minor_number
79
80``rtems_device_minor_number``
81  The data type used to manage device minor numbers.
82
83.. index:: rtems_double
84
85``rtems_double``
86  The RTEMS data type that corresponds to double precision floating point on
87  the target hardware.  This type is deprecated. Use ``double`` instead.
88
89.. index:: rtems_event_set
90
91``rtems_event_set``
92  The data type used to manage and manipulate RTEMS event sets with the Event
93  Manager.
94
95.. index:: rtems_extension
96
97``rtems_extension``
98  The return type for RTEMS user extension routines.
99
100.. index:: rtems_fatal_extension
101
102``rtems_fatal_extension``
103  The entry point for a fatal error user extension handler routine.
104
105.. index:: rtems_id
106
107``rtems_id``
108  The data type used to manage and manipulate RTEMS object IDs.
109
110.. index:: rtems_interrupt_frame
111
112``rtems_interrupt_frame``
113  The data structure that defines the format of the interrupt stack frame as it
114  appears to a user ISR.  This data structure may not be defined on all ports.
115
116.. index:: rtems_interrupt_level
117
118``rtems_interrupt_level``
119  The data structure used with the ``rtems_interrupt_disable``,
120  ``rtems_interrupt_enable``, and ``rtems_interrupt_flash`` routines.  This
121  data type is CPU dependent and usually corresponds to the contents of the
122  processor register containing the interrupt mask level.
123
124.. index:: rtems_interval
125
126``rtems_interval``
127  The data type used to manage and manipulate time intervals.  Intervals are
128  non-negative integers used to measure the length of time in clock ticks.
129
130.. index:: rtems_isr
131
132``rtems_isr``
133  The return type of a function implementing an RTEMS ISR.
134
135.. index:: rtems_isr_entry
136
137``rtems_isr_entry``
138  The address of the entry point to an RTEMS ISR.  It is equivalent to the
139  entry point of the function implementing the ISR.
140
141.. index:: rtems_mp_packet_classes
142
143``rtems_mp_packet_classes``
144  The enumerated type which specifies the categories of multiprocessing
145  messages.  For example, one of the classes is for messages that must be
146  processed by the Task Manager.
147
148.. index:: rtems_mode
149
150``rtems_mode``
151  The data type used to manage and dynamically manipulate the execution mode of
152  an RTEMS task.
153
154.. index:: rtems_mpci_entry
155
156``rtems_mpci_entry``
157  The return type of an RTEMS MPCI routine.
158
159.. index:: rtems_mpci_get_packet_entry
160
161``rtems_mpci_get_packet_entry``
162  The address of the entry point to the get packet routine for an MPCI
163  implementation.
164
165.. index:: rtems_mpci_initialization_entry
166
167``rtems_mpci_initialization_entry``
168  The address of the entry point to the initialization routine for an MPCI
169  implementation.
170
171.. index:: rtems_mpci_receive_packet_entry
172
173``rtems_mpci_receive_packet_entry``
174  The address of the entry point to the receive packet routine for an MPCI
175  implementation.
176
177.. index:: rtems_mpci_return_packet_entry
178
179``rtems_mpci_return_packet_entry``
180  The address of the entry point to the return packet routine for an MPCI
181  implementation.
182
183.. index:: rtems_mpci_send_packet_entry
184
185``rtems_mpci_send_packet_entry``
186  The address of the entry point to the send packet routine for an MPCI
187  implementation.
188
189.. index:: rtems_mpci_table
190
191``rtems_mpci_table``
192  The data structure containing the configuration information for an MPCI.
193
194.. index:: rtems_name
195
196``rtems_name``
197  The data type used to contain the name of a Classic API object.  It is an
198  unsigned thirty-two bit integer which can be treated as a numeric value or
199  initialized using ``rtems_build_name`` to contain four ASCII characters.
200
201.. index:: rtems_option
202
203``rtems_option``
204  The data type used to specify which behavioral options the caller desires.
205  It is commonly used with potentially blocking directives to specify whether
206  the caller is willing to block or return immediately with an error indicating
207  that the resource was not available.
208
209.. index:: rtems_packet_prefix
210
211``rtems_packet_prefix``
212  The data structure that defines the first bytes in every packet sent between
213  nodes in an RTEMS multiprocessor system.  It contains routing information
214  that is expected to be used by the MPCI layer.
215
216.. index:: rtems_signal_set
217
218``rtems_signal_set``
219  The data type used to manage and manipulate RTEMS signal sets with the Signal
220  Manager.
221
222.. index:: int8_t
223
224``int8_t``
225  The C99 data type that corresponds to signed eight bit integers.  This data
226  type is defined by RTEMS in a manner that ensures it is portable across
227  different target processors.
228
229.. index:: int16_t
230
231``int16_t``
232  The C99 data type that corresponds to signed sixteen bit integers.  This data
233  type is defined by RTEMS in a manner that ensures it is portable across
234  different target processors.
235
236.. index:: int32_t
237
238``int32_t``
239  The C99 data type that corresponds to signed thirty-two bit integers.  This
240  data type is defined by RTEMS in a manner that ensures it is portable across
241  different target processors.
242
243.. index:: int64_t
244
245``int64_t``
246  The C99 data type that corresponds to signed sixty-four bit integers.  This
247  data type is defined by RTEMS in a manner that ensures it is portable across
248  different target processors.
249
250.. index:: rtems_single
251
252``rtems_single``
253  The RTEMS data type that corresponds to single precision floating point on
254  the target hardware.  This type is deprecated. Use ``float`` instead.
255
256.. index:: rtems_status_codes
257
258``rtems_status_codes``
259  The return type for most RTEMS services.  This is an enumerated type of
260  approximately twenty-five values.  In general, when a service returns a
261  particular status code, it indicates that a very specific error condition has
262  occurred.
263
264.. index:: rtems_task
265
266``rtems_task``
267  The return type for an RTEMS Task.
268
269.. index:: rtems_task_argument
270
271``rtems_task_argument``
272  The data type for the argument passed to each RTEMS task. In RTEMS 4.7 and
273  older, this is an unsigned thirty-two bit integer.  In RTEMS 4.8 and newer,
274  this is based upon the C99 type ``uintptr_t`` which is guaranteed to be an
275  integer large enough to hold a pointer on the target architecture.
276
277.. index:: rtems_task_begin_extension
278
279``rtems_task_begin_extension``
280  The entry point for a task beginning execution user extension handler
281  routine.
282
283.. index:: rtems_task_create_extension
284
285``rtems_task_create_extension``
286  The entry point for a task creation execution user extension handler routine.
287
288.. index:: rtems_task_delete_extension
289
290``rtems_task_delete_extension``
291  The entry point for a task deletion user extension handler routine.
292
293.. index:: rtems_task_entry
294
295``rtems_task_entry``
296  The address of the entry point to an RTEMS ASR.  It is equivalent to the
297  entry point of the function implementing the ASR.
298
299.. index:: rtems_task_exitted_extension
300
301``rtems_task_exitted_extension``
302  The entry point for a task exitted user extension handler routine.
303
304.. index:: rtems_task_priority
305
306``rtems_task_priority``
307  The data type used to manage and manipulate task priorities.
308
309.. index:: rtems_task_restart_extension
310
311``rtems_task_restart_extension``
312  The entry point for a task restart user extension handler routine.
313
314.. index:: rtems_task_start_extension
315
316``rtems_task_start_extension``
317  The entry point for a task start user extension handler routine.
318
319.. index:: rtems_task_switch_extension
320
321``rtems_task_switch_extension``
322  The entry point for a task context switch user extension handler routine.
323
324.. index:: rtems_tcb
325
326``rtems_tcb``
327  The data structure associated with each task in an RTEMS system.
328
329.. index:: rtems_time_of_day
330
331``rtems_time_of_day``
332  The data structure used to manage and manipulate calendar time in RTEMS.
333
334.. index:: rtems_timer_service_routine
335
336``rtems_timer_service_routine``
337  The return type for an RTEMS Timer Service Routine.
338
339.. index:: rtems_timer_service_routine_entry
340
341``rtems_timer_service_routine_entry``
342  The address of the entry point to an RTEMS TSR.  It is equivalent to the
343  entry point of the function implementing the TSR.
344
345.. index:: rtems_vector_number
346
347``rtems_vector_number``
348  The data type used to manage and manipulate interrupt vector numbers.
349
350.. index:: uint8_t
351
352``uint8_t``
353  The C99 data type that corresponds to unsigned eight bit integers.  This data
354  type is defined by RTEMS in a manner that ensures it is portable across
355  different target processors.
356
357.. index:: uint16_t
358
359``uint16_t``
360  The C99 data type that corresponds to unsigned sixteen bit integers.  This
361  data type is defined by RTEMS in a manner that ensures it is portable across
362  different target processors.
363
364.. index:: uint32_t
365
366``uint32_t``
367  The C99 data type that corresponds to unsigned thirty-two bit integers.  This
368  data type is defined by RTEMS in a manner that ensures it is portable across
369  different target processors.
370
371.. index:: uint64_t
372
373``uint64_t``
374  The C99 data type that corresponds to unsigned sixty-four bit integers.  This
375  data type is defined by RTEMS in a manner that ensures it is portable across
376  different target processors.
377
378.. index:: uintptr_t
379
380``uintptr_t``
381  The C99 data type that corresponds to the unsigned integer type that is of
382  sufficient size to represent addresses as unsigned integers.  This data type
383  is defined by RTEMS in a manner that ensures it is portable across different
384  target processors.
Note: See TracBrowser for help on using the repository browser.