Back to home page

LXR

 
 

    


File indexing completed on 2025-05-11 08:24:13

0001 /* SPDX-License-Identifier: BSD-2-Clause */
0002 
0003 /**
0004  * @file
0005  *
0006  * @ingroup RTEMSScoreTimestamp
0007  *
0008  * @brief This header file provides interfaces of the
0009  *   @ref RTEMSScoreTimestamp which are used by the implementation and the
0010  *   @ref RTEMSImplApplConfig.
0011  */
0012 
0013 /*
0014  *  COPYRIGHT (c) 1989-2009.
0015  *  On-Line Applications Research Corporation (OAR).
0016  *
0017  * Redistribution and use in source and binary forms, with or without
0018  * modification, are permitted provided that the following conditions
0019  * are met:
0020  * 1. Redistributions of source code must retain the above copyright
0021  *    notice, this list of conditions and the following disclaimer.
0022  * 2. Redistributions in binary form must reproduce the above copyright
0023  *    notice, this list of conditions and the following disclaimer in the
0024  *    documentation and/or other materials provided with the distribution.
0025  *
0026  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
0027  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
0028  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
0029  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
0030  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
0031  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
0032  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
0033  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
0034  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
0035  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
0036  * POSSIBILITY OF SUCH DAMAGE.
0037  */
0038 
0039 #ifndef _RTEMS_SCORE_TIMESTAMP_H
0040 #define _RTEMS_SCORE_TIMESTAMP_H
0041 
0042 /**
0043  * @defgroup RTEMSScoreTimestamp Timestamp Handler
0044  *
0045  * @ingroup RTEMSScore
0046  *
0047  * @brief This group contains the Timestamp Handler implementation.
0048  *
0049  * This handler encapsulates functionality related to manipulating
0050  * SuperCore Timestamps.  SuperCore Timestamps may be used to
0051  * represent time of day, uptime, or intervals.
0052  *
0053  * The key attribute of the SuperCore Timestamp handler is that it
0054  * is a completely opaque handler.  There can be multiple implementations
0055  * of the required functionality and with a recompile, RTEMS can use
0056  * any implementation.  It is intended to be a simple wrapper.
0057  *
0058  * This handler can be implemented as either struct timespec or
0059  * unsigned64 bit numbers.  The use of a wrapper class allows the
0060  * the implementation of timestamps to change on a per architecture
0061  * basis.  This is an important option as the performance of this
0062  * handler is critical.
0063  *
0064  * @{
0065  */
0066 
0067 #include <rtems/score/timespec.h>
0068 
0069 #ifdef __cplusplus
0070 extern "C" {
0071 #endif
0072 
0073 /**
0074  *   Define the Timestamp control type.
0075  */
0076 typedef int64_t Timestamp_Control;
0077 
0078 #ifdef __cplusplus
0079 }
0080 #endif
0081 
0082 /** @} */
0083 
0084 #endif
0085 /* end of include file */