TABLE OF CONTENTS

f1gp.library/f1gpAllocQuitNotify
f1gp.library/f1gpCalcChecksum
f1gp.library/f1gpDetect
f1gp.library/f1gpFreeQuitNotify
f1gp.library/f1gpAllocQuitNotify             f1gp.library/f1gpAllocQuitNotify

   NAME
	f1gpAllocQuitNotify -- ask to be notified when F1GP quits.

   SYNOPSIS
	handle = f1gpAllocQuitNotify( task, signal )
	D0                            A0    D0

	APTR f1gpAllocQuitNotify( struct Task *, ULONG );

   FUNCTION
	This function allows a task to be notified when F1GP quits.  When
	F1GP quits the 2 parameters are passed directly to Exec Signal(),
	allowing the calling task to pick up the singal on its port using
	Exec Wait().  This can be used to allow programs to quit as soon
	as F1GP quits, remove patches, etc.

	A single task should only call this function once, usually during
        initialization.  It DOES NOT require that F1GP is in memory.

	This call MUST be matched with a call to f1gpFreeQuitNotify(),
	typically just before the calling task exits.

   INPUTS
	task   - pointer to a task, which is usually the calling task
		 (ie FindTask(NULL)).
	signal - signal to be sent to the task.

   RESULTS
	handle - a pointer to an internal structure if successful,
		 otherwise NULL.

   SEE ALSO
	f1gpFreeQuitNotify()

f1gp.library/f1gpCalcChecksum                   f1gp.library/f1gpCalcChecksum

   NAME
	f1gpCalcChecksum -- Compute a standard F1GP file checksum. (V35)

   SYNOPSIS
	checksum = f1gpCalcChecksum( data, datasize )
	D0                           A0    D0

	ULONG f1gpCalcChecksum( UBYTE *, ULONG );

   FUNCTION
	If you intend to alter any of F1GP's files (eg track files), you
	will need to rewrite the 4 byte checksum also (last 4 bytes of file).
	This function calculates the correct checksum from the given input
	data and returns it as a ULONG.
	
   INPUTS
	data     - a pointer to the array of bytes which you intend to save.
	datasize - the size of the data array (in bytes), NOT including the
                   checksum space (4 bytes).

   RESULTS
	checksum - the 4 byte checksum that is usually located at the end
		   of F1GP's files (ie the last 4 bytes).

f1gp.library/f1gpDetect                               f1gp.library/f1gpDetect

   NAME
	f1gpDetect -- Inquire whether F1GP is running in memory.

   SYNOPSIS
	type = f1gpDetect();
	D0

	LONG f1gpDetect( void );

   FUNCTION
	This function scans the Exec task lists to determine whether F1GP
	is currently running in memory.  If F1GP is resident then the type
	is returned and HunkStart, Seg1, Seg3 in the F1GPBase structure
	will be updated.  The type is also stored in the F1GPType field
	in the F1GPBase structure.

	Each time this function is called the priority of F1GP is set to
	-100, to stop it hogging processor time.

   RESULTS
	type -	if F1GP was detected in memory, this will be indicate
		what version of F1GP it is.  This will be one of
		F1GPTYPE_STANDARD, F1GPTYPE_WC or F1GPTYPE_A600WWW.
		If not detected, the value will be 0.

f1gp.library/f1gpFreeQuitNotify               f1gp.library/f1gpFreeQuitNotify

   NAME
	f1gpFreeQuitNotify -- Free memory after f1gpAllocQuitNotify().

   SYNOPSIS
	f1gpFreeQuitNotify( handle )
	                    A0

	void f1gpFreeQuitNotify( APTR );

   FUNCTION
	Frees memory allocated by a call to f1gpAllocQuitNotify(), which
	also means the calling task will no longer be notified when F1GP
        quits.  The pointer passed in MUST have been obtained by
        f1gpAllocQuitNotify().

	If NULL is passed in this function does nothing.

   INPUTS
	handle - pointer returned from f1gpAllocQuitNotify() or NULL.

   SEE ALSO
	f1gpAllocQuitNotify()


