1    /*
     2     * Copyright (c) 2014, 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     *  ======== SecondsCallback.xdc ========
    34     *
    35     */
    36    package ti.sysbios.hal;
    37    
    38    /*!
    39     *  ======== SecondsCallback ========
    40     *  A Seconds module that calls user-supplied callbacks
    41     *
    42     *  ISeconds implementation that uses user callback functions
    43     *  This module provides a implementation of the `{@link ISystemSupport}`
    44     *  interface that simply calls back the user defined functions to enable the
    45     *  System module's functionality.
    46     *
    47     *  Configuration is as shown below.
    48     *  @p(code)
    49     *
    50     *  var SecondsCallback = xdc.useModule('xdc.runtime.SecondsCallback');
    51     *  SecondsCallback.getFxn = "&userSetSeconds";
    52     *  SecondsCallback.setFxn = "&userGetSeconds";
    53     *
    54     *  @p
    55     */
    56    module SecondsCallback inherits ti.sysbios.interfaces.ISeconds
    57    {
    58        /*!
    59         *  ======== GetFxn ========
    60         *  'get' function signature
    61         */
    62        typedef UInt32 (*GetFxn)();
    63    
    64        /*!
    65         *  ======== SetFxn ========
    66         *  'set' function signature
    67         */
    68        typedef Void (*SetFxn)(UInt32);
    69    
    70        /*!
    71         *  ======== getFxn =========
    72         *  User supplied 'get' function
    73         *
    74         *  This function is called when the application calls
    75         *  `{@link Seconds#get()}` function.
    76         *
    77         *  By default, this function is configured with a default abort function.
    78         *  This default abort function spins forever and never returns.
    79         */
    80        config GetFxn getFxn = "&ti_sysbios_hal_SecondsCallback_defaultGet";
    81    
    82        /*!
    83         *  ======== setFxn =========
    84         *  User supplied 'set' function
    85         *
    86         *  This function is called when the application calls
    87         *  `{@link Seconds#set()}` function.
    88         *
    89         *  By default, this function is configured with a default abort function.
    90         *  This default abort function spins forever and never returns.
    91         */
    92        config SetFxn setFxn = "&ti_sysbios_hal_SecondsCallback_defaultSet";
    93    }