source: rtems/doc/user/datatypes.t @ 6676f1d

4.8
Last change on this file since 6676f1d was 6676f1d, checked in by Joel Sherrill <joel.sherrill@…>, on 08/07/08 at 13:45:10

2008-08-07 Joel Sherrill <joel.sherrill@…>

  • user/datatypes.t: Add rtems_name. Add comment about rtems_task_argument changing from simple unsigned thirty two bit integer to being derived from a C99 uintptr_t in 4.8 and newer.
  • Property mode set to 100644
File size: 10.4 KB
RevLine 
[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]13This chapter contains a complete list of the RTEMS primitive
14data types in alphabetical order.  This is intended to be
15an overview and the user is encouraged to look at the appropriate
16chapters in the manual for more information about the
17usage of the various data types.
18
[7bb1884]19@section List of Data Types
20
21The following is a complete list of the RTEMS primitive
22data 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
28addresses.  It is equivalent to
29@ifset is-C
30a "void *" pointer.
[7bb1884]31@end ifset
[de8e187]32@ifset is-Ada
33the 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
38RTEMS ASR.
39
[7bb1884]40@findex rtems_asr_entry
[de8e187]41@item @code{@value{DIRPREFIX}asr_entry} is the address of
42the entry point to an RTEMS ASR.
43
[7bb1884]44@findex rtems_attribute
[de8e187]45@item @code{@value{DIRPREFIX}attribute} is the data type used
46to manage the attributes for RTEMS objects.  It is primarily
[7bb1884]47used as an argument to object create routines to specify
48characteristics of the new object.
[de8e187]49
[7bb1884]50@findex rtems_boolean
[de8e187]51@item @code{@value{DIRPREFIX}boolean} may only take on the
52values of @code{TRUE} and @code{FALSE}.
53
[7bb1884]54@findex rtems_context
[de8e187]55@item @code{@value{DIRPREFIX}context} is the CPU dependent
56data structure used to manage the integer and system
57register 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
61data structure used to manage the floating point portion of
62each task's context.
63
[7bb1884]64@findex rtems_device_driver
[de8e187]65@item @code{@value{DIRPREFIX}device_driver} is the
66return 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
70entry 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
74data 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
78data type used to manage device minor numbers.
79
[7bb1884]80@findex rtems_double
[de8e187]81@item @code{@value{DIRPREFIX}double} is the RTEMS data
82type that corresponds to double precision floating point
83on the target hardware.
84
[7bb1884]85@findex rtems_event_set
[de8e187]86@item @code{@value{DIRPREFIX}event_set} is the data
87type used to manage and manipulate RTEMS event sets
88with the Event Manager.
89
[7bb1884]90@findex rtems_extension
[de8e187]91@item @code{@value{DIRPREFIX}extension} is the return type
92for RTEMS user extension routines.
93 
[7bb1884]94@findex rtems_fatal_extension
[de8e187]95@item @code{@value{DIRPREFIX}fatal_extension} is the
96entry 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
100to manage and manipulate RTEMS object IDs.
101
[7bb1884]102@findex rtems_interrupt_frame
[de8e187]103@item @code{@value{DIRPREFIX}interrupt_frame} is the
104data structure that defines the format of the interrupt
105stack frame as it appears to a user ISR.  This data
106structure may not be defined on all ports.
107
[7bb1884]108@findex rtems_interrupt_level
[de8e187]109@item @code{@value{DIRPREFIX}interrupt_level} is the
110data structure used with the @code{@value{DIRPREFIX}interrupt_disable},
111@code{@value{DIRPREFIX}interrupt_enable}, and
112@code{@value{DIRPREFIX}interrupt_flash} routines.  This
113data type is CPU dependent and usually corresponds to
114the contents of the processor register containing
115the interrupt mask level.
116
[7bb1884]117@findex rtems_interval
[de8e187]118@item @code{@value{DIRPREFIX}interval} is the data
119type used to manage and manipulate time intervals.
[7bb1884]120Intervals are non-negative integers used to measure
121the length of time in clock ticks.
[de8e187]122
[7bb1884]123@findex rtems_isr
[de8e187]124@item @code{@value{DIRPREFIX}isr} is the return type
125of 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
129the entry point to an RTEMS ISR.  It is equivalent to the
130entry 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]134enumerated type which specifies the categories of
135multiprocessing messages.  For example, one of the
136classes is for messages that must be processed by
137the Task Manager.
138
139@findex rtems_mode
140@item @code{@value{DIRPREFIX}mode} is the data type
141used to manage and dynamically manipulate the execution
142mode of an RTEMS task.
143
144@findex rtems_mpci_entry
[de8e187]145@item @code{@value{DIRPREFIX}mpci_entry} is the return type
146of 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
150the 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
154the 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
158the 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
162the 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
166the 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
170containing the configuration information for an MPCI.
171
[6676f1d]172@findex rtems_name
173@item @code{@value{DIRPREFIX}name} is the data type used to
174contain the name of a Classic API object.  It is an unsigned
175thirty-two bit integer which can be treated as a numeric
176value or initialized using @code{@value{DIRPREFIX}build_name} to
177contain four ASCII characters.
178
[7bb1884]179@findex rtems_option
[de8e187]180@item @code{@value{DIRPREFIX}option} is the data type
181used to specify which behavioral options the caller desires.
182It is commonly used with potentially blocking directives to specify
183whether the caller is willing to block or return immediately with an error
184indicating 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
188that defines the first bytes in every packet sent between nodes
189in an RTEMS multiprocessor system.  It contains routing information
190that 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
194type used to manage and manipulate RTEMS signal sets
195with the Signal Manager.
196
[7bb1884]197@findex rtems_signed8
[de8e187]198@item @code{@value{DIRPREFIX}signed8} is the data
199type that corresponds to signed eight bit integers.
200This data type is defined by RTEMS in a manner that
201ensures it is portable across different target processors.
202
[7bb1884]203@findex rtems_signed16
[de8e187]204@item @code{@value{DIRPREFIX}signed16} is the data
205type that corresponds to signed sixteen bit integers.
206This data type is defined by RTEMS in a manner that
207ensures it is portable across different target processors.
208
[7bb1884]209@findex rtems_signed32
[de8e187]210@item @code{@value{DIRPREFIX}signed32} is the data
211type that corresponds to signed thirty-two bit integers.
212This data type is defined by RTEMS in a manner that
213ensures it is portable across different target processors.
214
[7bb1884]215@findex rtems_signed64
[de8e187]216@item @code{@value{DIRPREFIX}signed64} is the data
217type that corresponds to signed sixty-four bit integers.
218This data type is defined by RTEMS in a manner that
219ensures it is portable across different target processors.
220
[7bb1884]221@findex rtems_single
[de8e187]222@item @code{@value{DIRPREFIX}single} is the RTEMS data
223type that corresponds to single precision floating point
224on 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
230RTEMS Task.
231
[7bb1884]232@findex rtems_task_argument
[de8e187]233@item @code{@value{DIRPREFIX}task_argument} is the data
[6676f1d]234type for the argument passed to each RTEMS task. In RTEMS 4.7
235and older, this is an unsigned thirty-two bit integer.  In
236RTEMS 4.8 and newer, this is based upon the C99 type @code{uintptr_t}
237which is guaranteed to be an integer large enough to hold a
238pointer on the target architecture.
[de8e187]239
[7bb1884]240@findex rtems_task_begin_extension
[de8e187]241@item @code{@value{DIRPREFIX}task_begin_extension} is the
242entry 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
246entry 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
250entry 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
254the entry point to an RTEMS ASR.  It is equivalent to the
255entry 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
259entry 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
263used 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
267entry 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
271entry 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
275entry 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
279with 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
283used 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
287return 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
291the entry point to an RTEMS TSR.  It is equivalent to the
292entry 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
296type used to manage and manipulate interrupt vector numbers.
[7bb1884]297
298@end itemize
Note: See TracBrowser for help on using the repository browser.