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     *  ======== MultiCoreTypes.xdc ========
    35     *
    36     */
    37    
    38    package ti.uia.runtime;
    39    
    40    import xdc.runtime.Assert;
    41    
    42    /*!
    43     *  ======== Udp ========
    44     */
    45    module MultiCoreTypes
    46    {
    47        /*!
    48         *  ======== ServiceHdr ========
    49         */
    50        struct ServiceHdr {
    51            Char msgHdr[32];
    52            UIAPacket.Hdr packet;
    53        };
    54    
    55        /*!
    56         *  Assert raised when a MessageQ call fails
    57         */
    58        config Assert.Id A_ipcFailed  = {
    59            msg: "A_ipcFailed: Unexpected MessageQ failed"
    60        };
    61    
    62        /*!
    63         *  Assert raised an invalid HdrType is specified
    64         */
    65        config Assert.Id A_invalidHdrType  = {
    66            msg: "A_invalidHdrType: Invalid HdrType specified"
    67        };
    68    
    69        /*!
    70         *  The different Actions for router MessageQ
    71         */
    72        enum Action {
    73            Action_TOHOST = 0,
    74            Action_FROMHOST,
    75            Action_REGISTER,
    76            Action_STOP,
    77            Action_STOPACK
    78        };
    79    
    80    
    81        /*!
    82         *  Prefix for slave's message queue names
    83         */
    84        const String SLAVENAME = "uiaSlave";
    85    
    86        /*!
    87         *  Master's message queue names
    88         */
    89        const String MASTERNAME = "uiaMaster";
    90    
    91        /*!
    92         *  Master's Started message queue names
    93         */
    94        const String MASTERSTARTED = "uiaStarted";
    95    
    96    
    97        /*!
    98         *  Internal register function
    99         */
   100        struct RegisterMsg {
   101            Char               msgHdr[32];
   102            UInt32             remoteMQ;
   103        }
   104    }