~ubuntu-branches/ubuntu/lucid/skyeye/lucid-proposed

« back to all changes in this revision

Viewing changes to utils/portable/win32/gettimeofday.c

  • Committer: Bazaar Package Importer
  • Author(s): Yu Guanghui
  • Date: 2007-08-07 13:25:49 UTC
  • mfrom: (1.1.2 upstream) (2.1.1 lenny)
  • Revision ID: james.westby@ubuntu.com-20070807132549-96159k1obat1fxr0
Tags: 1.2.3-1
* New upstream release
* Added NO_BFD=1, don't require libbfd now. (Closes:Bug#423933) 

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
        gettimeofday.c - portable gettimeofday function for skyeye on Win32
 
3
        Copyright (C) 2007 Anthony Lee <don.anthony.lee+program@gmail.com>
 
4
 
 
5
        This program is free software; you can redistribute it and/or modify
 
6
        it under the terms of the GNU General Public License as published by
 
7
        the Free Software Foundation; either version 2 of the License, or
 
8
        (at your option) any later version.
 
9
 
 
10
        This program is distributed in the hope that it will be useful,
 
11
        but WITHOUT ANY WARRANTY; without even the implied warranty of
 
12
        MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 
13
        GNU General Public License for more details.
 
14
 
 
15
        You should have received a copy of the GNU General Public License
 
16
        along with this program; if not, write to the Free Software
 
17
        Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA 
 
18
*/
 
19
 
 
20
/*
 
21
 * 03/03/2007   written by Anthony Lee
 
22
 */
 
23
 
 
24
#include <windows.h>
 
25
#include "utils/portable/gettimeofday.h"
 
26
 
 
27
int gettimeofday(struct timeval *tv, struct timezone *tz)
 
28
{
 
29
        FILETIME CurrentTime;
 
30
        __int64 cur_time;
 
31
 
 
32
        if(tv == NULL || tz != NULL) return -1;
 
33
 
 
34
        GetSystemTimeAsFileTime(&CurrentTime);
 
35
        cur_time = ((__int64)CurrentTime.dwHighDateTime << 32) + (__int64)CurrentTime.dwLowDateTime;
 
36
        cur_time -= 116444736000000000LL;
 
37
        cur_time /= 10LL;
 
38
 
 
39
        tv->tv_sec = (cur_time / 1000000LL);
 
40
        tv->tv_usec = (cur_time % 1000000LL);
 
41
 
 
42
        return 0;
 
43
}
 
44