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