1    /* 
     2     *  Copyright (c) 2008 Texas Instruments. All rights reserved. 
     3     *  This program and the accompanying materials are made available under the 
     4     *  terms of the Eclipse Public License v1.0 and Eclipse Distribution License
     5     *  v. 1.0 which accompanies this distribution. The Eclipse Public License is
     6     *  available at http://www.eclipse.org/legal/epl-v10.html and the Eclipse
     7     *  Distribution License is available at 
     8     *  http://www.eclipse.org/org/documents/edl-v10.php.
     9     *
    10     *  Contributors:
    11     *      Texas Instruments - initial implementation
    12     * */
    13    /*!
    14     *  ======== xdc.runtime ========
    15     *  Basic runtime support for RTSC programs
    16     *
    17     *  The modules and interfaces in the `xdc.runtime` package form the "core"
    18     *  RTSC target runtime support library which provides basic system services
    19     *  required by virtually all applications.
    20     *
    21     *  Since this package's services are intended to be available to any
    22     *  C/C++ client, this package does not contain any pre-compiled libraries.
    23     *  Instead, this package provides complete sources which are built and
    24     *  supplied by a target-specific package named by the
    25     *  `{@link xdc.bld.ITarget#rts rts}` parameter of the target used to build
    26     *  the client sources.  This "indirection" make it possible for new targets
    27     *  to be added by interested parties whithout ever having to update this
    28     *  package.
    29     *
    30     *  The functionality provided by this package can be roughly partitioned
    31     *  into four categories:
    32     *  @p(nlist)
    33     *      - Diagnostics and Logs
    34     *      - Memory Management
    35     *      - Concurrency Support
    36     *      - Startup and Shutdown
    37     *  @p
    38     *  @a(Diagnostics and Logs)
    39     *  This package provides for diagnostics with a set of modules that operate
    40     *  together to configure and implement diagnostics.
    41     *
    42     *  The modules can be partitioned into three groups: modules that
    43     *  generate events, a module that allows precise control over when
    44     *  (or if) various events are generated, and modules that manage the
    45     *  output or display of the events.
    46     *
    47     *  `{@link Assert}`, `{@link Error}`, and `{@link Log}` provide methods that
    48     *  are added to source code and generate events. The `{@link Diags}` module
    49     *  provides both configuration and runtime methods to selectively enable or
    50     *  disable different types of events on a per module basis. Finally,
    51     *  `{@link LoggerBuf}`, `{@link LoggerSys}` and `{@link LoggerCallback}` are 
    52     *  simple alternative implementations of the `{@link ILogger}` event "handler"
    53     *  interface. You can provide more sophisticated or platform-specific
    54     *  implementations of `ILogger` without making any changes to code that
    55     *  uses `Assert`, `Log`, `Error`, or `Diags`.
    56     *
    57     *  The diagnostics and logger modules include the following:
    58     *  @p(blist)
    59     *  - `{@link Assert}`         - Add integrity checks to the code.
    60     *  - `{@link Diags}`          - Manage a module's diagnostics mask.
    61     *  - `{@link Error}`          - Raise error events.
    62     *  - `{@link Log}`            - Generate log events in realtime.
    63     *  - `{@link LoggerBuf}`      - A logger using a buffer for log events.
    64     *  - `{@link LoggerCallback}` - A logger using user defined callback function
    65     *                               for log events.
    66     *  - `{@link LoggerSys}`      - A logger using printf for log events.
    67     *  - `{@link Types}`          - Define diagnostics configuration parameters.
    68     *  - `{@link Timestamp}`      - Simple timestamp service
    69     *  @p
    70     *
    71     *  @a(Memory Management)
    72     *  The memory management modules include the following:
    73     *  @p(blist)
    74     *  - `{@link Memory}`  - module used by clients to allocate and free memory
    75     *  - `{@link HeapMin}` - Deterministic implementation that minimizes code
    76     *                        size footprint by not supporting reuse of allocated
    77     *                        memory.
    78     *  - `{@link HeapStd}` - Implementation that builds atop ANSI C `malloc()`
    79     *                        and `free()`
    80     *  @p
    81     *
    82     *  @a(Concurrency Support)
    83     *  The concurency support modules include the following:
    84     *  @p(blist)
    85     *  - `{@link Gate}`     -  module used by clients to serialize access to
    86     *                          shared data structures
    87     *  - `{@link GateNull}` - "null" implementation for applications that
    88     *                         don't need serialization; e.g., single threaded
    89     *                         applications
    90     *  @p
    91     *
    92     *  @a(Startup and Shutdown)
    93     *  The system startup and shutdown support modules include:
    94     *  @p(blist)
    95     *  - `{@link Reset}`       - Manages platform-specific startup initialization
    96     *                            before `main()` is called
    97     *  - `{@link Startup}`     - Manages "portable" startup initialization before
    98     *                            `main()` is called
    99     *  - `{@link System}`      - In addition to other basic services (such as
   100     *                            `printf`), this module provides an `atexit`
   101     *                            capability that allows modules to cleanly exit
   102     *                            during normal application terminiation.
   103     *  - `{@link SysCallback}` - Implementation of `{@link ISystemSupport}`
   104     *                            that calls back user defined functions.
   105     *  - `{@link SysMin}`      - Minimal implementation of `{@link ISystemSupport}`
   106     *                            required by the `System` module, suitable for
   107     *                            deeply embedded applications.
   108     *  - `{@link SysStd}`      - Implementation of `{@link ISystemSupport}`
   109     *                            that relies on ANSI C Standard I/O Library
   110     *                            functions.
   111     *  @p
   112     */
   113    package xdc.runtime [2, 1, 0] {
   114        interface IModule, IInstance;
   115        interface IHeap, ILogger, IFilterLogger;
   116        interface ISystemSupport;
   117        interface IGateProvider;
   118        interface ITimestampClient, ITimestampProvider;
   119        module Assert;
   120        module Core;
   121        module Defaults;
   122        module Diags;
   123        module Error;
   124        module Gate, GateNull;
   125        module Log, LoggerBuf, LoggerCallback, LoggerSys;
   126        module Main;
   127        module Memory, HeapMin, HeapStd;
   128        module Registry;
   129        module Rta;
   130        module Startup, Reset;
   131        module System, SysCallback, SysMin, SysStd;
   132        module Text;
   133        module Timestamp, TimestampNull, TimestampStd;
   134        module Types;
   135    }
   136    /*
   137     *  @(#) xdc.runtime; 2, 1, 0,0; 2-8-2017 14:15:56; /db/ztree/library/trees/xdc/xdc-D05/src/packages/
   138     */
   139