An Application layer file transfer protocol like FTP/HTTP with support for upload, download, indexed searching and application level error checking in C.