time-os2.cpp revision e86794d5ed13ea3053cb8f12be80630236ef2943
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk/* $Id$ */
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk/** @file
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * InnoTek Portable Runtime - Time, POSIX.
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk */
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk/*
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * Copyright (c) 2007 knut st. osmundsen <bird-src-spam@anduin.net>
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk *
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * Permission is hereby granted, free of charge, to any person
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * obtaining a copy of this software and associated documentation
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * files (the "Software"), to deal in the Software without
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * restriction, including without limitation the rights to use,
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * copy, modify, merge, publish, distribute, sublicense, and/or sell
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * copies of the Software, and to permit persons to whom the
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * Software is furnished to do so, subject to the following
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * conditions:
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk *
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * The above copyright notice and this permission notice shall be
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * included in all copies or substantial portions of the Software.
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk *
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * OTHER DEALINGS IN THE SOFTWARE.
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk */
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk/*******************************************************************************
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk* Header Files *
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk*******************************************************************************/
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk#define LOG_GROUP RTLOGGROUP_TIME
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk#include <InnoTekLIBC/FastInfoBlocks.h>
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk#include <iprt/time.h>
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk#include "internal/time.h"
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk/** @todo mscount will roll over after ~48 days. */
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenkRTDECL(uint64_t) RTTimeSystemNanoTS(void)
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk{
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk return fibGetMsCount() * UINT64_C(10000000);
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk}
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenkRTDECL(uint64_t) RTTimeSystemMilliTS(void)
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk{
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk return fibGetMsCount();
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk}
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk