Metropoli BBS
VIEWER: tapapp.h MODE: TEXT (ASCII)
#ifndef _TAPAPP
#define _TAPAPP
//
// TAPAPP.H
//
// TAP
// File Transfer Data Sharing
// Application Code
// Revision 1.00
//
// 12/28/94
//
#define TAP_APP_VERSION 	"Sample"   // Max 30 chars
#include "tap.h"

typedef struct _TAPINFO
{
	ULONG  ulFlags;
	UCHAR  szFileName[CCHMAXPATH];  // Fully qualified file name
	LONG   lCurrentFileSize;        // Partial current size of the file
	LONG   lCompleteFileSize;       // Size the file will be when complete (-1 if unknown)
} TAPINFO, *PTAPINFO;

typedef struct _TAPAPPINFO
{
	ULONG cb;              // Number of bytes in this structure

	HMTX hAppMutex;		  // Semaphore for controlling access
	HFILE hReadPipe;		  // Pipe write handle
	HFILE hUserFile;       // Handle to shared file

	TID tidTAP;				  // Thread ID of the TAP code
	long lShutdown;		  // True if the TAP code should shut down

	TAPINFO tiCurrent;	  // Current data packet received over the pipe
	TAPINFO tiNext;	 	  // Next data packet received over the pipe

	UCHAR szVersion[32];   // Server version string
	LONG	lVersionAvailable; // True if version recieved from the server

} TAPAPPINFO, *PTAPAPPINFO;

//
// For information on the functions
// prototyped below see TAPAPP.C
//
PTAPAPPENTRY BuildTapAppEntry_TAP(char *szDescription,
                                  char *szProgram,
                                  char *szParams,
                                  PSZ pszExtension[],
                                  ULONG ulNumExtensions);

int RegisterApplication_TAP(char *szAppName,
									 PTAPAPPENTRY pTapAppEntry);

int DeRegisterApplication_TAP(char *szAppName);

int OpenFile_TAP(PTAPAPPINFO pTapAppInfo, PHFILE phFile);

int CloseFile_TAP(PTAPAPPINFO pTapAppInfo, HFILE hFile);

PTAPAPPINFO InitializeApplication_TAP(int argc, char **argv);

int DeInitializeApplication_TAP(PTAPAPPINFO pTapAppInfo);

int NextFile_TAP(PTAPAPPINFO pTapAppInfo);

int MoreData_TAP(PTAPAPPINFO pTapAppInfo);

long QueryStatus_TAP(PTAPAPPINFO pTapAppInfo);

int QueryServerVersion_TAP(PTAPAPPINFO pTapAppInfo,
									char *szVersion,
									ULONG ulBufLen); 

int QueryFileName_TAP(PTAPAPPINFO pTapAppInfo,
								char *szFileName);

long QueryCompleteSize_TAP(PTAPAPPINFO pTapAppInfo);

long QueryCurrentSize_TAP(PTAPAPPINFO pTapAppInfo);

void ApplicationThread_TAP(void *AppInfo);

#endif
[ RETURN TO DIRECTORY ]