RFC 959 describes the FTP protocol, and a later RFC clears up any discrepancies in its description. Coupled with a good knowledge of the winsock control or winsock API, it is all you need to make the most simple or advanced FTP client you want to.