Changeset 169502e in rtems


Ignore:
Timestamp:
Oct 11, 1999, 7:03:05 PM (22 years ago)
Author:
Joel Sherrill <joel.sherrill@…>
Branches:
4.10, 4.11, 4.8, 4.9, 5, master
Children:
af31f3a
Parents:
0de8359
Message:

Turned on concept and function name indexing.

Location:
doc/user
Files:
23 edited

Legend:

Unmodified
Added
Removed
  • doc/user/Makefile

    r0de8359 r169502e  
    3737        $(MAKEINFO) $(PROJECT).texi
    3838
    39 dvi: $(PROJECT).dvi
     39dvi: dirs $(PROJECT).dvi
    4040ps: dirs $(PROJECT).ps
    4141pdf: dirs $(PROJECT).pdf
     
    4343$(PROJECT).pdf: $(FILES)
    4444        $(TEXI2PDF) $(PROJECT).texi
    45         cp $(PROJECT).pdf $(PDF_INSTALL)
     45        cp $(PROJECT).pdf $(WWW_INSTALL)/$(PROJECT)
    4646       
    4747$(PROJECT).ps: $(PROJECT).dvi
    4848        dvips -o $(PROJECT).ps $(PROJECT).dvi
    49         cp $(PROJECT).ps $(PS_INSTALL)
     49        cp $(PROJECT).ps $(WWW_INSTALL)/$(PROJECT)
    5050
    5151$(PROJECT).dvi: $(FILES)
    52         # $(TEXI2DVI) $(PROJECT).texi
    53         texi2dvi -V $(PROJECT).texi
     52        $(TEXI2DVI) $(PROJECT).texi
     53        cp $(PROJECT).dvi $(WWW_INSTALL)/$(PROJECT)
    5454
    5555html: dirs $(FILES)
     
    5858        $(TEXI2WWW) $(TEXI2WWW_ARGS) -dir $(WWW_INSTALL)/$(PROJECT) \
    5959            $(PROJECT).texi
     60
     61index:
     62        texindex $(PROJECT).cp $(PROJECT).vr $(PROJECT).fn \
     63        $(PROJECT).tp $(PROJECT).pg $(PROJECT).ky
    6064
    6165clean:
  • doc/user/bsp.t

    r0de8359 r169502e  
    99@chapter Board Support Packages
    1010
     11@cindex Board Support Packages
     12@cindex BSPs
     13
    1114@section Introduction
     15
     16@cindex BSP, definition
    1217
    1318A board support package (BSP) is a collection of
  • doc/user/c_user.texi

    r0de8359 r169502e  
    3838@end ignore
    3939
     40@c @syncodeindex fn cp
    4041@c variable substitution info:
    4142@c
     
    155156@unnumbered Command and Variable Index
    156157
    157 There are currently no Command and Variable Index entries.
     158@printindex fn
    158159
    159 @c @printindex fn
     160@c There are currently no Command and Variable Index entries.
     161
    160162
    161163@node Concept Index, , Command and Variable Index, Top
    162164@unnumbered Concept Index
    163165
    164 There are currently no Concept Index entries.
    165 @c @printindex cp
     166@c There are currently no Concept Index entries.
     167@printindex cp
    166168
    167169@contents
  • doc/user/clock.t

    r0de8359 r169502e  
    88
    99@chapter Clock Manager
     10
     11@cindex clock
    1012
    1113@section Introduction
     
    219221and status codes.
    220222
     223@c
     224@c
     225@c
    221226@page
    222227@subsection CLOCK_SET - Set system date and time
     
    224229@subheading CALLING SEQUENCE:
    225230
    226 @ifset is-C
    227 @c @findex rtems_clock_set
     231@cindex set the time of day
     232
     233@ifset is-C
     234@findex rtems_clock_set
    228235@example
    229236rtems_status_code rtems_clock_set(
     
    270277the system date and time to application specific specifications.
    271278
     279@c
     280@c
     281@c
    272282@page
    273283@subsection CLOCK_GET - Get system date and time information
    274284
     285@cindex obtain the time of day
     286
    275287@subheading CALLING SEQUENCE:
    276288
    277289@ifset is-C
    278 @c @findex rtems_clock_get
     290@findex rtems_clock_get
    279291@example
    280292rtems_status_code rtems_clock_get(
     
    361373system date and time to application specific specifications.
    362374
     375@c
     376@c
     377@c
    363378@page
    364379@subsection CLOCK_TICK - Announce a clock tick
    365380
     381@cindex clock tick
     382
    366383@subheading CALLING SEQUENCE:
    367384
    368385@ifset is-C
    369 @c @findex rtems_clock_tick
     386@findex rtems_clock_tick
    370387@example
    371388rtems_status_code rtems_clock_tick( void );
  • doc/user/concepts.t

    r0de8359 r169502e  
    2323
    2424@section Objects
     25
     26@cindex objects
    2527
    2628RTEMS provides directives which can be used to
     
    4143IDs are designed to facilitate efficient object manipulation by
    4244the executive.
     45
     46@cindex object name
    4347
    4448An object name is an unsigned thirty-two bit entity
     
    5559approach would be to name them the binary values one through
    5660one-hundred, respectively.
     61
     62@cindex object ID
    5763
    5864@need 3000
     
    180186@section Communication and Synchronization
    181187
     188@cindex communication and synchronization
     189
    182190In real-time multitasking applications, the ability
    183191for cooperating execution threads to communicate and synchronize
     
    221229@section Time
    222230
     231@cindex time
     232
    223233The development of responsive real-time applications
    224234requires an understanding of how RTEMS maintains and supports
     
    267277
    268278@section Memory Management
     279
     280@cindex memory management
    269281
    270282RTEMS memory management facilities can be grouped
  • doc/user/conf.t

    r0de8359 r169502e  
    3232@section Automatic Generation of System Configuration
    3333
     34@cindex confdefs.h
     35@fnindex confdefs.h
     36
    3437RTEMS provides the @code{confdefs.h} C language header file that
    3538based on the setting of a variety of macros can automatically
     
    6265
    6366@section Configuration Table
     67
     68@cindex Configuration Table
     69@cindex RTEMS Configuration Table
    6470
    6571The RTEMS Configuration Table is used to tailor an
     
    269275@section RTEMS API Configuration Table
    270276
     277@cindex RTEMS API Configuration Table
     278
    271279The RTEMS API Configuration Table is used to configure the
    272280managers which constitute the RTEMS API for a particular application. 
     
    443451
    444452@section POSIX API Configuration Table
     453
     454@cindex POSIX API Configuration Table
    445455
    446456The POSIX API Configuration Table is used to configure the
     
    602612@section CPU Dependent Information Table
    603613
     614@cindex CPU Dependent Information Table
     615
    604616The CPU Dependent Information Table is used to
    605617describe processor dependent information required by RTEMS.
     
    614626
    615627@section Initialization Task Table
     628
     629@cindex Initialization Tasks Table
    616630
    617631The Initialization Task Table is used to describe
     
    739753@section Driver Address Table
    740754
     755@cindex Device Driver Table
     756
    741757The Device Driver Table is used to inform the I/O
    742758Manager of the set of entry points for each device driver
     
    832848
    833849@section User Extensions Table
     850
     851@cindex User Extensions Table
    834852
    835853The User Extensions Table is used to inform RTEMS of
     
    9911009
    9921010@section Multiprocessor Configuration Table
     1011
     1012@cindex Multiprocessor Configuration Table
    9931013
    9941014The Multiprocessor Configuration Table contains
     
    11121132
    11131133@section Multiprocessor Communications Interface Table
     1134
     1135@cindex  Multiprocessor Communications Interface Table
    11141136
    11151137This table defines the set of callouts that must be provided by
  • doc/user/dpmem.t

    r0de8359 r169502e  
    88
    99@chapter Dual-Ported Memory Manager
     10
     11@cindex ports
     12@cindex dual ported memory
    1013
    1114@section Introduction
     
    2528
    2629@section Background
     30
     31@cindex dual ported memory, definition
     32@cindex external addresses, definition
     33@cindex internal addresses, definition
    2734
    2835A dual-ported memory area (DPMA) is an contiguous
     
    93100constants, usage, and status codes.
    94101
     102@c
     103@c
     104@c
    95105@page
    96106@subsection PORT_CREATE - Create a port
    97107
    98 @subheading CALLING SEQUENCE:
    99 
    100 @ifset is-C
    101 @c @findex rtems_port_create
     108@cindex create a port
     109
     110@subheading CALLING SEQUENCE:
     111
     112@ifset is-C
     113@findex rtems_port_create
    102114@example
    103115rtems_status_code rtems_port_create(
     
    151163preempted.
    152164
     165@c
     166@c
     167@c
    153168@page
    154169@subsection PORT_IDENT - Get ID of a port
    155170
    156 @subheading CALLING SEQUENCE:
    157 
    158 @ifset is-C
    159 @c @findex rtems_port_ident
     171@cindex get ID of a port
     172@cindex obtain ID of a port
     173
     174@subheading CALLING SEQUENCE:
     175
     176@ifset is-C
     177@findex rtems_port_ident
    160178@example
    161179rtems_status_code rtems_port_ident(
     
    194212preempted.
    195213
     214@c
     215@c
     216@c
    196217@page
    197218@subsection PORT_DELETE - Delete a port
    198219
    199 @subheading CALLING SEQUENCE:
    200 
    201 @ifset is-C
    202 @c @findex rtems_port_delete
     220@cindex delete a port
     221
     222@subheading CALLING SEQUENCE:
     223
     224@ifset is-C
     225@findex rtems_port_delete
    203226@example
    204227rtems_status_code rtems_port_delete(
     
    236259delete the port.
    237260
     261@c
     262@c
     263@c
    238264@page
    239265@subsection PORT_EXTERNAL_TO_INTERNAL - Convert external to internal address
    240266
    241 @subheading CALLING SEQUENCE:
    242 
    243 @ifset is-C
    244 @c @findex rtems_port_external_to_internal
     267@cindex convert external to internal address
     268
     269@subheading CALLING SEQUENCE:
     270
     271@ifset is-C
     272@findex rtems_port_external_to_internal
    245273@example
    246274rtems_status_code rtems_port_external_to_internal(
     
    281309preempted.
    282310
     311@c
     312@c
     313@c
    283314@page
    284315@subsection PORT_INTERNAL_TO_EXTERNAL - Convert internal to external address
    285316
    286 @subheading CALLING SEQUENCE:
    287 
    288 @ifset is-C
    289 @c @findex rtems_port_internal_to_external
     317@cindex convert internal to external address
     318
     319@subheading CALLING SEQUENCE:
     320
     321@ifset is-C
     322@findex rtems_port_internal_to_external
    290323@example
    291324rtems_status_code rtems_port_internal_to_external(
  • doc/user/event.t

    r0de8359 r169502e  
    99@chapter Event Manager
    1010
     11@cindex events
     12
    1113@section Introduction
    1214
     
    2325
    2426@subsection Event Sets
     27
     28@cindex event set, definition
    2529
    2630An event flag is used by a task (or ISR) to inform
     
    6165@subsection Building an Event Set or Condition
    6266
     67@cindex event condition, building
     68@cindex event set, building
     69
    6370An event set or condition is built by a bitwise OR of
    6471the desired events.  The set of valid events is @code{@value{RPREFIX}EVENT_0} through
     
    185192and status codes.
    186193
     194@c
     195@c
     196@c
    187197@page
    188198@subsection EVENT_SEND - Send event set to a task
    189199
     200@cindex send event set to a task
     201
    190202@subheading CALLING SEQUENCE:
    191203
    192204@ifset is-C
    193 @c @findex rtems_event_send
     205@findex rtems_event_send
    194206@example
    195207rtems_status_code rtems_event_send (
     
    242254remote node to send the event set to the appropriate task.
    243255
     256@c
     257@c
     258@c
    244259@page
    245260@subsection EVENT_RECEIVE - Receive event condition
    246261
     262@cindex receive event condition
     263
    247264@subheading CALLING SEQUENCE:
    248265
    249266@ifset is-C
    250 @c @findex rtems_event_receive
     267@findex rtems_event_receive
    251268@example
    252269rtems_status_code rtems_event_receive (
  • doc/user/fatal.t

    r0de8359 r169502e  
    88
    99@chapter Fatal Error Manager
     10
     11@cindex fatal errors
    1012
    1113@section Introduction
     
    2022
    2123@section Background
     24
     25@cindex fatal error detection
     26@cindex fatal error processing
     27@cindex fatal error user extension
    2228
    2329The fatal error manager is called upon detection of
     
    111117constants, usage, and status codes.
    112118
     119@c
     120@c
     121@c
    113122@page
    114123@subsection FATAL_ERROR_OCCURRED - Invoke the fatal error handler
     124
     125@cindex announce fatal error
     126@cindex fatal error, announce
    115127
    116128@subheading CALLING SEQUENCE:
    117129
    118130@ifset is-C
    119 @c @findex rtems_fatal_error_occurred
     131@findex rtems_fatal_error_occurred
    120132@example
    121133void volatile rtems_fatal_error_occurred(
  • doc/user/init.t

    r0de8359 r169502e  
    2929
    3030@subsection Initialization Tasks
     31
     32@cindex initialization tasks
    3133
    3234Initialization task(s) are the mechanism by which
     
    191193@subsection INITIALIZE_EXECUTIVE - Initialize RTEMS
    192194
     195@cindex initialize RTEMS
     196
    193197@subheading CALLING SEQUENCE:
    194198
    195199@ifset is-C
    196 @c @findex rtems_initialize_executive
     200@findex rtems_initialize_executive
    197201@example
    198202void rtems_initialize_executive(
     
    255259@subsection INITIALIZE_EXECUTIVE_EARLY - Initialize RTEMS and do NOT Start Multitasking
    256260
     261@cindex initialize RTEMS
     262
    257263@subheading CALLING SEQUENCE:
    258264
    259265@ifset is-C
    260 @c @findex rtems_initialize_executive_early
     266@findex rtems_initialize_executive_early
    261267@example
    262268rtems_interrupt_level rtems_initialize_executive_early(
     
    308314@subsection INITIALIZE_EXECUTIVE_LATE - Complete Initialization and Start Multitasking
    309315
     316@cindex initialize RTEMS
     317@cindex start multitasking
     318
    310319@subheading CALLING SEQUENCE:
    311320
    312321@ifset is-C
    313 @c @findex rtems_initialize_executive_late
     322@findex rtems_initialize_executive_late
    314323@example
    315324void rtems_initialize_executive_late(
     
    358367initialization sequences:
    359368@code{@value{DIRPREFIX}initialize_executive} or
    360 @code{@value{DIRPREFIX}nitialize_executive_early} and
     369@code{@value{DIRPREFIX}initialize_executive_early} and
    361370@code{@value{DIRPREFIX}initialize_executive_late}.
    362371
     
    366375@subsection SHUTDOWN_EXECUTIVE - Shutdown RTEMS
    367376
     377@cindex shutdown RTEMS
     378
    368379@subheading CALLING SEQUENCE:
    369380
    370381@ifset is-C
    371 @c @findex rtems_shutdown_executive
     382@findex rtems_shutdown_executive
    372383@example
    373384void rtems_shutdown_executive(
  • doc/user/intr.t

    r0de8359 r169502e  
    3131
    3232@subsection Processing an Interrupt
     33
     34@cindex interrupt processing
    3335
    3436The interrupt manager allows the application to
     
    99101@end itemize
    100102
    101 
    102103Consider a processor which allows a numerically low
    103104interrupt level to interrupt a numerically greater interrupt
     
    113114
    114115@subsection RTEMS Interrupt Levels
     116
     117@cindex interrupt levels
    115118
    116119Many processors support multiple interrupt levels or
     
    124127
    125128@subsection Disabling of Interrupts by RTEMS
     129
     130@cindex disabling interrupts
    126131
    127132During the execution of directive calls, critical
     
    226231constants, usage, and status codes.
    227232
     233@c
     234@c
     235@c
    228236@page
    229237@subsection INTERRUPT_CATCH - Establish an ISR
    230238
     239@cindex establish an ISR
     240@cindex install an ISR
     241
    231242@subheading CALLING SEQUENCE:
    232243
    233244@ifset is-C
    234 @c @findex rtems_interrupt_catch
     245@findex rtems_interrupt_catch
    235246@example
    236247rtems_status_code rtems_interrupt_catch(
     
    278289This directive will not cause the calling task to be preempted.
    279290
     291@c
     292@c
     293@c
    280294@page
    281295@subsection INTERRUPT_DISABLE - Disable Interrupts
    282296
     297@cindex disable interrupts
     298
    283299@subheading CALLING SEQUENCE:
    284300
    285301@ifset is-C
    286 @c @findex rtems_interrupt_disable
     302@findex rtems_interrupt_disable
    287303@example
    288304void rtems_interrupt_disable(
     
    321337@end ifset
    322338
     339@c
     340@c
     341@c
    323342@page
    324343@subsection INTERRUPT_ENABLE - Enable Interrupts
    325344
     345@cindex enable interrupts
     346
    326347@subheading CALLING SEQUENCE:
    327348
    328349@ifset is-C
    329 @c @findex rtems_interrupt_enable
     350@findex rtems_interrupt_enable
    330351@example
    331352void rtems_interrupt_enable(
     
    361382
    362383
     384@c
     385@c
     386@c
    363387@page
    364388@subsection INTERRUPT_FLASH - Flash Interrupts
    365389
     390@cindex flash interrupts
     391
    366392@subheading CALLING SEQUENCE:
    367393
    368394@ifset is-C
    369 @c @findex rtems_interrupt_flash
     395@findex rtems_interrupt_flash
    370396@example
    371397void rtems_interrupt_flash(
     
    400426This directive will not cause the calling task to be preempted.
    401427
     428@c
     429@c
     430@c
    402431@page
    403432@subsection INTERRUPT_IS_IN_PROGRESS - Is an ISR in Progress
    404433
     434@cindex is interrupt in progress
     435
    405436@subheading CALLING SEQUENCE:
    406437
    407438@ifset is-C
    408 @c @findex rtems_interrupt_is_in_progress
     439@findex rtems_interrupt_is_in_progress
    409440@example
    410441rtems_boolean rtems_interrupt_is_in_progress( void );
  • doc/user/io.t

    r0de8359 r169502e  
    88
    99@chapter I/O Manager
     10
     11@cindex device drivers
     12@cindex IO Manager
    1013
    1114@section Introduction
     
    3134@subsection Device Driver Table
    3235
     36@cindex Device Driver Table
     37
    3338Each application utilizing the RTEMS I/O manager must
    3439specify the address of a Device Driver Table in its
     
    5560@subsection Major and Minor Device Numbers
    5661
     62@cindex major device number
     63@cindex minor device number
     64
    5765Each call to the I/O manager must provide a device's
    5866major and minor numbers as arguments.  The major number is the
     
    6573@subsection Device Names
    6674
     75@cindex device names
     76
    6777The I/O Manager provides facilities to associate a
    6878name with a particular device.  Directives are provided to
     
    101111
    102112@subsection Device Driver Interface
     113
     114@cindex device driver interface
    103115
    104116When an application invokes an I/O manager directive,
     
    199211status codes.
    200212
     213@c
     214@c
     215@c
    201216@page
    202217@subsection IO_INITIALIZE - Initialize a device driver
    203218
    204 @subheading CALLING SEQUENCE:
    205 
    206 @ifset is-C
    207 @c @findex rtems_io_initialize
     219@cindex initialize a device driver
     220
     221@subheading CALLING SEQUENCE:
     222
     223@ifset is-C
     224@findex rtems_io_initialize
    208225@example
    209226rtems_status_code rtems_io_initialize(
     
    250267initialized.
    251268
     269@c
     270@c
     271@c
    252272@page
    253273@subsection IO_REGISTER_NAME - Register a device
    254274
    255 @subheading CALLING SEQUENCE:
    256 
    257 @ifset is-C
    258 @c @findex rtems_io_register_name
     275@cindex register device
     276
     277@subheading CALLING SEQUENCE:
     278
     279@ifset is-C
     280@findex rtems_io_register_name
    259281@example
    260282rtems_status_code rtems_io_register_name(
     
    291313preempted.
    292314
     315@c
     316@c
     317@c
    293318@page
    294319@subsection IO_LOOKUP_NAME - Lookup a device
    295320
    296 @subheading CALLING SEQUENCE:
    297 
    298 @ifset is-C
    299 @c @findex rtems_io_lookup_name
     321@cindex lookup device major and minor number
     322
     323@subheading CALLING SEQUENCE:
     324
     325@ifset is-C
     326@findex rtems_io_lookup_name
    300327@example
    301328rtems_status_code rtems_io_lookup_name(
     
    330357preempted.
    331358
     359@c
     360@c
     361@c
    332362@page
    333363@subsection IO_OPEN - Open a device
    334364
    335 @subheading CALLING SEQUENCE:
    336 
    337 @ifset is-C
    338 @c @findex rtems_io_open
     365@cindex open a devive
     366
     367@subheading CALLING SEQUENCE:
     368
     369@ifset is-C
     370@findex rtems_io_open
    339371@example
    340372rtems_status_code rtems_io_open(
     
    375407invoked.
    376408
     409@c
     410@c
     411@c
    377412@page
    378413@subsection IO_CLOSE - Close a device
    379414
    380 @subheading CALLING SEQUENCE:
    381 
    382 @ifset is-C
    383 @c @findex rtems_io_close
     415@cindex close a device
     416
     417@subheading CALLING SEQUENCE:
     418
     419@ifset is-C
     420@findex rtems_io_close
    384421@example
    385422rtems_status_code rtems_io_close(
     
    420457invoked.
    421458
     459@c
     460@c
     461@c
    422462@page
    423463@subsection IO_READ - Read from a device
    424464
    425 @subheading CALLING SEQUENCE:
    426 
    427 @ifset is-C
    428 @c @findex rtems_io_read
     465@cindex read from a device
     466
     467@subheading CALLING SEQUENCE:
     468
     469@ifset is-C
     470@findex rtems_io_read
    429471@example
    430472rtems_status_code rtems_io_read(
     
    466508invoked.
    467509
     510@c
     511@c
     512@c
    468513@page
    469514@subsection IO_WRITE - Write to a device
    470515
    471 @subheading CALLING SEQUENCE:
    472 
    473 @ifset is-C
    474 @c @findex rtems_io_write
     516@cindex write to a device
     517
     518@subheading CALLING SEQUENCE:
     519
     520@ifset is-C
     521@findex rtems_io_write
    475522@example
    476523rtems_status_code rtems_io_write(
     
    512559invoked.
    513560
     561@c
     562@c
     563@c
    514564@page
    515565@subsection IO_CONTROL - Special device services
    516566
    517 @subheading CALLING SEQUENCE:
    518 
    519 @ifset is-C
    520 @c @findex rtems_io_control
     567@cindex special device services
     568@cindex IO Control
     569
     570@subheading CALLING SEQUENCE:
     571
     572@ifset is-C
     573@findex rtems_io_control
    521574@example
    522575rtems_status_code rtems_io_control(
  • doc/user/mp.t

    r0de8359 r169502e  
    88
    99@chapter Multiprocessing Manager
     10
     11@cindex multiprocessing
    1012
    1113@section Introduction
     
    4446@section Background
    4547
     48@cindex multiprocessing topologies
     49
    4650RTEMS makes no assumptions regarding the connection
    4751media or topology of a multiprocessor system.  The tasks which
     
    7175@subsection Nodes
    7276
     77@cindex nodes, definition
     78
    7379A processor in a RTEMS system is referred to as a
    7480node.  Each node is assigned a unique non-zero node number by
    7581the application designer.  RTEMS assumes that node numbers are
    76 assigned consecutively from one to maximum_nodes.  The node
     82assigned consecutively from one to the @code{maximum_nodes}
     83configuration parameter.  The node
    7784number, node, and the maximum number of nodes, maximum_nodes, in
    7885a system are found in the Multiprocessor Configuration Table.
     
    8794
    8895@subsection Global Objects
     96
     97@cindex global objects, definition
    8998
    9099All RTEMS objects which are created with the GLOBAL
     
    102111@subsection Global Object Table
    103112
     113@cindex global objects table
     114
    104115RTEMS maintains two tables containing object
    105116information on every node in a multiprocessor system: a local
     
    124135@subsection Remote Operations
    125136
     137@cindex MPCI and remote operations
     138
    126139When an application performs an operation on a remote
    127140global object, RTEMS must generate a Remote Request (RQ) message
     
    191204
    192205@subsection Proxies
     206
     207@cindex proxy, definition
    193208
    194209A proxy is an RTEMS data structure which resides on a
     
    230245returning to RTEMS.
    231246
     247@cindex MPCI, definition
     248
    232249The MPCI layer is responsible for managing a pool of
    233250buffers called packets and for sending these packets between
     
    238255on the MPCI layer implementation.
    239256
     257@cindex MPCI entry points
     258
    240259The entry points to the routines in the user's MPCI
    241260layer should be placed in the Multiprocessor Communications
     
    251270@end itemize
    252271
    253 A packet is sent by RTEMS in each of the following
    254 situations:
     272A packet is sent by RTEMS in each of the following situations:
    255273
    256274@itemize @bullet
     
    458476@subsection Supporting Heterogeneous Environments
    459477
     478@cindex heterogeneous multiprocessing
     479
    460480Developing an MPCI layer for a heterogeneous system
    461481requires a thorough understanding of the differences between the
     
    555575status codes.
    556576
     577@c
     578@c
     579@c
    557580@page
    558581@subsection MULTIPROCESSING_ANNOUNCE - Announce the arrival of a packet
    559582
     583@cindex announce arrival of package
     584
    560585@subheading CALLING SEQUENCE:
    561586
    562587@ifset is-C
    563 @c @findex rtems_multiprocessing_announce
     588@findex rtems_multiprocessing_announce
    564589@example
    565590void rtems_multiprocessing_announce( void );
  • doc/user/msg.t

    r0de8359 r169502e  
    88
    99@chapter Message Manager
     10
     11@cindex messages
     12@cindex message queues
    1013
    1114@section Introduction
     
    5558@subsection Building a Message Queue Attribute Set
    5659
     60@cindex message queue attributes
     61
    5762In general, an attribute set is built by a bitwise OR
    5863of the desired attribute components.  The set of valid message
     
    212217constants, usage, and status codes.
    213218
     219@c
     220@c
     221@c
    214222@page
    215223@subsection MESSAGE_QUEUE_CREATE - Create a queue
    216224
     225@cindex create a message queue
     226
    217227@subheading CALLING SEQUENCE:
    218228
    219229@ifset is-C
    220 @c @findex rtems_message_queue_create
     230@findex rtems_message_queue_create
    221231@example
    222232rtems_status_code rtems_message_queue_create(
     
    298308configuration table.
    299309
     310@c
     311@c
     312@c
    300313@page
    301314@subsection MESSAGE_QUEUE_IDENT - Get ID of a queue
    302315
     316@cindex get ID of a message queue
     317
    303318@subheading CALLING SEQUENCE:
    304319
    305320@ifset is-C
    306 @c @findex rtems_message_queue_ident
     321@findex rtems_message_queue_ident
    307322@example
    308323rtems_status_code rtems_message_queue_ident(
     
    356371table.
    357372
     373@c
     374@c
     375@c
    358376@page
    359377@subsection MESSAGE_QUEUE_DELETE - Delete a queue
    360378
     379@cindex delete a message queue
     380
    361381@subheading CALLING SEQUENCE:
    362382
    363383@ifset is-C
    364 @c @findex rtems_message_queue_delete
     384@findex rtems_message_queue_delete
    365385@example
    366386rtems_status_code rtems_message_queue_delete(
     
    418438reclaimed when the message queue is deleted.
    419439
     440@c
     441@c
     442@c
    420443@page
    421444@subsection MESSAGE_QUEUE_SEND - Put message at rear of a queue
    422445
     446@cindex send message to a queue
     447
    423448@subheading CALLING SEQUENCE:
    424449
    425450@ifset is-C
    426 @c @findex rtems_message_queue_send
     451@findex rtems_message_queue_send
    427452@example
    428453rtems_status_code rtems_message_queue_send(
     
    477502proxy used to represent the task is reclaimed.
    478503
     504@c
     505@c
     506@c
    479507@page
    480508@subsection MESSAGE_QUEUE_URGENT - Put message at front of a queue
    481509
     510@cindex put message at front of queue
     511
    482512@subheading CALLING SEQUENCE:
    483513
    484514@ifset is-C
    485 @c @findex rtems_message_queue_urgent
     515@findex rtems_message_queue_urgent
    486516@example
    487517rtems_status_code rtems_message_queue_urgent(
     
    537567proxy used to represent the task is reclaimed.
    538568
     569@c
     570@c
     571@c
    539572@page
    540573@subsection MESSAGE_QUEUE_BROADCAST - Broadcast N messages to a queue
    541574
     575@cindex broadcast message to a queue
     576
    542577@subheading CALLING SEQUENCE:
    543578
    544579@ifset is-C
    545 @c @findex rtems_message_queue_broadcast
     580@findex rtems_message_queue_broadcast
    546581@example
    547582rtems_status_code rtems_message_queue_broadcast(
     
    601636proxy used to represent the task is reclaimed.
    602637
     638@c
     639@c
     640@c
    603641@page
    604642@subsection MESSAGE_QUEUE_RECEIVE - Receive message from a queue
    605643
     644@cindex receive message from a queue
     645
    606646@subheading CALLING SEQUENCE:
    607647
    608648@ifset is-C
    609 @c @findex rtems_message_queue_receive
     649@findex rtems_message_queue_receive
    610650@example
    611651rtems_status_code rtems_message_queue_receive(
     
    688728this directive.
    689729
     730@c
     731@c
     732@c
    690733@page
    691734@subsection MESSAGE_QUEUE_GET_NUMBER_PENDING - Get number of messages pending on a queue
    692735
     736@cindex get number of pending messages
     737
    693738@subheading CALLING SEQUENCE:
    694739
    695740@ifset is-C
    696 @c @findex rtems_message_queue_get_number_pending
     741@findex rtems_message_queue_get_number_pending
    697742@example
    698743rtems_status_code rtems_message_queue_get_number_pending(
     
    731776
    732777
     778@c
     779@c
     780@c
    733781@page
    734782@subsection MESSAGE_QUEUE_FLUSH - Flush all messages on a queue
    735783
     784@cindex flush messages on a queue
     785
    736786@subheading CALLING SEQUENCE:
    737787
    738788@ifset is-C
    739 @c @findex rtems_message_queue_flush
     789@findex rtems_message_queue_flush
    740790@example
    741791rtems_status_code rtems_message_queue_flush(
  • doc/user/part.t

    r0de8359 r169502e  
    88
    99@chapter Partition Manager
     10
     11@cindex partitions
    1012
    1113@section Introduction
     
    2729@subsection Partition Manager Definitions
    2830
     31@cindex partition, definition
     32
    2933A partition is a physically contiguous memory area
    3034divided into fixed-size buffers that can be dynamically
    3135allocated and deallocated.
     36
     37@cindex buffers, definition
    3238
    3339Partitions are managed and maintained as a list of
     
    4349@subsection Building a Partition Attribute Set
    4450
     51@cindex partition attribute set, building
     52
    4553In general, an attribute set is built by a bitwise OR
    4654of the desired attribute components.  The set of valid partition
     
    5159@item @code{@value{RPREFIX}GLOBAL} - global task
    5260@end itemize
    53 
    5461
    5562Attribute values are specifically designed to be
     
    124131constants, usage, and status codes.
    125132
     133@c
     134@c
     135@c
    126136@page
    127137@subsection PARTITION_CREATE - Create a partition
    128138
     139@cindex create a partition
     140
    129141@subheading CALLING SEQUENCE:
    130142
    131143@ifset is-C
    132 @c @findex rtems_partition_create
     144@findex rtems_partition_create
    133145@example
    134146rtems_status_code rtems_partition_create(
     
    211223the Configuration Table.
    212224
     225@c
     226@c
     227@c
    213228@page
    214229@subsection PARTITION_IDENT - Get ID of a partition
    215230
     231@cindex get ID of a partition
     232@cindex obtain ID of a partition
     233
    216234@subheading CALLING SEQUENCE:
    217235
    218236@ifset is-C
    219 @c @findex rtems_partition_ident
     237@findex rtems_partition_ident
    220238@example
    221239rtems_status_code rtems_partition_ident(
     
    269287table.
    270288
     289@c
     290@c
     291@c
    271292@page
    272293@subsection PARTITION_DELETE - Delete a partition
    273294
     295@cindex delete a partition
     296
    274297@subheading CALLING SEQUENCE:
    275298
    276299@ifset is-C
    277 @c @findex rtems_partition_delete
     300@findex rtems_partition_delete
    278301@example
    279302rtems_status_code rtems_partition_delete(
     
    321344the partition was created with the @code{@value{RPREFIX}GLOBAL} option.
    322345
     346@c
     347@c
     348@c
    323349@page
    324350@subsection PARTITION_GET_BUFFER - Get buffer from a partition
    325351
     352@cindex get buffer from partition
     353@cindex obtain buffer from partition
     354
    326355@subheading CALLING SEQUENCE:
    327356
    328357@ifset is-C
    329 @c @findex rtems_partition_get_buffer
     358@findex rtems_partition_get_buffer
    330359@example
    331360rtems_status_code rtems_partition_get_buffer(
     
    370399remote node to allocate a buffer from the specified partition.
    371400
     401@c
     402@c
     403@c
    372404@page
    373405@subsection PARTITION_RETURN_BUFFER - Return buffer to a partition
    374406
     407@cindex return buffer to partitition
     408
    375409@subheading CALLING SEQUENCE:
    376410
    377411@ifset is-C
    378 @c @findex rtems_partition_return_buffer
     412@findex rtems_partition_return_buffer
    379413@example
    380414rtems_status_code rtems_partition_return_buffer(
  • doc/user/region.t

    r0de8359 r169502e  
    88
    99@chapter Region Manager
     10
     11@cindex regions
    1012
    1113@section Introduction
     
    2830
    2931@subsection Region Manager Definitions
     32
     33@cindex region, definition
     34@cindex segment, definition
    3035
    3136A region makes up a physically contiguous memory
     
    5661@subsection Building an Attribute Set
    5762
     63@cindex region attribute set, building
     64
    5865In general, an attribute set is built by a bitwise OR
    5966of the desired attribute components.  The set of valid region
     
    215222and status codes.
    216223
     224@c
     225@c
     226@c
    217227@page
    218228@subsection REGION_CREATE - Create a region
    219229
     230@cindex create a region
     231
    220232@subheading CALLING SEQUENCE:
    221233
    222234@ifset is-C
    223 @c @findex rtems_region_create
     235@findex rtems_region_create
    224236@example
    225237rtems_status_code rtems_region_create(
     
    294306@end itemize
    295307
     308@c
     309@c
     310@c
    296311@page
    297312@subsection REGION_IDENT - Get ID of a region
    298313
     314@cindex get ID of a region
     315@cindex obtain ID of a region
     316
    299317@subheading CALLING SEQUENCE:
    300318
    301319@ifset is-C
    302 @c @findex rtems_region_ident
     320@findex rtems_region_ident
    303321@example
    304322rtems_status_code rtems_region_ident(
     
    337355This directive will not cause the running task to be preempted.
    338356
     357@c
     358@c
     359@c
    339360@page
    340361@subsection REGION_DELETE - Delete a region
    341362
     363@cindex delete a region
     364
    342365@subheading CALLING SEQUENCE:
    343366
    344367@ifset is-C
    345 @c @findex rtems_region_delete
     368@findex rtems_region_delete
    346369@example
    347370rtems_status_code rtems_region_delete(
     
    381404delete the region.
    382405
     406@c
     407@c
     408@c
    383409@page
    384410@subsection REGION_EXTEND - Add memory to a region
    385411
     412@cindex add memory to a region
     413@cindex region, add memory
     414
    386415@subheading CALLING SEQUENCE:
    387416
    388417@ifset is-C
    389 @c @findex rtems_region_extend
     418@findex rtems_region_extend
    390419@example
    391420rtems_status_code rtems_region_extend(
     
    427456extend the region.
    428457
     458@c
     459@c
     460@c
    429461@page
    430462@subsection REGION_GET_SEGMENT - Get segment from a region
    431463
     464@cindex get segment from region
     465
    432466@subheading CALLING SEQUENCE:
    433467
    434468@ifset is-C
    435 @c @findex rtems_region_get_segment
     469@findex rtems_region_get_segment
    436470@example
    437471rtems_status_code rtems_region_get_segment(
     
    515549this directive.
    516550
     551@c
     552@c
     553@c
    517554@page
    518555@subsection REGION_RETURN_SEGMENT - Return segment to a region
    519556
     557@cindex return segment to region
     558
    520559@subheading CALLING SEQUENCE:
    521560
    522561@ifset is-C
    523 @c @findex rtems_region_return_segment
     562@findex rtems_region_return_segment
    524563@example
    525564rtems_status_code rtems_region_return_segment(
     
    569608@end itemize
    570609
     610@c
     611@c
     612@c
    571613@page
    572614@subsection REGION_GET_SEGMENT_SIZE - Obtain size of a segment
    573615
     616@cindex get size of segment
     617
    574618@subheading CALLING SEQUENCE:
    575619
    576620@ifset is-C
    577 @c @findex rtems_region_get_segment_size
     621@findex rtems_region_get_segment_size
    578622@example
    579623rtems_status_code rtems_region_get_segment_size(
  • doc/user/rtmon.t

    r0de8359 r169502e  
    1414
    1515@chapter Rate Monotonic Manager
     16
     17@cindex rate mononitonic tasks
     18@cindex periodic tasks
    1619
    1720@section Introduction
     
    4649
    4750@subsection Rate Monotonic Manager Definitions
     51
     52@cindex periodic task, definition
    4853
    4954A periodic task is one which must be executed at a
     
    6267analyzing system behavior under transient overload conditions.
    6368
     69@cindex aperiodic task, definition
     70
    6471In contrast, an aperiodic task executes at irregular
    6572intervals and has only a soft deadline.  In other words, the
     
    6774response times are desirable.  For example, an aperiodic task
    6875may process user input from a terminal.
     76
     77@cindex sporadic task, definition
    6978
    7079Finally, a sporadic task is an aperiodic task with a
     
    7887
    7988@subsection Rate Monotonic Scheduling Algorithm
     89
     90@cindex Rate Monotonic Scheduling Algorithm, definition
     91@cindex RMS Algorithm, definition
    8092
    8193The Rate Monotonic Scheduling Algorithm (RMS) is
     
    197209@subsection Schedulability Analysis
    198210
     211@cindex RMS schedulability analysis
     212
    199213RMS allows application designers to insure that tasks
    200214can meet all deadlines, even under transient overload, without
     
    233247
    234248@subsection Processor Utilization Rule
     249
     250@cindex RMS Processor Utilization Rule
    235251
    236252The Processor Utilization Rule requires that
     
    348364@subsection First Deadline Rule
    349365
     366@cindex RMS First Deadline Rule
     367
    350368If a given set of tasks do exceed the processor
    351369utilization upper limit imposed by the Processor Utilization
     
    829847constants, usage, and status codes.
    830848
     849@c
     850@c
     851@c
    831852@page
    832853@subsection RATE_MONOTONIC_CREATE - Create a rate monotonic period
    833854
     855@cindex create a period
     856
    834857@subheading CALLING SEQUENCE:
    835858
    836859@ifset is-C
    837 @c @findex rtems_rate_monotonic_create
     860@findex rtems_rate_monotonic_create
    838861@example
    839862rtems_status_code rtems_rate_monotonic_create(
     
    873896preempted.
    874897
     898@c
     899@c
     900@c
    875901@page
    876902@subsection RATE_MONOTONIC_IDENT - Get ID of a period
    877903
     904@cindex get ID of a period
     905@cindex obtain ID of a period
     906
    878907@subheading CALLING SEQUENCE:
    879908
    880909@ifset is-C
    881 @c @findex rtems_rate_monotonic_ident
     910@findex rtems_rate_monotonic_ident
    882911@example
    883912rtems_status_code rtems_rate_monotonic_ident(
     
    916945preempted.
    917946
     947@c
     948@c
     949@c
    918950@page
    919951@subsection RATE_MONOTONIC_CANCEL - Cancel a period
    920952
     953@cindex cancel a period
     954
    921955@subheading CALLING SEQUENCE:
    922956
    923957@ifset is-C
    924 @c @findex rtems_rate_monotonic_cancel
     958@findex rtems_rate_monotonic_cancel
    925959@example
    926960rtems_status_code rtems_rate_monotonic_cancel(
     
    958992been created by the calling task.
    959993
     994@c
     995@c
     996@c
    960997@page
    961998@subsection RATE_MONOTONIC_DELETE - Delete a rate monotonic period
    962999
     1000@cindex delete a period
     1001
    9631002@subheading CALLING SEQUENCE:
    9641003
    9651004@ifset is-C
    966 @c @findex rtems_rate_monotonic_delete
     1005@findex rtems_rate_monotonic_delete
    9671006@example
    9681007rtems_status_code rtems_rate_monotonic_delete(
     
    9991038other than the task which created the period.
    10001039
     1040@c
     1041@c
     1042@c
    10011043@page
    10021044@subsection RATE_MONOTONIC_PERIOD - Conclude current/Start next period
    10031045
     1046@cindex conclude current period
     1047@cindex start current period
     1048@cindex period initiation
     1049
    10041050@subheading CALLING SEQUENCE:
    10051051
    10061052@ifset is-C
    1007 @c @findex rtems_rate_monotonic_period
     1053@findex rtems_rate_monotonic_period
    10081054@example
    10091055rtems_status_code rtems_rate_monotonic_period(
     
    10501096This directive will not cause the running task to be preempted.
    10511097
    1052 ---------------------
     1098@c
     1099@c
     1100@c
    10531101@page
    10541102@subsection RATE_MONOTONIC_GET_STATUS - Obtain status information on period
    10551103
     1104@cindex get status of period
     1105@cindex obtain status of period
     1106
    10561107@subheading CALLING SEQUENCE:
    10571108
    10581109@ifset is-C
    1059 @c @findex rtems_rate_monotonic_get_status
     1110@findex rtems_rate_monotonic_get_status
    10601111@example
    10611112rtems_status_code rtems_rate_monotonic_get_status(
  • doc/user/schedule.t

    r0de8359 r169502e  
    1313
    1414@chapter Scheduling Concepts
     15
     16@cindex scheduling
     17@cindex task scheduling
    1518
    1619@section Introduction
     
    5053@section Scheduling Mechanisms
    5154
     55@cindex scheduling mechanisms
     56
    5257RTEMS provides four mechanisms which allow the user
    5358to impact the task scheduling process:
     
    7580@subsection Task Priority and Scheduling
    7681
     82@cindex task priority
     83
    7784The most significant of these mechanisms is the
    7885ability for the user to assign a priority level to each
     
    96103@subsection Preemption
    97104
     105@cindex preemption
     106
    98107Another way the user can alter the basic scheduling
    99108algorithm is by manipulating the preemption mode flag
     
    108117
    109118@subsection Timeslicing
     119
     120@cindex timeslicing
     121@cindex round robin scheduling
    110122
    111123Timeslicing or round-robin scheduling is an
     
    128140@subsection Manual Round-Robin
    129141
     142@cindex manual round robin
     143
    130144The final mechanism for altering the RTEMS scheduling
    131145algorithm is called manual round-robin.  Manual round-robin is
     
    139153
    140154@subsection Dispatching Tasks
     155
     156@cindex dispatching
    141157
    142158The dispatcher is the RTEMS component responsible for
     
    167183
    168184@section Task State Transitions
     185
     186@cindex task state transitions
    169187
    170188Tasks in an RTEMS system must always be in one of the
  • doc/user/sem.t

    r0de8359 r169502e  
    88
    99@chapter Semaphore Manager
     10
     11@cindex semaphores
     12@cindex binary semaphores
     13@cindex counting semaphores
     14@cindex mutual exclusion
    1015
    1116@section Introduction
     
    210215specified on this call.
    211216
    212 This example demonstrates the attribute_set parameter
    213 needed to create a local semaphore with the task priority
    214 waiting queue discipline.  The attribute_set parameter passed to
    215 the @code{@value{DIRPREFIX}semaphore_create} directive could be either
    216 @code{@value{RPREFIX}PRIORITY} or
    217 @code{@value{RPREFIX}LOCAL @value{OR} @value{RPREFIX}PRIORITY}. 
    218 The attribute_set parameter can be set to @code{@value{RPREFIX}PRIORITY}
    219 because @code{@value{RPREFIX}LOCAL} is the default for all created tasks.  If a
    220 similar semaphore were to be known globally, then the
    221 attribute_set parameter would be
     217This example demonstrates the attribute_set parameter needed to create a
     218local semaphore with the task priority waiting queue discipline.  The
     219attribute_set parameter passed to the
     220@code{@value{DIRPREFIX}semaphore_create} directive could be either
     221@code{@value{RPREFIX}PRIORITY} or @code{@value{RPREFIX}LOCAL @value{OR}
     222@value{RPREFIX}PRIORITY}.  The attribute_set parameter can be set to
     223@code{@value{RPREFIX}PRIORITY} because @code{@value{RPREFIX}LOCAL} is the
     224default for all created tasks.  If a similar semaphore were to be known
     225globally, then the attribute_set parameter would be
    222226@code{@value{RPREFIX}GLOBAL @value{OR} @value{RPREFIX}PRIORITY}.
    223227
     
    234238@end itemize
    235239
    236 Option values are specifically designed to be
    237 mutually exclusive, therefore bitwise OR and addition operations
    238 are equivalent as long as each attribute appears exactly once in
    239 the component list.  An option listed as a default is not
    240 required to appear in the list, although it is a good
    241 programming practice to specify default options.  If all
    242 defaults are desired, the option @code{@value{RPREFIX}DEFAULT_OPTIONS} should be
     240Option values are specifically designed to be mutually exclusive,
     241therefore bitwise OR and addition operations are equivalent as long as
     242each attribute appears exactly once in the component list.  An option
     243listed as a default is not required to appear in the list, although it is
     244a good programming practice to specify default options.  If all defaults
     245are desired, the option @code{@value{RPREFIX}DEFAULT_OPTIONS} should be
    243246specified on this call.
    244247
     
    303306acquire the semaphore.
    304307
    305 @item Specifying @code{@value{RPREFIX}NO_WAIT} forces an immediate return with an
    306 error status code.
     308@item Specifying @code{@value{RPREFIX}NO_WAIT} forces an immediate return
     309with an error status code.
    307310
    308311@item Specifying a timeout limits the interval the task will
     
    328331The @code{@value{DIRPREFIX}semaphore_release} directive is used to release
    329332the specified semaphore.  A simplified version of the
    330 @code{@value{DIRPREFIX}semaphore_release} directive can be described as follows:
     333@code{@value{DIRPREFIX}semaphore_release} directive can be described as
     334follows:
    331335
    332336@example
     
    361365constants, usage, and status codes.
    362366
     367@c
     368@c
     369@c
    363370@page
    364371@subsection SEMAPHORE_CREATE - Create a semaphore
    365372
     373@cindex create a semaphore
     374
    366375@subheading CALLING SEQUENCE:
    367376
    368377@ifset is-C
    369 @c @findex rtems_semaphore_create
     378@findex rtems_semaphore_create
    370379@example
    371380rtems_status_code rtems_semaphore_create(
     
    463472the Configuration Table.
    464473
     474@c
     475@c
     476@c
    465477@page
    466478@subsection SEMAPHORE_IDENT - Get ID of a semaphore
    467479
     480@cindex get ID of a semaphore
     481@cindex obtain ID of a semaphore
     482
    468483@subheading CALLING SEQUENCE:
    469484
    470485@ifset is-C
    471 @c @findex rtems_semaphore_ident
     486@findex rtems_semaphore_ident
    472487@example
    473488rtems_status_code rtems_semaphore_ident(
     
    521536table.
    522537
     538@c
     539@c
     540@c
    523541@page
    524542@subsection SEMAPHORE_DELETE - Delete a semaphore
    525543
     544@cindex delete a semaphore
     545
    526546@subheading CALLING SEQUENCE:
    527547
    528548@ifset is-C
    529 @c @findex rtems_semaphore_delete
     549@findex rtems_semaphore_delete
    530550@example
    531551rtems_status_code rtems_semaphore_delete(
     
    580600reclaimed when the semaphore is deleted.
    581601
     602@c
     603@c
     604@c
    582605@page
    583606@subsection SEMAPHORE_OBTAIN - Acquire a semaphore
    584607
     608@cindex obtain a semaphore
     609@cindex lock a semaphore
     610
    585611@subheading CALLING SEQUENCE:
    586612
    587613@ifset is-C
    588 @c @findex rtems_semaphore_obtain
     614@findex rtems_semaphore_obtain
    589615@example
    590616rtems_status_code rtems_semaphore_obtain(
     
    625651returning immediately with a successful return code.
    626652
    627 If the calling task chooses to return immediately and
    628 the current semaphore count is zero or negative, then a status
    629 code is returned indicating that the semaphore is not available.
    630 If the calling task chooses to wait for a semaphore and the
    631 current semaphore count is zero or negative, then it is
    632 decremented by one and the calling task is placed on the
    633 semaphore's wait queue and blocked.  If the semaphore was
    634 created with the @code{@value{RPREFIX}PRIORITY} attribute, then the calling task is
    635 inserted into the queue according to its priority.  However, if
    636 the semaphore was created with the @code{@value{RPREFIX}FIFO} attribute, then the
    637 calling task is placed at the rear of the wait queue.  If the
    638 binary semaphore was created with the @code{@value{RPREFIX}INHERIT_PRIORITY}
    639 attribute, then the priority of the task currently holding the
    640 binary semaphore is guaranteed to be greater than or equal to
    641 that of the blocking task.  If the binary semaphore was created
    642 with the @code{@value{RPREFIX}PRIORITY_CEILING} attribute, a task successfully obtains
    643 the semaphore, and the priority of that task is greater than the
    644 ceiling priority for this semaphore, then the priority of the
    645 task obtaining the semaphore is elevated to that of the ceiling.
    646 
    647 The timeout parameter specifies the maximum interval
    648 the calling task is willing to be blocked waiting for the
    649 semaphore.  If it is set to @code{@value{RPREFIX}NO_TIMEOUT}, then the calling task
    650 will wait forever.  If the semaphore is available or the @code{@value{RPREFIX}NO_WAIT}
    651 option component is set, then timeout is ignored.
     653If the calling task chooses to return immediately and the current
     654semaphore count is zero or negative, then a status code is returned
     655indicating that the semaphore is not available. If the calling task
     656chooses to wait for a semaphore and the current semaphore count is zero or
     657negative, then it is decremented by one and the calling task is placed on
     658the semaphore's wait queue and blocked.  If the semaphore was created with
     659the @code{@value{RPREFIX}PRIORITY} attribute, then the calling task is
     660inserted into the queue according to its priority.  However, if the
     661semaphore was created with the @code{@value{RPREFIX}FIFO} attribute, then
     662the calling task is placed at the rear of the wait queue.  If the binary
     663semaphore was created with the @code{@value{RPREFIX}INHERIT_PRIORITY}
     664attribute, then the priority of the task currently holding the binary
     665semaphore is guaranteed to be greater than or equal to that of the
     666blocking task.  If the binary semaphore was created with the
     667@code{@value{RPREFIX}PRIORITY_CEILING} attribute, a task successfully
     668obtains the semaphore, and the priority of that task is greater than the
     669ceiling priority for this semaphore, then the priority of the task
     670obtaining the semaphore is elevated to that of the ceiling.
     671
     672The timeout parameter specifies the maximum interval the calling task is
     673willing to be blocked waiting for the semaphore.  If it is set to
     674@code{@value{RPREFIX}NO_TIMEOUT}, then the calling task will wait forever. 
     675If the semaphore is available or the @code{@value{RPREFIX}NO_WAIT} option
     676component is set, then timeout is ignored.
    652677
    653678@subheading NOTES:
     
    660685@end itemize
    661686
    662 Attempting to obtain a global semaphore which does not reside on
    663 the local node will generate a request to the remote node to
    664 access the semaphore.  If the semaphore is not available and
    665 @code{@value{RPREFIX}NO_WAIT} was not specified, then the task must be blocked until
    666 the semaphore is released.  A proxy is allocated on the remote
    667 node to represent the task until the semaphore is released.
     687Attempting to obtain a global semaphore which does not reside on the local
     688node will generate a request to the remote node to access the semaphore. 
     689If the semaphore is not available and @code{@value{RPREFIX}NO_WAIT} was
     690not specified, then the task must be blocked until the semaphore is
     691released.  A proxy is allocated on the remote node to represent the task
     692until the semaphore is released.
    668693
    669694A clock tick is required to support the timeout functionality of
    670695this directive.
    671696
     697@c
     698@c
     699@c
    672700@page
    673701@subsection SEMAPHORE_RELEASE - Release a semaphore
    674702
     703@cindex release a semaphore
     704@cindex unlock a semaphore
     705
    675706@subheading CALLING SEQUENCE:
    676707
    677708@ifset is-C
    678 @c @findex rtems_semaphore_release
     709@findex rtems_semaphore_release
    679710@example
    680711rtems_status_code rtems_semaphore_release(
  • doc/user/signal.t

    r0de8359 r169502e  
    88
    99@chapter Signal Manager
     10
     11@cindex signals
    1012
    1113@section Introduction
     
    2325
    2426@subsection Signal Manager Definitions
     27
     28@cindex asynchronous signal routine
     29@cindex ASR
    2530
    2631The signal manager allows a task to optionally define
     
    4449@subsection A Comparison of ASRs and ISRs
    4550
     51@cindex ASR vs. ISR
     52@cindex ISR vs. ASR
     53
    4654The format of an ASR is similar to that of an ISR
    4755with the following exceptions:
     
    6573
    6674@subsection Building a Signal Set
     75
     76@cindex signal set, building
    6777
    6878A signal set is built by a bitwise OR of the desired
     
    8494
    8595@subsection Building an ASR Mode
     96
     97@cindex ASR mode, building
    8698
    8799In general, an ASR's mode is built by a bitwise OR of
     
    231243and status codes.
    232244
     245@c
     246@c
     247@c
    233248@page
    234249@subsection SIGNAL_CATCH - Establish an ASR
    235250
     251@cindex establish an ASR
     252@cindex install an ASR
     253
    236254@subheading CALLING SEQUENCE:
    237255
    238256@ifset is-C
    239 @c @findex rtems_signal_catch
     257@findex rtems_signal_catch
    240258@example
    241259rtems_status_code rtems_signal_catch(
     
    303321@end itemize
    304322
     323@c
     324@c
     325@c
    305326@page
    306327@subsection SIGNAL_SEND - Send signal set to a task
    307328
     329@cindex send signal set
     330
    308331@subheading CALLING SEQUENCE:
    309332
    310333@ifset is-C
    311 @c @findex rtems_signal_send
     334@findex rtems_signal_send
    312335@example
    313336rtems_status_code rtems_signal_send(
  • doc/user/task.t

    r0de8359 r169502e  
    88
    99@chapter Task Manager
     10
     11@cindex tasks
    1012
    1113@section Introduction
     
    3638@subsection Task Definition
    3739
     40@cindex task, definition
     41
    3842Many definitions of a task have been proposed in computer literature.
    3943Unfortunately, none of these definitions encompasses all facets of the
     
    8791
    8892@subsection Task States
     93
     94@cindex task states
    8995
    9096A task may exist in one of the following five states:
     
    110116@subsection Task Priority
    111117
     118@cindex task priority
     119@cindex priority, task
     120
    112121A task's priority determines its importance in relation to the
    113122other tasks executing on the same processor.  RTEMS supports 255
     
    131140@subsection Task Mode
    132141
     142@cindex task mode
     143
    133144A task's mode is a combination of the following four components:
    134145
     
    142153It is used to modify RTEMS' scheduling process and to alter the
    143154execution environment of the task.
     155
     156@cindex preemption
    144157
    145158The preemption component allows a task to determine when control of the
     
    151164then the processor will be taken away from the current task immediately and
    152165given to the higher priority task.
     166
     167@cindex timeslicing
    153168
    154169The timeslicing component is used by the RTEMS scheduler to determine how
     
    172187routine to process asynchronous signals.
    173188
     189@cindex interrupt level, task
     190
    174191The interrupt level component is used to determine which
    175192interrupts will be enabled when the task is executing.
     
    190207@subsection Accessing Task Arguments
    191208
     209@cindex task arguments
     210
    192211All RTEMS tasks are invoked with a single argument which is
    193212specified when they are started or restarted.  The argument is
     
    216235
    217236@subsection Floating Point Considerations
     237
     238@cindex floating point
    218239
    219240Creating a task with the @code{@value{RPREFIX}FLOATING_POINT} flag results
     
    268289@subsection Building a Task Attribute Set
    269290
     291@cindex task attributes, building
     292
    270293In general, an attribute set is built by a bitwise OR of the
    271294desired components.  The set of valid task attribute components
     
    298321
    299322@subsection Building a Mode and Mask
     323
     324@cindex task mode, building
    300325
    301326In general, a mode and its corresponding mask is built by a
     
    599624@subsection TASK_CREATE - Create a task
    600625
     626@cindex create a task
     627
    601628@subheading CALLING SEQUENCE:
    602629
    603630@ifset is-C
    604 @c @findex rtems_task_create
     631@findex rtems_task_create
    605632@example
    606633rtems_status_code rtems_task_create(
     
    709736@subsection TASK_IDENT - Get ID of a task
    710737
     738@cindex get ID of a task
     739
    711740@subheading CALLING SEQUENCE:
    712741
    713742@ifset is-C
    714 @c @findex rtems_task_ident
     743@findex rtems_task_ident
    715744@example
    716745rtems_status_code rtems_task_ident(
     
    765794@subsection TASK_START - Start a task
    766795
     796@cindex starting a task
     797
    767798@subheading CALLING SEQUENCE:
    768799
    769800@ifset is-C
    770 @c @findex rtems_task_start
     801@findex rtems_task_start
    771802@example
    772803rtems_status_code rtems_task_start(
     
    816847@subsection TASK_RESTART - Restart a task
    817848
     849@cindex restarting a task
     850
    818851@subheading CALLING SEQUENCE:
    819852
    820853@ifset is-C
    821 @c @findex rtems_task_restart
     854@findex rtems_task_restart
    822855@example
    823856rtems_status_code rtems_task_restart(
     
    879912@subsection TASK_DELETE - Delete a task
    880913
     914@cindex deleting a task
     915
    881916@subheading CALLING SEQUENCE:
    882917
    883918@ifset is-C
    884 @c @findex rtems_task_delete
     919@findex rtems_task_delete
    885920@example
    886921rtems_status_code rtems_task_delete(
     
    937972@subsection TASK_SUSPEND - Suspend a task
    938973
     974@cindex suspending a task
     975
    939976@subheading CALLING SEQUENCE:
    940977
    941978@ifset is-C
    942 @c @findex rtems_task_suspend
     979@findex rtems_task_suspend
    943980@example
    944981rtems_status_code rtems_task_suspend(
     
    9871024@subsection TASK_RESUME - Resume a task
    9881025
     1026@cindex resuming a task
     1027
    9891028@subheading CALLING SEQUENCE:
    9901029
    9911030@ifset is-C
    992 @c @findex rtems_task_resume
     1031@findex rtems_task_resume
    9931032@example
    9941033rtems_status_code rtems_task_resume(
     
    10341073@subsection TASK_IS_SUSPENDED - Determine if a task is Suspended
    10351074
     1075@cindex is task suspended
     1076
    10361077@subheading CALLING SEQUENCE:
    10371078
    10381079@ifset is-C
    1039 @c @findex rtems_task_is_suspended
     1080@findex rtems_task_is_suspended
    10401081@example
    10411082rtems_status_code rtems_task_is_suspended(
     
    10731114@subsection TASK_SET_PRIORITY - Set task priority
    10741115
     1116@findex rtems_task_set_priority
     1117@cindex current task priority
     1118@cindex set task priority
     1119@cindex get task priority
     1120@cindex obtain task priority
     1121
    10751122@subheading CALLING SEQUENCE:
    10761123
    10771124@ifset is-C
    1078 @c @findex rtems_task_set_priority
    10791125@example
    10801126rtems_status_code rtems_task_set_priority(
     
    11371183@subsection TASK_MODE - Change the current task mode
    11381184
     1185@cindex current task mode
     1186@cindex set task mode
     1187@cindex get task mode
     1188@cindex set task preemption mode
     1189@cindex get task preemption mode
     1190@cindex obtain task mode
     1191
    11391192@subheading CALLING SEQUENCE:
    11401193
    11411194@ifset is-C
    1142 @c @findex rtems_task_mode
     1195@findex rtems_task_mode
    11431196@example
    11441197rtems_status_code rtems_task_mode(
     
    12931346@subsection TASK_GET_NOTE - Get task notepad entry
    12941347
     1348@cindex get task notepad entry
     1349
    12951350@subheading CALLING SEQUENCE:
    12961351
    12971352@ifset is-C
    1298 @c @findex rtems_task_get_note
     1353@findex rtems_task_get_note
    12991354@example
    13001355rtems_status_code rtems_task_get_note(
     
    13471402@subsection TASK_SET_NOTE - Set task notepad entry
    13481403
     1404@cindex set task notepad entry
     1405
    13491406@subheading CALLING SEQUENCE:
    13501407
    13511408@ifset is-C
    1352 @c @findex rtems_task_set_note
     1409@findex rtems_task_set_note
    13531410@example
    13541411rtems_status_code rtems_task_set_note(
     
    14011458@subsection TASK_WAKE_AFTER - Wake up after interval
    14021459
     1460@cindex delay a task for an interval
     1461@cindex wake up after an interval
     1462
    14031463@subheading CALLING SEQUENCE:
    14041464
    14051465@ifset is-C
    1406 @c @findex rtems_task_wake_after
     1466@findex rtems_task_wake_after
    14071467@example
    14081468rtems_status_code rtems_task_wake_after(
     
    14471507@subsection TASK_WAKE_WHEN - Wake up when specified
    14481508
     1509@cindex delay a task until a wall time
     1510@cindex wake up at a wall time
     1511
    14491512@subheading CALLING SEQUENCE:
    14501513
    14511514@ifset is-C
    1452 @c @findex rtems_task_wake_when
     1515@findex rtems_task_wake_when
    14531516@example
    14541517rtems_status_code rtems_task_wake_when(
  • doc/user/timer.t

    r0de8359 r169502e  
    88
    99@chapter Timer Manager
     10
     11@cindex timers
    1012
    1113@section Introduction
     
    153155and status codes.
    154156
     157@c
     158@c
     159@c
    155160@page
    156161@subsection TIMER_CREATE - Create a timer
    157162
    158 @subheading CALLING SEQUENCE:
    159 
    160 @ifset is-C
    161 @c @findex rtems_timer_create
     163@cindex create a timer
     164
     165@subheading CALLING SEQUENCE:
     166
     167@ifset is-C
     168@findex rtems_timer_create
    162169@example
    163170rtems_status_code rtems_timer_create(
     
    196203preempted.
    197204
     205@c
     206@c
     207@c
    198208@page
    199209@subsection TIMER_IDENT - Get ID of a timer
    200210
    201 @subheading CALLING SEQUENCE:
    202 
    203 @ifset is-C
    204 @c @findex rtems_timer_ident
     211@cindex obtain the ID of a timer
     212
     213@subheading CALLING SEQUENCE:
     214
     215@ifset is-C
     216@findex rtems_timer_ident
    205217@example
    206218rtems_status_code rtems_timer_ident(
     
    239251preempted.
    240252
     253@c
     254@c
     255@c
    241256@page
    242257@subsection TIMER_CANCEL - Cancel a timer
    243258
    244 @subheading CALLING SEQUENCE:
    245 
    246 @ifset is-C
    247 @c @findex rtems_timer_cancel
     259@cindex cancel a timer
     260
     261@subheading CALLING SEQUENCE:
     262
     263@ifset is-C
     264@findex rtems_timer_cancel
    248265@example
    249266rtems_status_code rtems_timer_cancel(
     
    277294This directive will not cause the running task to be preempted.
    278295
     296@c
     297@c
     298@c
    279299@page
    280300@subsection TIMER_DELETE - Delete a timer
    281301
    282 @subheading CALLING SEQUENCE:
    283 
    284 @ifset is-C
    285 @c @findex rtems_timer_delete
     302@cindex delete a timer
     303
     304@subheading CALLING SEQUENCE:
     305
     306@ifset is-C
     307@findex rtems_timer_delete
    286308@example
    287309rtems_status_code rtems_timer_delete(
     
    318340which created the timer.
    319341
     342@c
     343@c
     344@c
    320345@page
    321346@subsection TIMER_FIRE_AFTER - Fire timer after interval
    322347
    323 @subheading CALLING SEQUENCE:
    324 
    325 @ifset is-C
    326 @c @findex rtems_timer_fire_after
     348@cindex fire a timer after an interval
     349
     350@subheading CALLING SEQUENCE:
     351
     352@ifset is-C
     353@findex rtems_timer_fire_after
    327354@example
    328355rtems_status_code rtems_timer_fire_after(
     
    366393preempted.
    367394
     395@c
     396@c
     397@c
    368398@page
    369399@subsection TIMER_FIRE_WHEN - Fire timer when specified
    370400
    371 @subheading CALLING SEQUENCE:
    372 
    373 @ifset is-C
    374 @c @findex rtems_timer_fire_when
     401@cindex fire a timer at wall time
     402
     403@subheading CALLING SEQUENCE:
     404
     405@ifset is-C
     406@findex rtems_timer_fire_when
    375407@example
    376408rtems_status_code rtems_timer_fire_when(
     
    415447preempted.
    416448
     449@c
     450@c
     451@c
    417452@page
    418453@subsection TIMER_RESET - Reset an interval timer
    419454
    420 @subheading CALLING SEQUENCE:
    421 
    422 @ifset is-C
    423 @c @findex rtems_timer_reset
     455@cindex reset a timer
     456
     457@subheading CALLING SEQUENCE:
     458
     459@ifset is-C
     460@findex rtems_timer_reset
    424461@example
    425462rtems_status_code rtems_timer_reset(
  • doc/user/userext.t

    r0de8359 r169502e  
    88
    99@chapter User Extensions Manager
     10
     11@cindex user extensions
    1012
    1113@section Introduction
     
    4446
    4547@subsection Extension Sets
     48
     49@cindex extension set
    4650
    4751An extension set is defined as a set of routines
     
    119123@subsection TCB Extension Area
    120124
     125@cindex TCB extension area
     126
    121127RTEMS provides for a pointer to a user-defined data
    122128area for each extension set to be linked to each task's control
     
    526532constants, usage, and status codes.
    527533
     534@c
     535@c
     536@c
    528537@page
    529538@subsection EXTENSION_CREATE - Create a extension set
    530539
     540@cindex create an extension set
     541
    531542@subheading CALLING SEQUENCE:
    532543
    533544@ifset is-C
    534 @c @findex rtems_extension_create
     545@findex rtems_extension_create
    535546@example
    536547rtems_status_code rtems_extension_create(
     
    572583preempted.
    573584
     585@c
     586@c
     587@c
    574588@page
    575589@subsection EXTENSION_IDENT - Get ID of a extension set
    576590
     591@cindex get ID of an extension set
     592@cindex obtain ID of an extension set
     593
    577594@subheading CALLING SEQUENCE:
    578595
    579596@ifset is-C
    580 @c @findex rtems_extension_ident
     597@findex rtems_extension_ident
    581598@example
    582599rtems_status_code rtems_extension_ident(
     
    616633preempted.
    617634
     635@c
     636@c
     637@c
    618638@page
    619639@subsection EXTENSION_DELETE - Delete a extension set
    620640
     641@cindex delete an extension set
     642
    621643@subheading CALLING SEQUENCE:
    622644
    623645@ifset is-C
    624 @c @findex rtems_extension_delete
     646@findex rtems_extension_delete
    625647@example
    626648rtems_status_code rtems_extension_delete(
Note: See TracChangeset for help on using the changeset viewer.