+cl-uffi (1.3.3-1) unstable; urgency=low
+
+ * Add gettimeofday to tests
+
+ -- Kevin M. Rosenberg <kmr@debian.org> Sat, 23 Aug 2003 06:36:28 -0600
+
cl-uffi (1.3.2-1) unstable; urgency=low
* Patch from Edi Weitz
;;;; Author: Kevin M. Rosenberg
;;;; Date Started: Feb 2002
;;;;
-;;;; $Id: time.lisp,v 1.2 2003/08/13 18:53:42 kevin Exp $
+;;;; $Id: time.lisp,v 1.3 2003/08/23 12:36:59 kevin Exp $
;;;;
;;;; This file, part of UFFI, is Copyright (c) 2002 by Kevin M. Rosenberg
;;;;
1 1 1970 2 3 1)
-
+(uffi:def-struct timeval
+ (secs :long)
+ (usecs :long))
+(uffi:def-struct timezone
+ (minutes-west :int)
+ (dsttime :int))
+(uffi:def-function ("gettimeofday" c-gettimeofday)
+ ((tv (* timeval))
+ (tz (* timezone)))
+ :returning :int)
+
+(defun get-utime ()
+ (uffi:with-foreign-object (tv 'timeval)
+ (let ((res (c-gettimeofday tv (uffi:make-null-pointer 'timezone))))
+ (values
+ (+ (* 1000000 (uffi:get-slot-value tv 'timeval 'secs))
+ (uffi:get-slot-value tv 'timeval 'usecs))
+ res))))
+(deftest timeofday.1
+ (multiple-value-bind (t1 res1) (get-utime)
+ (multiple-value-bind (t2 res2) (get-utime)
+ (and (or (= t2 t1) (> t2 t1))
+ (> t1 1000000000)
+ (> t2 1000000000)
+ (zerop res1)
+ (zerop res2))))
+ t)
+