diff options
author | Patrick Williams <iawillia@us.ibm.com> | 2012-05-11 13:53:11 -0500 |
---|---|---|
committer | A. Patrick Williams III <iawillia@us.ibm.com> | 2012-05-21 09:44:55 -0500 |
commit | f4161d714e3e9de684610e35f6dd42c3a2cabc94 (patch) | |
tree | 1a3b0fc6e9a11520e302d29558a63cf97cb41c51 /src/include/time.h | |
parent | 70961ee3265e37813c4fb89dfd7a5660ae4b189a (diff) | |
download | talos-hostboot-f4161d714e3e9de684610e35f6dd42c3a2cabc94.tar.gz talos-hostboot-f4161d714e3e9de684610e35f6dd42c3a2cabc94.zip |
Support for POSIX clock_gettime function.
Change-Id: I004772e9005ce08d72d666a9b4073afd7b74e582
RTC: 41635
Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/1053
Tested-by: Jenkins Server
Reviewed-by: Douglas R. Gilbert <dgilbert@us.ibm.com>
Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/include/time.h')
-rw-r--r-- | src/include/time.h | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/src/include/time.h b/src/include/time.h new file mode 100644 index 000000000..cc3a9e4bf --- /dev/null +++ b/src/include/time.h @@ -0,0 +1,61 @@ +// IBM_PROLOG_BEGIN_TAG +// This is an automatically generated prolog. +// +// $Source: src/include/time.h $ +// +// IBM CONFIDENTIAL +// +// COPYRIGHT International Business Machines Corp. 2012 +// +// p1 +// +// Object Code Only (OCO) source materials +// Licensed Internal Code Source Materials +// IBM HostBoot Licensed Internal Code +// +// The source code for this program is not published or other- +// wise divested of its trade secrets, irrespective of what has +// been deposited with the U.S. Copyright Office. +// +// Origin: 30 +// +// IBM_PROLOG_END +#ifndef __TIME_H +#define __TIME_H + +#include <stdint.h> + +// POSIX structure for time (sec / nsec pairs). +struct timespec +{ + uint64_t tv_sec; + uint64_t tv_nsec; +}; +typedef struct timespec timespec_t; + +// POSIX clock IDs. +typedef enum +{ + CLOCK_REALTIME = 0, + CLOCK_MONOTONIC = 1 +} clockid_t; + +/** @fn clock_gettime + * @brief Reads the clock value from a POSIX clock. + * + * @note Currently, we only support CLOCK_MONOTONIC. + * CLOCK_REALTIME requires synchronization of the timebase with the FSP + * RTC. + * + * @param[in] clk_id - The clock ID to read. + * @param[out] tp - The timespec struct to store the clock value in. + * + * @return 0 or -(errno). + * @retval 0 - SUCCESS. + * @retval -EINVAL - Invalid clock requested. + * @retval -EFAULT - NULL ptr given for timespec struct. + * + */ +int clock_gettime(clockid_t clk_id, timespec_t* tp); + +#endif |