Portable library for performing I/O