move FileTimeToTime from sigar_os.h to win32_sigar.c
This commit is contained in:
		
							parent
							
								
									31dcf1bc48
								
							
						
					
					
						commit
						35a3672c31
					
				@ -45,17 +45,6 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
#define SIGAR_CMDLINE_MAX 4096
 | 
					#define SIGAR_CMDLINE_MAX 4096
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static __inline sigar_uint64_t FileTimeToTime(FILETIME *ft)
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
    sigar_uint64_t time;
 | 
					 | 
				
			||||||
    time = ft->dwHighDateTime;
 | 
					 | 
				
			||||||
    time = time << 32;
 | 
					 | 
				
			||||||
    time |= ft->dwLowDateTime;
 | 
					 | 
				
			||||||
    time /= 10;
 | 
					 | 
				
			||||||
    time -= EPOCH_DELTA;
 | 
					 | 
				
			||||||
    return time;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/* XXX: support CP_UTF8 ? */
 | 
					/* XXX: support CP_UTF8 ? */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define SIGAR_A2W(lpa, lpw, bytes) \
 | 
					#define SIGAR_A2W(lpa, lpw, bytes) \
 | 
				
			||||||
@ -569,6 +558,8 @@ struct sigar_t {
 | 
				
			|||||||
extern "C" {
 | 
					extern "C" {
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					sigar_uint64_t sigar_FileTimeToTime(FILETIME *ft);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
int sigar_wsa_init(sigar_t *sigar);
 | 
					int sigar_wsa_init(sigar_t *sigar);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
int sigar_proc_exe_peb_get(sigar_t *sigar, HANDLE proc,
 | 
					int sigar_proc_exe_peb_get(sigar_t *sigar, HANDLE proc,
 | 
				
			||||||
 | 
				
			|||||||
@ -122,6 +122,17 @@ typedef enum {
 | 
				
			|||||||
#define MS_LOOPBACK_ADAPTER "Microsoft Loopback Adapter"
 | 
					#define MS_LOOPBACK_ADAPTER "Microsoft Loopback Adapter"
 | 
				
			||||||
#define NETIF_LA "la"
 | 
					#define NETIF_LA "la"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					sigar_uint64_t sigar_FileTimeToTime(FILETIME *ft)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    sigar_uint64_t time;
 | 
				
			||||||
 | 
					    time = ft->dwHighDateTime;
 | 
				
			||||||
 | 
					    time = time << 32;
 | 
				
			||||||
 | 
					    time |= ft->dwLowDateTime;
 | 
				
			||||||
 | 
					    time /= 10;
 | 
				
			||||||
 | 
					    time -= EPOCH_DELTA;
 | 
				
			||||||
 | 
					    return time;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static DWORD perfbuf_init(sigar_t *sigar)
 | 
					static DWORD perfbuf_init(sigar_t *sigar)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    if (!sigar->perfbuf) {
 | 
					    if (!sigar->perfbuf) {
 | 
				
			||||||
@ -1244,7 +1255,8 @@ SIGAR_DECLARE(int) sigar_proc_time_get(sigar_t *sigar, sigar_pid_t pid,
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (start_time.dwHighDateTime) {
 | 
					    if (start_time.dwHighDateTime) {
 | 
				
			||||||
        proctime->start_time = FileTimeToTime(&start_time) / 1000;
 | 
					        proctime->start_time =
 | 
				
			||||||
 | 
					            sigar_FileTimeToTime(&start_time) / 1000;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    else {
 | 
					    else {
 | 
				
			||||||
        proctime->start_time = 0;
 | 
					        proctime->start_time = 0;
 | 
				
			||||||
@ -3126,7 +3138,7 @@ static int get_logon_info(HKEY users,
 | 
				
			|||||||
    
 | 
					    
 | 
				
			||||||
    if (status == ERROR_SUCCESS) {
 | 
					    if (status == ERROR_SUCCESS) {
 | 
				
			||||||
        FileTimeToLocalFileTime(&wtime, &wtime);
 | 
					        FileTimeToLocalFileTime(&wtime, &wtime);
 | 
				
			||||||
        who->time = FileTimeToTime(&wtime) / 1000000;
 | 
					        who->time = sigar_FileTimeToTime(&wtime) / 1000000;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    size = sizeof(value);
 | 
					    size = sizeof(value);
 | 
				
			||||||
@ -3334,7 +3346,7 @@ static int sigar_who_wts(sigar_t *sigar,
 | 
				
			|||||||
                                             &bytes))
 | 
					                                             &bytes))
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            who->time =
 | 
					            who->time =
 | 
				
			||||||
                FileTimeToTime(&station_info.ConnectTime) / 1000000;
 | 
					                sigar_FileTimeToTime(&station_info.ConnectTime) / 1000000;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        else {
 | 
					        else {
 | 
				
			||||||
            who->time = 0;
 | 
					            who->time = 0;
 | 
				
			||||||
 | 
				
			|||||||
@ -67,7 +67,10 @@
 | 
				
			|||||||
    memset(s, '\0', sizeof(*(s)))
 | 
					    memset(s, '\0', sizeof(*(s)))
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifndef WIN32
 | 
					#ifdef WIN32
 | 
				
			||||||
 | 
					#include <windows.h>
 | 
				
			||||||
 | 
					sigar_uint64_t sigar_FileTimeToTime(FILETIME *ft);
 | 
				
			||||||
 | 
					#else
 | 
				
			||||||
#include <string.h>
 | 
					#include <string.h>
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -192,9 +195,9 @@ static void fillin_fileattrs(sigar_file_attrs_t *finfo,
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
    DWORD *sizes = &wininfo->nFileSizeHigh;
 | 
					    DWORD *sizes = &wininfo->nFileSizeHigh;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    finfo->atime = FileTimeToTime(&wininfo->ftLastAccessTime) / 1000;
 | 
					    finfo->atime = sigar_FileTimeToTime(&wininfo->ftLastAccessTime) / 1000;
 | 
				
			||||||
    finfo->ctime = FileTimeToTime(&wininfo->ftCreationTime) / 1000;
 | 
					    finfo->ctime = sigar_FileTimeToTime(&wininfo->ftCreationTime) / 1000;
 | 
				
			||||||
    finfo->mtime = FileTimeToTime(&wininfo->ftLastWriteTime) / 1000;
 | 
					    finfo->mtime = sigar_FileTimeToTime(&wininfo->ftLastWriteTime) / 1000;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    finfo->size = (sigar_uint64_t)sizes[1];
 | 
					    finfo->size = (sigar_uint64_t)sizes[1];
 | 
				
			||||||
    if (finfo->size < 0 || sizes[0]) {
 | 
					    if (finfo->size < 0 || sizes[0]) {
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user