#include <unistd.h>
#include <fcntl.h>
+#include <time.h>
#include "harness.h"
#include "internal.h"
static vbuf vbw;
int Hgettimeofday(struct timeval *tv, struct timezone *tz) {
- Tensurerecordfile();
+ Tensuresetup();
Tmust("gettimeofday","tz",!tz);
+ T_gettimeofday_hook();
*tv= currenttime;
return 0;
}
+int Hclock_gettime(clockid_t clk, struct timespec *ts) {
+ Tensuresetup();
+ ts->tv_sec = currenttime.tv_sec;
+ ts->tv_nsec = currenttime.tv_usec * 1000 + 666;
+ switch (clk) {
+ case CLOCK_MONOTONIC: ts->tv_sec -= 1500000000; break;
+ case CLOCK_REALTIME: break;
+ default: Tmust("clock_gettime","clk",0);
+ }
+ return 0;
+}
int Hwritev(int fd, const struct iovec *vector, size_t count) {
size_t i;
m4_include(`hsyscalls.i4')
+hm_stdsyscall_close
+
void Tvbaddr(const struct sockaddr *addr, int len) {
char buf[ADNS_ADDR2TEXT_BUFLEN];
int err, port;
}
void Hexit(int rv) {
+ Tensuresetup();
vb.used= 0;
Tvbf("exit %d", rv);
Q_vb();