(import (chicken foreign)) #> #include #include #include <# (define-foreign-type time_t "time_t") (define strftime (foreign-lambda size_t "strftime" (c-pointer char) size_t c-string (c-pointer (struct tm))) ) (define gmtime (foreign-lambda (c-pointer (struct tm)) "gmtime" (const (c-pointer unsigned-integer64))) ) (define time (foreign-lambda time_t "time" (c-pointer time_t))) (define-foreign-type time-str "char[1024]") (let-location ((buf0 time-str)) (let* ((t0 (time-get #f)) (z0 (strftime buf0 1024 "%FT%T" (gmtime (location t0)))) ) (if (equal? z0 0) (error "not working") (display buf0) ) (newline) ))