At the beginning of the FAT library I had this idea of IO control block. I already used control blocks to control the access to the SD-Card and the core SD-Card read/write routines. Here you can read about the various control blocks used for the SD-Card and File IO routines
The FAT library in fact consists of a collection of functions. They can be looked as primitives to access a FAT volume. Currently the library only supports FAT-16 and FAT-32 formatted partitions.