Standard TAP Specification Revision 1.1 May 15, 1995 Okay, we've gone through a revision and now there's also a sample server application. Things look good, and PMView works wonderfully with LiveWire. Thanks to Peter Nielsen for all his help, input, and expertise. Les Novell DataMirage Software --- January 5, 1995 This is the first attempt at a standard TAP specification on the OS/2 32-bit platform. This specification is intended to allow separate processes access to file data while a file is being transferred. This specification is limited because it does not allow distributed processes to share a single file. Files in this package: TAP.DOC This document TAP.H Shared TAP header file TAPAPP.C TAP Application API code TAPAPP.H TAP Application API header file TAPSERVE.C TAP Server API code TAPSERVE.H TAP Server API header file TAPSERVE.RC TAP Server resources TAPRES.H TAP Server resources header file TAPSAMP.C TAP Application Sample code To compile the sample TAP Application you'll need to make a project that includes TAPSAMP.C and TAPAPP.C with dependencies TAP.H and TAPAPP.H. For help writing a TAP Server please contact Les Novell on CompUServe ID 73631,1233 or from the internet write 73631.1233@compuserve.com. Brief description of methodology: ================================= A TAP Server is a single process which mediates access to a file or files. The TAP Server has both write and read access to shared file data. The TAP Application(s) is a process that has read access to file data and whose access is in some ways restricted by the TAP Server. These processes will be referred to as Server and Application, respectively. At any time during a file transfer the Server may choose to start one or more Applications. Each application will be passed a command line parameter /TAP= where is the name of the pipe. The Server will pass the following file data down the pipe every time the length of the file is increased or one of the flags changes: FULLY QUALIFIED FILE NAME SERVER VERSION STRING CURRENT FILE SIZE COMPLETE FILE SIZE FLAGS EMERGENCY CLOSE END OF FILE BEGINNING OF FILE END OF BATCH CANCEL The Application opens and receives the pipe information continuously in a secondary thread while the Application's primary thread opens the file for shared reading. The primary thread reads and processes from the file in a standard way until the transfer is complete. If another file is in the transfer batch the Application should open it and continue processing until the end of batch condition.