10 #include <sys/ioctl.h>
16 void doioctl(int ioctlnum, void *vp, unsigned long vpv) {
19 r= ioctl(fd, ioctlnum, vp);
21 fprintf(stderr,"ioctl #%d 0x%lx gave %d %s\n",
22 ioctlnum, vpv, r, strerror(errno));
27 unsigned long number(const char *a) {
33 fprintf(stderr,"bad number `%s'\n",a);
39 static void gettod(struct timeval *now_r) {
41 r= gettimeofday(now_r,0);
42 if (r) { perror("gettimeofday failed"); exit(127); }
45 void usleep_gettod(unsigned long us) {
46 struct timeval start, end, now;
51 ld= ldiv(start.tv_usec + us, 1000000);
52 end.tv_sec= start.tv_sec + ld.quot;
57 } while (timercmp(&now,&end,<));