source: rtems-docs/c-user/rtems_data_types.rst @ 42d50d7

5
Last change on this file since 42d50d7 was 117f98c, checked in by Sebastian Huber <sebastian.huber@…>, on 12/19/16 at 13:37:43

Update rtems_interrupt_frame description

Close #2808.

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