(bind-func toString
"specialised toString function for apr_finfo*"
(lambda (finfo:apr_finfo_t*)
(let ((str:i8* (salloc 256)))
(if (null? finfo)
(sprintf str "<apr_finfo 0x0>")
(sprintf str "<apr_finfo %p
pool : %p
valid fields : %d
access permissions : %d
filetype : %d
user ID : %d
group ID : %d
inode : %lld
device : %lld
hard links : %d
size : %lld
csize : %lld
atime : %lld
mtime : %lld
ctime : %lld
pathname : %s
filename : %s
>"
finfo
(tref finfo 0)
(tref finfo 1)
(tref finfo 2)
(tref finfo 3)
(tref finfo 4)
(tref finfo 5)
(tref finfo 6)
(tref finfo 7)
(tref finfo 8)
(tref finfo 9)
(tref finfo 10)
(tref finfo 11)
(tref finfo 12)
(tref finfo 13)
(tref finfo 14)
(tref finfo 15)))
(Str str))))