1    /* 
     2     * Copyright (c) 2012, Texas Instruments Incorporated
     3     * All rights reserved.
     4     *
     5     * Redistribution and use in source and binary forms, with or without
     6     * modification, are permitted provided that the following conditions
     7     * are met:
     8     *
     9     * *  Redistributions of source code must retain the above copyright
    10     *    notice, this list of conditions and the following disclaimer.
    11     *
    12     * *  Redistributions in binary form must reproduce the above copyright
    13     *    notice, this list of conditions and the following disclaimer in the
    14     *    documentation and/or other materials provided with the distribution.
    15     *
    16     * *  Neither the name of Texas Instruments Incorporated nor the names of
    17     *    its contributors may be used to endorse or promote products derived
    18     *    from this software without specific prior written permission.
    19     *
    20     * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
    21     * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
    22     * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
    23     * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
    24     * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
    25     * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
    26     * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
    27     * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
    28     * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
    29     * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
    30     * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    31     * 
    32     */
    33    
    34    
    35    /*
    36     *  ======== Settings.xdc ========
    37     *
    38     */
    39    
    40    package ti.sdo.tiler;
    41    
    42    
    43    /*!
    44     *  ======== Settings ========
    45     *  Global configuration settings for the ti.sdo.tiler package
    46     *
    47     */
    48    
    49    @Template("./Settings.xdt")
    50    
    51    metaonly module Settings
    52    {
    53    
    54        // -------- Module Constants --------
    55    
    56        // -------- Module Types --------
    57    
    58        /*!
    59         *  Available tiler library implementations
    60         *
    61         *  @value(TilerLib_Stub) This library implements stub functions
    62         *  which make remote function calls to a tiler manager on another
    63         *  core. When using this value, you must also specify the
    64         *  {@link #tilerDaemon} config param.
    65         *
    66         *  @value(TilerLib_Skel) This library implements the skel
    67         *  functions which are the remote parts of the stub functions.
    68         *  Use this value when configuring the tiler daemon. When using
    69         *  this value, you must also specify the {@link #tilerManagerOS}
    70         *  config param.
    71         *
    72         *  @value(TilerLib_Direct) This library links in direct calls to
    73         *  the tiler manager. Use this value when configuring a program
    74         *  which is running on the same core as the tiler manager. When
    75         *  using this value, you must also specify the {@link #tilerManagerOS}
    76         *  config param.
    77         */
    78        enum TilerLib {
    79            TilerLib_Stub,
    80            TilerLib_Skel,
    81            TilerLib_Direct
    82        };
    83    
    84        /*!
    85         *  Operating systems used for hosting the tiler manager
    86         *
    87         *  @value(OperSys_Linux) The tiler manager is running on Linux.
    88         *
    89         *  @value(OperSys_WinCE) The tiler manager is running on WindowsCE.
    90         *
    91         *  @value(OperSys_RTOS) The tiler manager is running on a real-time
    92         *  operating system which does not make a distinction between
    93         *  user and kernel modes.
    94         */
    95        enum OperSys {
    96            OperSys_Linux,
    97            OperSys_WinCE,
    98            OperSys_RTOS
    99        };
   100    
   101        // -------- Module Parameters --------
   102    
   103        /*!
   104         *  Heap id to use for allocating messages
   105         *
   106         *  When using a remote tiler manager, the client application must
   107         *  send messages to execute the tiler manager functions. This config
   108         *  param is used by the underlying IPC layers to identify which heap
   109         *  should be used for allocating these messages.
   110         *
   111         *  If the executable is making direct (local) calls to the tiler
   112         *  manager, then leave this config param undefined.
   113         */
   114        config UInt16 heapId;
   115    
   116        /*!
   117         *  Specifies the name of the tiler daemon
   118         *
   119         *  When configuring an executable which is using a tiler manager
   120         *  that is running on another core, this config param must be set
   121         *  to the name of the tiler daemon.
   122         */
   123        config String tilerDaemonName = null;
   124    
   125        /*!
   126         *  Specify which tiler library implementation to use
   127         *
   128         *  This config param specifies which tiler library implementation to
   129         *  link into the program. There are several different versions:
   130         *
   131         *  @p(blist)
   132         *  - A tiler client program where the tiler manager is running
   133         *  on another core. Use {@link #TilerLib_Stub}.
   134         *
   135         *  - A tiler daemon program which is used to service remote
   136         *  tiler client programs. The daemon must be running on the same core
   137         *  as the tiler manager. Use {@link #TilerLib_Skel}.
   138         *
   139         *  - A tiler client program running on the same core as the
   140         *  tiler manager. Use {@link #TilerLib_Direct}.
   141         *  @p
   142         */
   143        config TilerLib tilerLib;
   144    
   145        /*!
   146         *  Specifies operating system on which the tiler manager is running
   147         *
   148         *  When configuring a program which is running on the same core
   149         *  as the tiler manager, set this config param to the host operating
   150         *  system. If the tiler manager is not part of the executable, then
   151         *  leave it undefined.
   152         *
   153         *  For example, if building an executable which is running on the same
   154         *  core as the tiler manager, (e.g. a local tiler client or the tiler
   155         *  daemon) then set this config param to the OS type. If building an
   156         *  executable which is making tiler calls to another core (e.g. a
   157         *  remote tiler client), then leave this config param undefined.
   158         */
   159        config OperSys tilerManagerOS;
   160    }
   161    /*
   162     *  @(#) ti.sdo.tiler; 1, 0, 0,3; 4-16-2012 00:03:40; /db/atree/library/trees/fc/fc-q08/src/ xlibrary
   163    
   164     */
   165