>Are there any caveats?
:long may be not of a mahine word size on windows, for example.
CFFI, unfortunatly, does not have a :size-t or similiar type at the moment.

But, using trivial-features library(which is already used by cffi), on x86[-64] platform you could define it like this:
(defctype :size-t #+x86-64 :uint64 #+x86 :uint32)
have no idea about other platforms, however