:pserver:cvsanon@mok.lvcm.com:/CVS/ReactOS reactos
[reactos.git] / lib / msvcrt / time / clock.c
1 /*
2  * COPYRIGHT:   See COPYING in the top level directory
3  * PROJECT:     ReactOS system libraries
4  * FILE:        lib/msvcrt/time/clock.c
5  * PURPOSE:     Get elapsed time
6  * PROGRAMER:   Boudewijn Dekker
7  * UPDATE HISTORY:
8  *              28/12/98: Created
9  */
10
11 #include <windows.h>
12 #include <msvcrt/time.h>
13 #include <msvcrt/internal/file.h>
14
15 VOID STDCALL GetSystemTimeAsFileTime(LPFILETIME  lpSystemTimeAsFileTime );
16
17 clock_t clock ( void )
18 {
19   FILETIME CreationTime;
20   FILETIME ExitTime;
21   FILETIME KernelTime;
22   FILETIME UserTime;
23   DWORD Remainder;
24
25   if (!GetProcessTimes(GetCurrentProcess(),&CreationTime,&ExitTime,&KernelTime,&UserTime))
26     return -1;
27
28   return FileTimeToUnixTime(&KernelTime,&Remainder) + FileTimeToUnixTime(&UserTime,&Remainder);
29 }