5 * Created by Arno Bakker, Victor Grishchenko
6 * Copyright 2009 Delft University of Technology. All rights reserved.
17 #include <sys/timeb.h>
18 #include "compat/hirestimeofday.h"
27 static HANDLE map_handles[1024];
30 size_t file_size (int fd) {
36 int file_seek (int fd, size_t offset) {
38 return lseek(fd,offset,SEEK_SET);
40 return _lseek(fd,offset,SEEK_SET);
44 int file_resize (int fd, size_t new_size) {
46 return ftruncate(fd, new_size);
48 return _chsize(fd,new_size);
52 void print_error(const char* msg) {
55 int e = WSAGetLastError();
57 fprintf(stderr,"network error #%u\n",e);
61 void* memory_map (int fd, size_t size) {
66 mapping = mmap (NULL, size, PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0);
67 if (mapping==MAP_FAILED)
71 HANDLE fhandle = (HANDLE)_get_osfhandle(fd);
73 HANDLE maphandle = CreateFileMapping( fhandle,
79 if (maphandle == NULL)
81 map_handles[fd] = maphandle;
83 mapping = MapViewOfFile ( maphandle,
93 void memory_unmap (int fd, void* mapping, size_t size) {
98 UnmapViewOfFile(mapping);
99 CloseHandle(map_handles[fd]);
105 size_t pread(int fildes, void *buf, size_t nbyte, long offset)
107 _lseek(fildes,offset,SEEK_SET);
108 return read(fildes,buf,nbyte);
111 size_t pwrite(int fildes, const void *buf, size_t nbyte, long offset)
113 _lseek(fildes,offset,SEEK_SET);
114 return write(fildes,buf,nbyte);
118 int inet_aton(const char *cp, struct in_addr *inp)
120 inp->S_un.S_addr = inet_addr(cp);
126 HiResTimeOfDay* tod = HiResTimeOfDay::Instance();
127 return tod->getTimeUSec();
136 gettimeofday(&t,NULL);