source: rtems/cpukit/sapi/include/rtems/init.h @ 28352fae

4.104.115
Last change on this file since 28352fae was 28352fae, checked in by Ralf Corsepius <ralf.corsepius@…>, on 11/29/09 at 13:51:53

Whitespace removal.

  • Property mode set to 100644
File size: 2.7 KB
Line 
1/**
2 * @file rtems/init.h
3 *
4 *
5 *  This include file contains all the constants and structures associated
6 *  with the Initialization Manager.  This manager is responsible for
7 *  initializing RTEMS, creating and starting all configured initialization
8 *  tasks, invoking the initialization routine for each user-supplied device
9 *  driver, and initializing the optional multiprocessor layer.
10 *
11 *  This manager provides directives to:
12 *
13 *     + initialize the RTEMS executive
14 *     + shutdown the RTEMS executive
15 */
16
17/*
18 *  COPYRIGHT (c) 1989-2008.
19 *  On-Line Applications Research Corporation (OAR).
20 *
21 *  The license and distribution terms for this file may be
22 *  found in the file LICENSE in this distribution or at
23 *  http://www.rtems.com/license/LICENSE.
24 *
25 *  $Id$
26 */
27
28#ifndef _RTEMS_INIT_H
29#define _RTEMS_INIT_H
30
31#ifdef __cplusplus
32extern "C" {
33#endif
34
35#include <rtems/rtems/types.h>
36#include <rtems/config.h>
37#include <rtems/rtems/intr.h>
38
39#if defined(RTEMS_MULTIPROCESSING)
40/**
41 *  The following defines the default Multiprocessing Configuration
42 *  Table.  This table is used in a single processor system.
43 */
44extern const rtems_multiprocessing_table
45  _Initialization_Default_multiprocessing_table;
46#endif
47
48/**
49 *  @brief rtems_initialize_data_structures
50 *
51 *  This routine implements the portion of the RTEMS initializatin process
52 *  that involves initializing data structures to a state that scheduling
53 *  can occur in a consistent manner.
54 */
55void rtems_initialize_data_structures(void);
56
57/**
58 *  @brief rtems_initialize_before_drivers
59 *
60 *  This routine implements the portion of RTEMS initialization that
61 *  is done immediately before device drivers are initialized.
62 */
63void rtems_initialize_before_drivers(void);
64
65/**
66 *  @brief rtems_initialize_device_drivers
67 *
68 *  This routine implements the portion of RTEMS initialization that
69 *  initializes all device drivers.
70 */
71void rtems_initialize_device_drivers(void);
72
73/**
74 *  @brief rtems_initialize_start_multitasking
75 *
76 *  This routine implements the early portion of rtems_initialize_executive
77 *  directive up to the pretasking hook. This directive is invoked at system
78 *  startup to initialize the RTEMS multitasking environment.
79 */
80void rtems_initialize_start_multitasking(void);
81
82/**
83 *  @brief rtems_shutdown_executive
84 *
85 *  This routine implements the rtems_shutdown_executive directive.  The
86 *  invocation of this directive results in the RTEMS environment being
87 *  shutdown and multitasking halted.  From the application's perspective,
88 *  invocation of this directive results in the rtems_initialize_executive
89 *  directive exitting to the startup code which invoked it.
90 */
91void rtems_shutdown_executive(
92  uint32_t   result
93);
94
95#ifdef __cplusplus
96}
97#endif
98
99#endif
100/* end of include file */
Note: See TracBrowser for help on using the repository browser.