There is an optional QFAX THING (you need to have loaded HOT_REXT on QDOS systems) that maintains a list of the full path name and time stamp for received fax. The number of entries is definable when the THING in loaded. The default list size is 20. Once the number of entries reaches the list size, old entries are replaced. qfv has a menu option 'Review' that displays the THING list (file name and time), a fax may be 'picked' from this list for display and print.
The THING list may be saved as a file and reloaded when the system is rebooted.
qfax will maintain the list for fax received without error. A workaround is provided that may add similar functionality for LFAX users without necessarily requiring a new version of LFAX.
The 'qfaxthing' program installs, loads, saves and removes the QFAX THING. It takes the following options.
The load command installs the QFAX THING and initialises its data structures.
ex qfaxthing;'load [ListSize] [SavedData]'
Running 'qfaxthing' with the command 'load' takes two optional arguments, the number of entries in the list table and an existing 'saved THING list' file to load the THING with data. If both arguments are given, they must be in the order specified.
examples: ex qfaxthing;'load 40 flp2_arrivals_dat' ; from saved file, 40 entries ex qfaxthing;'load 16' ; blank, 16 entries ex qfaxthing;'load win1_inbound_dat' ; from file, entries as file ex qfaxthing;'load' ; blank, default (20) entries
The QFAX THING is not recognised by ANY QFAX programs unless you have first run 'qfaxthing;"load"'. The QFAX THING should not be loaded when qfaxthing is run. The QFAX THING maybe 'preloaded' from your existing received fax files using the 'LoadNT' program. See section LoadNT.
The 'kill' command removes the QFAX THING from the system
ex qfaxthing;'kill'
The 'Save' command saves the content of the QFAX THING to a file
ex qfaxthing;'save filename' example: ex qfaxthing;'save win1_inbound_dat'
The usage of the QFAX THING within the QFAX transport program 'qfax' is defined by the additional QFAX_DAT key.
SAVETHING = filename
Where SAVETHING defines the name of the THING save file. If this entry is defined, then 'qfax' will save the THING data to the file every time the THING is updated (i.e. after a fax is received). If SAVETHING is not defined, then the THING is still updated but the data is not saved to a file.
Note that the 'qfaxthing' program does not use this QFAX_DAT key; this is to minimise the overhead when 'qfaxthing' is run as part of a BOOT file.
So, if in your BOOT file you have
ew qfaxthing;'load win1_faxdata_arrivals_dat' you may wish to define SAVETHING = win1_faxdata_arrivals_dat
in QFAX_DAT to ensure the latest inbound fax information survives a system crash or otherwise unexpected shutdown.
I am not aware of the degree of support (if any) for QFAX Thing in the LFAX transport program. The FLOG utility is provided to give access to the QFAX Thing if the transport program does not.
A utility FLOG is provided (FLOG stands for FaxLOG).
FLOG may be run as the 'RXJOB' by LFAX after a fax is received. When FLOG has updated the QFAX THING, it can save the QFAX THING data and then run an (optional) user defined command.
ex FLOG;'-f path [-s savefile] [user_command]' where path is the name of the received fax file savefile is the name of a THING save file rest of line is a user command
For example:
Putting the following line in an LFAX_CGF file may update the QFAX THING and save the THING data before printing the fax. LFAX users should check the syntax with the LFAX manual, I do not have a copy of this.
RXJOB = FLOG JOBCMD = -swin1_faxdata_arrivals_dat%s-f%f%sprintfax%s-c9%s%f
Note that the timestamp in the QFAX THING will be the time that FLOG is run, not the time when the fax was received, but for practical purposes should be close enough.
A file, `flog.c.zip' is available. This file defines the structure of the QFAX THING and provides example 'C' code for updating QFAX THING data and saving THING data to a file.
QFAX users will find FLOG'ing futile (and double entries in the THING).
The program "LoadNT" (NT = Nice Thing) will scan your existing received faxes and create a QFAX THING containing the last 20 received fax. The QFAX THING must *not* exist for this. You supply name of your top level inbound directory, the fax files MUST have the suffix '_fax'. If you had, for example, used SUFFIX=G3, then you will find you are truly stuffixed and will have to endure a good FLOG'ing to load your existing fax.
Assuming that my inbound fax dir is flp2_ then
EW qfaxthing;'kill' : REM ensure noTHING exists EW loadNT;'flp2_' : REM Make the list (this will also search sub-dirs) EW qfaxthing;'save myfax_thg' : REM Save it EX qfaxview : REM View some THING
If, for example, you have inbound fax in win1_infax_ (and sub-directories thereof), then:
EW loadNT;'win1_infax_'
would be appropriate.
Note that this process may take some time if you have a large fax database. LoadNT displays the sub-directories found, your top twenty and some search statistics.
qfaxview
displays the contents of a fax thing in a scrollable PTR
window. HITing or DOing an entry will result in the file name being
STUFFED in the hot key 'stuffer buffer'. The freeeware *BASIC extension
"GetStuffed" may be used to return data from the STUFFER buffer to a
user *BASIC program.
I have included an example, example_thg, of a saved thing. If you are curious to see who faxes me (and incidentally if this works, then):
EW qfaxthing;'kill' : REM ensure noTHING exists EW qfaxthing;'load example_thg' : REM Load it EW qfaxview : REM View some THING a$ = GetStuffed : REM stuffed data EW qfaxthing;'kill' : REM ensure noTHING exists