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     *  ======== ITimestamp.xdc ========
    15     */
    16    package ti.sysbios.interfaces;
    17    
    18    /*!
    19     *  ======== ITimestamp ========
    20     *  Timestamp  Interface
    21     *
    22     *  This interface defines the methods used by client applications to
    23     *  get timestamp values.  It is implemented by the 
    24     *  `{@link xdc.runtime.Timestamp Timestamp}` module.
    25     */
    26    interface ITimestamp inherits xdc.runtime.ITimestampProvider
    27    {
    28         /*!
    29         *  ======== get32 ========
    30         *  Return a 32-bit timestamp
    31         *
    32         *  @a(returns)
    33         *  Returns a 32-bit timestamp value.  
    34         *  Use `{@link #getFreq}` to convert this value into units of real time.
    35         *
    36         *  @see #get64
    37         */
    38        @DirectCall
    39        override Bits32 get32();
    40    
    41        /*!
    42         *  ======== get64 ========
    43         *  Return a 64-bit timestamp
    44         *
    45         *  @param(result)  pointer to 64-bit result
    46         *
    47         *      This parameter is a pointer to a structure representing a 64-bit
    48         *      wide timestamp value where the current timestamp is written.
    49         *
    50         *      If the underlying hardware does not support 64-bit resolution, the
    51         *      `hi` field of `result` is always set to 0; see
    52         *      `{@link xdc.runtime.Types#Timestamp64}`.  So, it is possible for 
    53         *      the `lo` field to wrap around without any change to the `hi` field.
    54         *      Use `{@link #getFreq}` to convert this value into units of real 
    55         *      time.
    56         *
    57         *  @see #get32
    58         */
    59        @DirectCall
    60        override Void get64(xdc.runtime.Types.Timestamp64 *result);
    61        
    62        /*!
    63         *  ======== getFreq ========
    64         *  Get the timestamp timer's frequency (in Hz)
    65         *
    66         *  @param(freq)  pointer to a 64-bit result
    67         *
    68         *      This parameter is a pointer to a structure representing a 64-bit
    69         *      wide frequency value where the timer's frequency (in Hz)
    70         *      is written; see `{@link xdc.runtime.Types#FreqHz}`.
    71         *      This function provides a way of converting timestamp 
    72         *      values into units of real time.
    73         *
    74         *  @see #get32
    75         *  @see #get64
    76         */
    77        @DirectCall
    78        override Void getFreq(xdc.runtime.Types.FreqHz *freq);
    79    }
    80    /*
    81     *  @(#) ti.sysbios.interfaces; 2, 0, 0, 0,452; 2-2-2011 15:07:07; /db/vtree/library/trees/avala/avala-o27x/src/ xlibrary
    82    
    83     */
    84