These are the slides and the example code I used in my FFI lighting talk. Broadly the examples assume a POSIX operating system and the S.M.A.R.T. example assumes Linux but could be ported elsewhere easy enough. Be careful, the examples are arranged to fit on a projector screen more than correctness:)
Simple hello world example
Example passing params to C function
Example using pointers and semi-realistic computation
libc example that gets the current process id
Native code returns pointers to structs containing hard drive diagnostic information (Linux specific)
showoff slides